Psql命令行密码和查询

Psql Command Line Password and Query

我正在尝试发出单行 psql 请求。我想同时发送凭据和查询。 我正在使用这个:

psql.exe "dbname=dbname user=postgres password=postgres host=localhost" -c 'select * from table'

实际上,如果我收回 -c 选项,它会起作用,但现在它会向我发送此消息:

psql: attention : option supplémentaire « 'select » ignorée
psql: attention : option supplémentaire « * » ignorée
psql: attention : option supplémentaire « from » ignorée
psql: attention : option supplémentaire « view' » ignorée

与数据库的连接正常,但这些日志是法语的,但它们的意思是“注意:已跳过选项”。

我尝试了 Url 请求

psql.exe postgresql://postgres:postgres@localhost/dbname -c 'select * from view'

但是这个是一样的

你知道我在哪里玩错了吗?

谢谢!

您必须使用双引号而不是单引号来保护 Windows' cmd.exe.

中带有空格的字符串

好的,伙计们,找到解决方案了。在更好地阅读 --help 之后,我认为

psql [OPTIONS]... [NOM_BASE [NOM_UTILISATEUR]]

连接选项将在查询后使用,而不是 psql [CONNEXION] -c "blabla" 使用这个

psql -c "select * from table" "dbname=dbname user=user password=password host=host"

psql -c "select * from table" postgresql://user:password@host/dbname

也要注意你的双引号。

再见,