Проблема PostgreSQL: не удалось получить доступ к файлу «$ libdir / plpgsql»: такого файла или каталога нет - PullRequest
7 голосов
/ 29 июля 2011

Я получаю это исключение в PostgreSQL:

org.postgresql.util.PSQLException: ERROR: could not access file "$libdir/plpgsql": No such file or directory
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1721)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1489)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:193)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)

Я много искал, и большинство решений указывают на неправильную установку. Но это мой тестовый БД, который долгое время работал без проблем. Также вставки работают. Проблема возникает только при выборе запросов.

Ответы [ 3 ]

6 голосов
/ 29 июля 2011

Судя по всему, вы переместили каталог lib в PostgreSQL со своего места. Чтобы подтвердить это, попробуйте следующее в psql:

> SET client_encoding TO iso88591;
ERROR:  could not access file "$libdir/utf8_and_iso8859_1": No such file or directory

Если вы получите сообщение об ошибке, подобное этому, моя теория верна. Вам нужно выяснить, где эти файлы закончились, или вы можете переустановить PostgreSQL, чтобы восстановить их.

Чтобы узнать, на что ссылается $libdir, введите следующую команду:

pg_config --pkglibdir

Для меня это производит:

/usr/lib/postgresql
2 голосов
/ 22 мая 2012

У меня та же проблема: другой экземпляр сервера postgres (8.4) мешал 9.1;когда экземпляр 8.4 удален, он работает.

0 голосов
/ 17 января 2014

другой экземпляр иногда может быть удален из системы во время работы (например, вы выполняете обновление gentoo и depclean без остановки и переноса данных).поэтому ошибка кажется особенно загадочной.

решение обычно заключается в установке / удалении старой версии через слот (в терминах gentoo или просто в других дистрибутивах), запуске его pg_dumpall, а затем удалении / переустановке новой версии и импортеданные.

это сработало довольно безболезненно для меня

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