我正在使用Windows批处理文件通过psql连接到Postgres。我会这样输入命令...
SET PGPASSWORD=postgres
psql -U postgres -d postgres -c "DROP USER IF EXISTS foo;"
这对于对数据库运行一个简短的SQL命令来说是很好的。但我遇到了两个相关问题:
- 如何在多行上继续一个单独的长SQL命令,以及
- 如何运行多条命令。
示例1......
psql -U postgres -d postgres -c "CREATE DATABASE foo
WITH OWNER = bar
ENCODING = 'UTF8'
TABLESPACE = mytabspace;"
Example 2.....
psql -U postgres -d postgres -c "
ALTER TABLE one ALTER COLUMN X TYPE INTEGER;
ALTER TABLE two ALTER COLUMN Y TYPE INTEGER;"
这两个选项都无法按照所示工作,我已经搜索了一些使用linux的建议,并尝试过各种脱字符、反斜杠和下划线进行实验,但似乎无法跨行分割命令。
我知道可以使用-f选项运行文件,但我正在尝试避免这样做。
有什么建议吗?