我正在慢慢地从MSSQL迁移到PostgreSQL。
在MSSQL中,我可以调用已保存的过程或函数,管理shell(SQL Server Management Studio)显示了过程的文本,因此我不必将其源代码存储在文本文件中。
如何以便捷的方式使用PostgreSQL?我正在使用pgAdmin III。
答案 0 :(得分:20)
Postgres的官方发行版中包含2个客户端 - CLI一个psql
和一个GUI pgAdmin
。两者都支持您想要的内容:psql
\ef
和pgAdmin
- 右键单击功能,“属性”,“代码”标签。
答案 1 :(得分:3)
在 pgAdmin 中,如果您激活此选项,则可以让您的生活更轻松:
档案 - >选项...... - >查询工具 - > [x] 将SQL从主窗体复制到SQL对话
然后,SQL窗格中显示的内容将被复制到新打开的“查询工具”窗口。因此,在对象浏览器中选择该功能,然后单击工具栏中的放大镜图标。
请注意当前版本1.14.2中的一个漏洞。默认情况下,public
对函数具有EXECUTE
权限。您可以REVOKE
此权限 - 这仅对SECURITY DEFINER
函数有用。但是pgAdmin的反向工程DDL语句中缺少此REVOKE
(NULL与空ACL混淆)。如果您删除并重新创建这样的功能,请小心!
答案 2 :(得分:3)
它也是编辑代码并进行测试的便捷方式。
1)从pgAdmin中提取所需SQL函数的代码。
2)将带有该函数的代码放入file.sql。
3)使用file.sql:
在同一目录中创建一个shell / bat文件psql -U postgres dbname < file.sql
4)将shell / bat文件的快捷方式放入快速面板中。
5)使用您喜欢的文本编辑器编辑文件,然后按快捷方式更新功能。
答案 3 :(得分:1)
phpPgAdmin将允许您编辑存储过程并在界面中编辑它们。我们强烈建议您在外部存储版本控制的问题下留下评论。
答案 4 :(得分:0)
右键单击对象树中的功能(左侧) - &gt;脚本 - &gt;脚本创建
-OR -
执行新的SQL查询 - &gt;复制代码&#34;创建或替换功能......&#34;它呢
然后编辑脚本,不要忘记执行它