【问题标题】:How Can I Compile Postgresql (pl/pgsql) Functions from Sublime?如何从 Sublime 编译 Postgresql (pl/pgsql) 函数?
【发布时间】:2015-10-29 19:32:51
【问题描述】:

有没有办法在 Sublime Text 2 中编译 pl/psql 函数?

【问题讨论】:

    标签: postgresql sublimetext2 plpgsql sublime-build


    【解决方案1】:

    使用此命令添加新的构建系统文件并保存。

    {
    "cmd": ["psql", "-d", "your-database name",
    "-U", "postgres", 
    "-f", "$file"],
    "word_wrap": "false"
    }
    

    【讨论】:

      【解决方案2】:

      我实际上刚刚发布了一个插件(称为DB1),它允许您这样做。您可以动态连接到 PostgreSQL 或 MySQL 数据库并对其执行查询和函数(我也在添加更多数据库)。关于它的一个很酷的部分是它不需要您在计算机上安装任何东西(除了 Sublime Text)。

      你所要做的就是通过包控制install DB1,然后在视图中你可以运行命令DB1: Connect来连接你的数据库。然后,您可以通过 DB1: Execute 命令之一在该视图中执行 sql。

      您也可以只打开 PSQL 函数(如果将其保存在文件中)并执行整个文件。

      要了解它的工作原理,您可以查看DB1 Website 或documentation。如果您对此有任何疑问,请告诉我!

      【讨论】:

      • 我安装了 DB1,当我尝试连接到我的数据库时,它似乎使用我的用户名作为数据库名。我选择新连接>postgreSQL,然后输入连接字符串:dgrosskopf@servername-1:5432/mydb 然后给我错误:“致命:数据库“dgrosskopf”不存在”我做错了什么?
      • 嘿丹尼尔! DB1 实际上不支持/mydb 语法,尽管这是我想做的事情。如果您只是输入dgrosskopf@servername-1:5432,DB1 将提示您提供可供选择的数据库列表。另外,如果你只是使用默认端口,那么你真的只需要输入dgrosskopf@servername。
      • 我刚刚尝试了这两个选项,但它仍然给我同样的“dgrosskopf”数据库不存在错误。
      • 您能否尝试导航到"Preferences" > "Package Settings" > "DB1" > "Settings - User" 并检查是否有存储的dgrosskopf@servername-1 连接设置?您要寻找的是连接设置中的“数据库”键。我已经尝试重现您所描述的错误,但我完全不能。您可以像这样设置数据库的唯一地方是在设置中,所以我认为该设置可能已经在那里。另外,这是postgresql,对吗?
      • 我猜这可能是因为没有回复而成功,但如果您遇到任何其他问题,请发送至 support@sequoiastudios.io。
      【解决方案3】:

      是的,你可以。为了使此答案起作用,您的网络用户必须有权访问数据库。这样做的方法是在 Sublime 中为 postgresql 创建一个新的构建系统。您可以通过单击工具>构建系统>新构建系统...来执行此操作,然后将默认构建文本替换为:

      {
        "path": "C:/Program Files (x86)/pgAdmin III/1.20/",
        "cmd": ["psql.exe", "-f", "$file", "postgresql://db-staging-1:5432/mydbname"],
        "selector": "source.postgresql",
        "shell": true
      }
      

      路径: 这应该是您的 psql.exe 可执行文件的位置。请注意,如果此路径在您的环境变量路径中,则此行是不必要的。

      CMD: 这是将从命令行运行的内容。我也在这里包含了我的连接信息。您需要将其替换为数据库的服务器路径和端口号。请注意,如果您在运行构建时遇到问题,调试实际尝试运行的内容的最简单方法是在此行的前面添加 echo:

       "cmd": ["echo", "psql.exe", "-f", "$file", "postgresql://db-staging-1:5432/mydbname"],
      

      现在,您的构建输出将完全是它试图在命令行上运行的内容。如果它在此处输出的内容在您的命令行上不起作用,那么您需要将其更改为可以使用的内容。

      选择器:这设置了 postgresql 文件的默认构建。

      Shell:将命令视为 shell 脚本。

      现在您可以在工具>构建系统下选择您的构建为 postgresql。之后,一个简单的 Ctrl+B 会将 pl/pgsql 函数编译到您的数据库中!请注意,现在也可以针对您的 Postgresql 数据库运行常规 SQL。

      如果您经常同时与多个数据库进行交互,请参阅这篇文章作为设置与多个数据库的连接的良好参考:How to make build system for PostgreSQL

      其他 Sublime 文本构建选项可以在这里找到:http://sublimetext.info/docs/en/reference/build_systems.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-01
        • 2013-06-19
        • 2012-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多