连接命令可以嵌入到 psql 脚本中吗?
Can a connection command be embedded in a psql script?
我正在 运行交互式地编写一个脚本来测试它。元命令 \c 不能很好地与标准 sql 命令一起使用:它似乎想自己成为 运行。这是脚本
中的 运行 时发生的情况
\set username steve
\c pubkey :username
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO :username;
GRANT ALL PRIVILEGES ON ALL sequences IN SCHEMA public TO :username;
结果:
invalid integer value "ALL" for connection option "port"
Previous connection kept
但是如果“\c”命令本身是 运行 那么随后的 grant 是成功的。有没有办法在 psql 脚本中嵌入“\c”连接命令?
psql
中的 运行 似乎与脚本本身具有不同的行为:运行 上面使用 -f
的命令行确实有效
psql postgres -f create_dbs.sql -a > db.out 2>&1
而 运行 来自 psql 的 '\c` 命令似乎需要隔离。
我正在 运行交互式地编写一个脚本来测试它。元命令 \c 不能很好地与标准 sql 命令一起使用:它似乎想自己成为 运行。这是脚本
中的 运行 时发生的情况\set username steve
\c pubkey :username
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO :username;
GRANT ALL PRIVILEGES ON ALL sequences IN SCHEMA public TO :username;
结果:
invalid integer value "ALL" for connection option "port"
Previous connection kept
但是如果“\c”命令本身是 运行 那么随后的 grant 是成功的。有没有办法在 psql 脚本中嵌入“\c”连接命令?
psql
中的 运行 似乎与脚本本身具有不同的行为:运行 上面使用 -f
的命令行确实有效
psql postgres -f create_dbs.sql -a > db.out 2>&1
而 运行 来自 psql 的 '\c` 命令似乎需要隔离。