2011-07-29 4 views
7

ありません、私は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) 

私が間違ってインストールに多く、ほとんどのソリューションのポイントを検索します。しかし、これは長い間問題なく走ってきたテスト・データベースです。また、挿入が機能しています。問題は選択クエリでのみ発生します。

+0

あなたのテストデータベースはどのオペレーティングシステムですか? –

答えて

6

明らかに、PostgreSQLのlibディレクトリを移動したようです。これを確認するには、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 

を、これが生成します(他のPostgresのサーバインスタンス:

/usr/lib/postgresql 
+0

提案に感謝します。月曜日にこれをチェックします。しかし、あなたが言ったように、libディレクトリに問題がある場合は、挿入も失敗するはずですか?最初の投稿で述べたように、挿入は機能していますが、選択は失敗しています。 OSはCentOS 5X – rajesh

+0

です.dbのインストールに問題がありました。これを別のボックスに移動しました。助けてくれてありがとう – rajesh

2

を私は同じ問題を抱えています8.4)は9.1に干渉していた。 8.4インスタンスが削除されたときに動作します。

-1

他のインスタンスが実行中にシステムから削除されることがあります(たとえば、データを停止して移行せずにgentooの更新と削除を行うなど)。エラーは特に不思議そうです。

解決方法は通常、古いバージョン(gentooの言葉では単に他のディストリビューションにダウングレードする)、pg_dumpallを実行してから新しいバージョンをアンインストール/再インストールしてデータをインポートすることです。

これはかなり痛みのない私のために働いた