"sslmode=allow host=localhost dbname=test" 在 PSQL 中不起作用,正在尝试将 PSQL 连接到 VSCode

"sslmode=allow host=localhost dbname=test" does not work in PSQL, trying to connect PSQL to VSCode

我正在尝试将我的 PSQL 连接到 VSCode,但我收到一条错误消息 "The server does not support SSL Connections",在 Whosebug 中寻找解决方案时,我发现了 运行

psql "sslmode=allow host=localhost dbname=test"

当我在 PSQL Shell (12.3) 中尝试 windows 时,它给了我这个错误:

   postgres=# sslmode=allow host=localhost dbname=test;
    ERROR:  syntax error at or near "sslmode"
    LINE 1: sslmode=allow host=localhost dbname=test;

当我从命令提示符尝试时,出现了这个错误:

C:\Users\cu>Psql -U postgres  "sslmode=allow host=localhost dbname=test"
Password for user postgres:
Psql (12.3)
WARNING: Console code page (437) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

test=# Psql -U postgres  "sslmode=allow host=localhost dbname=test"
test-# ;
ERROR:  syntax error at or near "Psql"
LINE 1: Psql -U postgres  "sslmode=allow host=localhost dbname=test"

你能帮我弄清楚我做错了什么吗,我是数据库和任何类型编程的新手,我正在尝试学习一些 SQL。

谢谢

通过 psql 连接后,您就已经连接到数据库了。然后您不能在 psql 提示符下使用连接字符串。

在您的示例输出中,您试图在进入 psql 后调用 psql。该命令只能在 psql 之外的命令行上 运行。

你似乎运行在你的例子的顶部正确地使用了它,所以一旦你有 psql 提示符就没有必要再次运行它了。

关于服务器不支持SSL连接的错误,您需要在postgresql.conf文件中将ssl设置为on并重启数据库。您可能会发现当前设置为 off.

如果您将 WARNING 输出解读为错误,则事实并非如此。就是说你使用的控制台的字符集与服务器不匹配,然后引导你去查看文档。查看文档中 psql 页面上的 "Notes for Windows users" 部分以获取更多信息:https://www.postgresql.org/docs/12/app-psql.html