Postgresql postgres psql脚本路径
我正在制作一个有用的sql脚本目录来使用psql。我想能够使用它们而不必cd到目录Postgresql postgres psql脚本路径,postgresql,psql,Postgresql,Psql,我正在制作一个有用的sql脚本目录来使用psql。我想能够使用它们而不必cd到目录 是否可以将psql配置为搜索调用脚本的特定路径?或者我必须用完全限定的名称调用它们吗?是的,您可以使用启动文件psqlrc来实现这一点 psqlrc和~/.psqlrc 除非传递了-X或-c选项,否则psql将尝试从系统范围的启动文件(psqlrc)读取和执行命令,然后 用户的个人启动文件(~/.psqlrc),在连接到 但在接受正常命令之前 创建文件(如果它还不存在)并将psql meta命令\cd放入其中。
是否可以将psql配置为搜索调用脚本的特定路径?或者我必须用完全限定的名称调用它们吗?是的,您可以使用启动文件
psqlrc
来实现这一点
psqlrc
和~/.psqlrc
除非传递了-X
或-c
选项,否则psql将尝试从系统范围的启动文件(psqlrc
)读取和执行命令,然后
用户的个人启动文件(~/.psqlrc
),在连接到
但在接受正常命令之前
创建文件(如果它还不存在)并将psql meta命令\cd
放入其中。
根据文件:
\cd[目录]
将当前工作目录更改为目录
。不带参数,更改当前用户的主目录
例如,将其放入用户的个人启动文件~/.psqlrc
:
\set QUIET ON
\cd /var/lib/postgres/script/
\set QUIET OFF
\set QUIET ON
和\set QUIET ON
可以选择在每次启动时抑制来自\cd
的消息。您只需将脚本放在.psqlrc文件中:
\set uptime 'select now() - backend_start as uptime from pg_stat_activity where pid = pg_backend_pid();'
然后在psql中运行查询,方法是在查询前面加一个冒号:uptime
或
如果您的脚本很长,并且希望更好地组织它们,那么您可以创建脚本目录~/psqlrc.d
或其他任何内容,然后(例如)(假设是*nix OS):
然后编辑要添加的~/.psqlrc文件:
\set uptime '\\i ~/psqlrc.d/uptime.sql'
在psql中键入
:uptime
,再次调用脚本。有两种解决方法
\set uptime '\\i ~/psqlrc.d/uptime.sql'