2015-09-18 345 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撇去。