我正在尝试执行此
psql "user=postgres password=xxxx hostaddr=xxxx port=5432 dbname=xxx options='-f D:\scripts2\201804130713_test.sql'"
以编程方式在我的数据库上运行更改脚本。
我在这里得到的回答是305票。 How do I specify a password to psql non-interactively?用于使用连接字符串。
连接字符串有效,但file参数从路径中删除了所有斜杠。我不知道如何逃避它们,我尝试过的各种事情都引入了单引号等问题。我认为我的方法可能会有所不同。我只是需要一种方法来做到这一点。
答案 0 :(得分:0)
options
用于服务器端参数,而不是psql命令行开关。
选项
指定在连接开始时发送到服务器的命令行选项。例如,将此设置为-c geqo = off会设置会话 关闭geqo参数的值。这个字符串中的空格是 考虑分离命令行参数,除非使用 反斜杠();写\来表示文字反斜杠。为一个 有关可用选项的详细讨论,请参阅第19章。
你可能想要:
psql -f D:\scripts2\201804130713_test.sql "user=postgres password=xxxx hostaddr=xxxx port=5432 dbname=xxx"