2015-09-18 2 views
0

Я пробую написать простой запрос PostgreSQL из C#. Первое connection.open() занимает 20 секунд. Другие соединения выполняются мгновенно.Postgresql очень медленный

PGAdmin работа очень медленная тоже. Если я открываю «просмотр всех строк», это занимает около 10-15 секунд (данных очень мало). То же самое выполняется, если я открыл окно SQL-запросов.

Я пробую это на двух разных компьютерах с win7 и win8. В обеих машинах Postgres работают одинаково. Так нормально, что PostgreSQL работает так, или я делаю что-то неправильно?

Я думаю проблема начинаем с postgresql сервис бег. После установки службы postgresql клиент запускается автоматически. Через некоторое время он остановился, и я не могу запустить его. Если я пытаюсь запустить службу из ЦМД с 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 на postgresql.conf на сервере.

log_hostname (булево)

По умолчанию сообщения журнала подключения показывают только IP-адрес подключающегося хоста. Включение этого параметра приводит к регистрации журнала имени хоста. Обратите внимание, что в зависимости от настройки разрешения имени хоста это может привести к незначительному штрафу за производительность. Этот параметр можно установить только в файле postgresql.conf или в командной строке сервера.

Оценка: this answer on Server Fault.

Смежные вопросы