如何从 Sublime 编译 Postgresql (pl/pgsql) 函数?

How Can I Compile Postgresql (pl/pgsql) Functions from Sublime?

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

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

{
  "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 函数编译到您的数据库中!请注意,常规 SQL 现在也可以针对您的 Postgresql 数据库 运行。

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

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

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

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

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

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

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

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