【发布时间】:2015-10-29 19:32:51
【问题描述】:
有没有办法在 Sublime Text 2 中编译 pl/psql 函数?
【问题讨论】:
标签: postgresql sublimetext2 plpgsql sublime-build
有没有办法在 Sublime Text 2 中编译 pl/psql 函数?
【问题讨论】:
标签: postgresql sublimetext2 plpgsql sublime-build
使用此命令添加新的构建系统文件并保存。
{
"cmd": ["psql", "-d", "your-database name",
"-U", "postgres",
"-f", "$file"],
"word_wrap": "false"
}
【讨论】:
我实际上刚刚发布了一个插件(称为DB1),它允许您这样做。您可以动态连接到 PostgreSQL 或 MySQL 数据库并对其执行查询和函数(我也在添加更多数据库)。关于它的一个很酷的部分是它不需要您在计算机上安装任何东西(除了 Sublime Text)。
你所要做的就是通过包控制install DB1,然后在视图中你可以运行命令DB1: Connect来连接你的数据库。然后,您可以通过 DB1: Execute 命令之一在该视图中执行 sql。
您也可以只打开 PSQL 函数(如果将其保存在文件中)并执行整个文件。
要了解它的工作原理,您可以查看DB1 Website 或documentation。如果您对此有任何疑问,请告诉我!
【讨论】:
/mydb 语法,尽管这是我想做的事情。如果您只是输入dgrosskopf@servername-1:5432,DB1 将提示您提供可供选择的数据库列表。另外,如果你只是使用默认端口,那么你真的只需要输入dgrosskopf@servername。
"Preferences" > "Package Settings" > "DB1" > "Settings - User" 并检查是否有存储的dgrosskopf@servername-1 连接设置?您要寻找的是连接设置中的“数据库”键。我已经尝试重现您所描述的错误,但我完全不能。您可以像这样设置数据库的唯一地方是在设置中,所以我认为该设置可能已经在那里。另外,这是postgresql,对吗?
是的,你可以。为了使此答案起作用,您的网络用户必须有权访问数据库。这样做的方法是在 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
【讨论】: