2015-09-18 346 views
0

我尝试从c#编写简单的PostgreSQL查询。首先connection.open()需要20秒。其他连接立即执行。Postgresql非常慢

PGAdmin工作也很慢。如果我打开“查看所有行”,也需要大约10-15秒(数据很少)。如果我打开SQL查询窗口,同样的执行。

我在2台不同的电脑上用win7和win8试用这个。在这两台机器上Postgres都一样。那么PostgreSQL的工作原理是正常的还是我做错了?

我觉得问题从运行postgresql服务开始。 postgresql客户端安装服务自动运行后。一段时间后,它停止了,我无法运行它。如果我尝试从CMD与pg_ctl运行的服务,我得到:

FATAL: could not create any TCP/IP sockets 

我可以用pgAdmin的到PostgreSQL连接,但它的工作速度很慢。

+0

postgresql是一个功能非常强大的数据库。无论你的机器超慢|忙于其他过程或者你做错了什么。 –

+0

https://wiki.postgresql.org/wiki/Slow_Query_Questions –

+0

其他SQL客户端是否也很慢?使用'psql'连接需要多长时间? –

回答

5

这是不正常的。

如果第一次连接需要20秒,其余为瞬时,听起来像是DNS问题或其他网络问题,与PostgreSQL本身无关。

3

尝试在服务器上关闭中的log_hostname

log_hostname(布尔)

默认情况下,连接日志消息只显示连接的主机的IP地址。打开此参数也会导致记录主机名称。请注意,根据您的主机名称解析设置,这可能会造成不可忽视的性能损失。该参数只能在postgresql.conf文件或服务器命令行中设置。

this answer on Server Fault撇去。