首页 » 编程开发 » GreenPlum » 正文

PostgreSQL存储过程或函数在Windows下批量发布方法

PostgreSQL经常会遇到需要在多个用户下发布存储过程或函数的情况,一个个发布非常麻烦,这里介绍windows批处理文件完成发布的过程。

第一步,首先打开pgpass.conf文件,默认一般路径是C:\Users\Administrator\AppData\Roaming\postgresql\pgpass.conf,打开后看里面的帐号密码是否完整。

一般格式是这样的:PostgreSQL服务器ID地址:端口号:数据库名称:用户名:密码

例如:

123.123.123.123:5432:databasename:username:password

默认每个用户一行。

第二步,新建一个后缀为.Bat的文件,比如test.bat,编辑内容如下

E:
cd E:\Program Files (x86)\pgAdmin III\1.14
psql -h 132.123.123.123 -af "F:\test.sql" databasename username
...
pause>null

 

psql命令这一行可以添加多行,将用户名修改成需要发布的用户。

其中路径E:\Program Files (x86)\pgAdmin III\1.14,就是我本地安装的pgAdmin工具的路径。
132.123.123.123是PostgreSQL服务器IP地址,“F:\test.sql”就是我需要发布的脚本本地存放路径。
databasename代表PostgreSQL数据库名称,username就是登录用户名。

编辑好后,双击运行批处理文件test.bat,这样就发布完成了,如果脚本有错误,会提示发布不成功。

发布完之后,如果想看看发布的存储过程,可以在pgadmin中运行函数查看:
select pg_get_functiondef('存储过程名或函数名','用户名')

发表评论