Показаны сообщения с ярлыком Postgres. Показать все сообщения
Показаны сообщения с ярлыком Postgres. Показать все сообщения

четверг, 14 февраля 2013 г.

Отмена запроса PostgreSQL

Если программа вызовит долговыполняющийся запрос к PostgreSQL, то даже её закрытие не прекратит выполнение этого запроса. Особенно это актуально для REINDEX или FULL VACUUM, которые кроме того что долго выполняются, еще и блокируют таблицу.
Для отметы такого запроса, нужно вызвать другой запрос:
SELECT pg_cancel_backend(procpid) as x 
FROM pg_stat_activity 
WHERE current_query like 'REINDEX%';

пятница, 8 февраля 2013 г.

Доступ к PostgreSQL через сеть

По умолчанию БД PostgreSQL настроина на доступ к ней только локально. Для того чтобы сделать доступной БД по сети нужно изменить настройку host в файле pg_hba.conf в каталоге БД. По умолчанию там стоит:
host    all             all             127.0.0.1/32            md5
Для того чтобы к БД можно подключиться в любого IP, намените эту настройку на следующую:
host    all             all             0.0.0.0/0            md5
или укажите нужную вам масту подсети.

пятница, 4 мая 2012 г.

Apache + PHP + PostgreSQL

В Windows может быть недостаточно подключить к PHP расширение php_pgsql.dll для того чтобы коннект к базе работал. В случае если при попытке подключиться в PostgreSQL, PHP выдает одну из следующих ошибок:
  • Call to undefined function pg_connect();
  • PDOException: could not find driver,
убедитесь что правильно настроили расширение php_pgsql:
  • добавили или раскоменторовали строки extension=php_pgsql.dll и extension=php_dbo_pgsql.dll в файле php.ini;
  • перезагрузке веб-сервер.
Проверьте выводит ли информацию о расширении phpinfo(), если нет - расширение не загрузилось.
В этом случае в конфигурационный файл httpd.conf нужно добавить строку:
LoadFile "C:\Program Files\PostgreSQL\9.1\bin\libpq.dll"
и перезагрузить веб-сервер.