连接到Linux上的本地PostgreSQL服务器

时间:2017-12-05 13:55:42

标签: linux postgresql .net-core npgsql

如何使用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

然后我收到此错误:

  

拒绝连接

这是如何工作的?我想利用同一本地系统帐户的无密码登录。

1 个答案:

答案 0 :(得分:2)

我没有更改PostgreSQL侦听的端口。我不会想到TCP端口与本地UNIX套接字连接有任何关系。但是在Postgres中它确实如此,Postgres的软件包维护者为他们的官方Ubuntu软件包将配置中的端口从5432更改为5433.我不知道为什么,但我已在/ etc / postgresql / 10 / main中更正了/postgresql.conf并重新启动服务器:

port = 5432

现在我可以使用预期的连接字符串连接到服务器。并且评论中提到了psqlpsql -h /var/run/postgresql

这似乎是包配置中的错误。易于修复,很难找到。