LINUX.ORG.RU

Postgresql под Windows: ошибка (SIGSEGV) при обращении к таблице

 ,


0

1

Доброго времени суток!

Есть небольшая БД (postgresql) и работающая с ней программа (fpc,lazarus). В debian это все вместе работало. Перенесла эту систему по Windows 7 (все вместе на локальном компьютере). Посредством запросов psql в консоли или при помощи pgAdmin таблицы БД видны и корректны, но при попытке программного обращения к любой таблице возникает ошибка SIGSEGV. В логе при этом появляется сообщение: «неожиданный обрыв соединения с клиентом при открытой транзакции».

Видимо, я что-то не так настроила в конфигурации сервера бд (я в этом плане ещё относительный чайник). Подскажите, пожалуйста, где искать причину проблемы.


Посредством запросов psql в консоли или при помощи pgAdmin таблицы БД видны и корректны, но при попытке программного обращения к любой таблице возникает ошибка SIGSEGV

А разве psql и pgAdmin не «программно» обращаются к таблицам? Вангану, что проблема в твоём коде, БД ни при чём.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

no-such-file, возможно.

Параметры БД устанавливаются и доступ к благополучно открывается (TSQLConnector:Open) - раз ошибки не возникло, значит параметры доступа к БД приняты, как корректные.
После этого формируется SQL-запрос (TSQLQuery:Add(‘SELECT * FROM kkk’)) и при открытии таблицы (TSQLConnector:Open) возникает SIGSEGV.
Не понимаю, где искать ошибку, если то же самое под Линуксом работало стабильно…

maarv ()
Последнее исправление: maarv (всего исправлений: 1)

Раз в psql и в pgAdmin всё работает, то ошибка в программе иои в драйвере базы данных. Ищите в google какую-нибудь информацию по SYGSEGV в Windows и может быть в Lazarus. Я, обращаясь к PostgreSQL из разных языков, но не Lazarus, такой ошибки не видел.

Partisan ★★★ ()

Приложение какую libpq.dll использует? ту же что и psql? pgdmin юзает свою (лежит в каталоге pgadmin) Разрядность вашей либы? Попробуйте взять libpq либо из каталога куда сервер установлен либо из каталога pgadmin'а.

anonymous ()
Ответ на: комментарий от anonymous

Ни за что сама не догадалась бы…

Скопировала в каталог программы все dll-ки из каталога pgAdmin (libpq.dll в т.ч.), и дело продвинулось - ошибка исчезла.

anonymous, Вы меня спасли. Спасибо! :))

maarv ()