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



我正在尝试将我的 PSQL 连接到 VSCode,但收到一条错误消息,说"服务器不支持 SSL 连接",在堆栈溢出中寻找解决方案时,我发现了运行的建议

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

当我从Windows的PSQL Shell(12.3(中尝试时,它给了我这个错误:

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

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

C:Userscu>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 页面上的"Windows 用户注意事项"部分:https://www.postgresql.org/docs/12/app-psql.html

最新更新