如何使用Npgsql从.NET Core应用程序连接到Ubuntu Linux上的本地PostgreSQL数据库服务器?
我在Windows上使用此连接字符串:
Server = localhost; User ID = webdev; Password = webdev; Database = dbname
我在Linux上使用这个shell命令:
psql dbname
现在我已尝试在Linux上使用此连接字符串:
服务器=的/ var /运行/ PostgreSQL的;数据库= DBNAME
但我收到了这个错误:
无法分配请求的地址/var/run/postgresql/.s.PGSQL.5432
如果我在Linux上尝试此连接字符串:
服务器=本地主机;数据库= DBNAME
然后我收到此错误:
拒绝连接
这是如何工作的?我想利用同一本地系统帐户的无密码登录。
答案 0 :(得分:2)
我没有更改PostgreSQL侦听的端口。我不会想到TCP端口与本地UNIX套接字连接有任何关系。但是在Postgres中它确实如此,Postgres的软件包维护者为他们的官方Ubuntu软件包将配置中的端口从5432更改为5433.我不知道为什么,但我已在/ etc / postgresql / 10 / main中更正了/postgresql.conf并重新启动服务器:
port = 5432
现在我可以使用预期的连接字符串连接到服务器。并且评论中提到了psql
和psql -h /var/run/postgresql
。
这似乎是包配置中的错误。易于修复,很难找到。