[pgsql-jp: 40796] Re: Postgres8.0から8.2移行時のエラー

Tomoaki Sato sato @ sraoss.co.jp
2011年 5月 23日 (月) 23:37:43 JST


佐藤です。

> はじめまして。倉持と申します。
> 
> Postgres8.0から8.2へバージョンアップするため、
> 8.0のDBをバックアップし、8.2のDBにリストアしました。
> 
> Postgresのログを見ると、リストア時に
> 以下のようなエラーが出力されていました。
> 
> これらは、何か影響あるのでしょうか?
> その後、DB検索・更新する処理を流しても特にエラーは吐かれませんが、
> 気になりますので、ご教授お願い致します。
> 
> 【エラーログ】
> ERROR:  invalid byte sequence for encoding "EUC_JP": 0x938c

これは、文字エンコーディング EUC-JP として不正なバイト列 0x938c が検出
されたことを表します。

7.3.15、7.4.13、8.0.8、8.1.4 で文字エンコーディングのチェックが厳しく
なり、それ以前のバージョンで投入された不正なバイト列のデータをリストア
しようとするとエラーになります。

特定のテーブルのデータが空になっていたりしませんか。

テーブルへのデータの投入には通常 COPY コマンドが使用されるので、その一
部でエラーになるとそのテーブルに対するデータの投入すべてがエラーになり
ます。

ここから

> ERROR:  could not access file "$libdir/dbsize": No such file or directory
> ERROR:  function public.database_size(name) does not exist
> ERROR:  function public.pg_database_size(oid) does not exist
> ERROR:  could not access file "$libdir/admin": No such file or directory
> ERROR:  function public.pg_dir_ls(text, boolean) does not exist
> ERROR:  function public.pg_file_read(text, bigint, bigint) does not exist
> ERROR:  function public.pg_file_rename(text, text, text) does not exist
> ERROR:  function public.pg_file_stat(text) does not exist
> ERROR:  function public.pg_file_unlink(text) does not exist
> ERROR:  function public.pg_file_write(text, text, boolean) does not exist
> ERROR:  function public.pg_logdir_ls() does not exist
> ERROR:  function public.pg_postmaster_starttime() does not exist
> ERROR:  function public.pg_relation_size(oid) does not exist
> ERROR:  function public.pg_reload_conf() does not exist
> ERROR:  function public.pg_size_pretty(bigint) does not exist
> ERROR:  function public.pg_tablespace_size(oid) does not exist
> ERROR:  function public.relation_size(text) does not exist
> ERROR:  function pg_logdir_ls() does not exist at character 68
> ERROR:  relation "public.pg_logdir_ls" does not exist

ここまでは、8.0 で contrib モジュールの dbsize、adminpack がインストー
ルされた状態でダンプし、8.2 でそれらがインストールされていない状態でリ
ストアしたのでエラーになっています。

これらのモジュールを使用していなければ無視しても問題ありません。ちなみ
に dbsize モジュールは 8.1 で本体に組み込まれています。


----
Tomoaki Sato <sato @ sraoss.co.jp>
SRA OSS, Inc. Japan


pgsql-jp メーリングリストの案内