`psql` 是不是有类似于 `bash` 中的 `$PATH` 的东西来搜索 SQL 脚本?
Posted
技术标签:
【中文标题】`psql` 是不是有类似于 `bash` 中的 `$PATH` 的东西来搜索 SQL 脚本?【英文标题】:Does `psql` have something similar to `$PATH` in `bash` to search for a SQL script?`psql` 是否有类似于 `bash` 中的 `$PATH` 的东西来搜索 SQL 脚本? 【发布时间】:2018-11-25 12:12:00 【问题描述】:在 psql 中,\i
可用于读取和执行 sql 脚本。
但是我必须将脚本文件的路径名指定为\i
,当路径名很长并且因脚本而异时,这非常不方便。
bash
psql
的\i
中是否有类似于$PATH
的内容仅根据sql 脚本的文件名搜索脚本?
或者我真的必须在每次运行 sql 脚本文件时指定 \i
的路径名吗?
谢谢。
我正在尝试将https://***.com/a/771880/156458 放入一个 sql 脚本中,以便我可以重复使用它。
【问题讨论】:
【参考方案1】:类似于 Oracle 的 $SQLPATH
。我还没有找到它。使用 Oracle 很方便,因此我可以将命令定义到单独的 SQL 文件中,并在 sqlplus
中提供它们。
对于 PostgreSQL 和 psql
,我收到的唯一建议是将任何命令作为别名放在 ~/.psqlrc
中。
【讨论】:
谢谢。如果我在/path/to/sqlscripts/
下有多个脚本,你能在 ~/.psqlrc 中举个例子吗?
不,我的意思是您实际上将所有 SQL 命令作为别名在 ~/.psqlrc
中。一个大文件。不漂亮。
是否可以对目录下的所有文件进行循环,并将文件名作为别名分配给每个文件?我可以在 bash 中做到这一点,但不确定是否可以在 psql 中完成。以上是关于`psql` 是不是有类似于 `bash` 中的 `$PATH` 的东西来搜索 SQL 脚本?的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 函数中的 psql 变量是不是有任何转义语法?
有没有办法自动将命令历史保存到 cmd.exe 中的文件中,类似于 bash 的 bash_history?