Postgres 8.4.4 + psycopg2 + python 2.6.5 + нестабильность Win7 - PullRequest
0 голосов
/ 31 декабря 2010

Вы можете увидеть комбинацию программных компонентов, которые я использую в заголовке вопроса.

У меня есть простая база данных из 10 таблиц, работающая на сервере Postgres (Win 7 Pro).У меня есть клиентские приложения (python использует psycopg для подключения к Postgres), которые подключаются к базе данных через произвольные промежутки времени для проведения относительно легких транзакций.Есть только одно клиентское приложение за раз, которое выполняет какую-либо тяжелую транзакцию, и обычно это <500 мс.Остальные тратят больше времени на подключение, чем фактически ожидают, пока база данных выполнит транзакцию.Дело в том, что база данных находится под небольшой нагрузкой, но нагрузка равномерно распределяется между операциями чтения и записи. </p>

Мои клиентские приложения работают как сами серверы / службы.Я обнаружил, что довольно часто я могу (1) полностью отключить сервер Postgres и (2) разрушить базу данных, убив клиентское приложение с помощью прерывания клавиатуры.

By (1) я имею в виду, что процесс Postgres на сервере прерывается, и служба должна быть перезапущена.

По (2) я имею в виду, что база данных снова падает, когда клиент пытается получить доступ к базе данных после того, как онперезапустил и (предположительно) завершил операции «режима восстановления».Мне нужно удалить старую базу данных / схему с сервера базы данных, а затем перестраивать ее каждый раз, чтобы вернуть ее в стабильное состояние.(После режима восстановления я попробовал различные комбинации Vacuums, чтобы посмотреть, улучшает ли это стабильность; пылесосы работают, но сервер все равно быстро отключится, когда клиенты снова попытаются получить доступ к базе данных.)

Не знаюВспомните, что я видел тот же эффект, когда я убивал клиентское приложение с помощью «taskkill» - только при использовании прерывания клавиатуры для остановки процесса python.Это происходит не всегда, но достаточно часто, что вызывает серьезную озабоченность (25%?).

Действительно удивлен, что что-нибудь на клиенте действительно сможет снятьбаза данных "корпоративного класса".Может кто-нибудь поделиться советами о том, как улучшить надежность, и, надеюсь, помочь мне понять, почему это происходит в первую очередь?Спасибо, М

1 Ответ

1 голос
/ 01 января 2011

Если у вас есть проблемы с postgresql, который ведет себя так, вы должны прочитать эту страницу:

http://wiki.postgresql.org/wiki/Guide_to_reporting_problems

Для примера реальной ошибки и как спроситьвопрос, который получает действие и ответы, прочитайте эту тему.

http://archives.postgresql.org/pgsql-general/2010-12/msg01030.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...