[pgsql-jp: 26187] Re: pg_dumpが途中終了します

Hiroshi Inoue Inoue @ tpf.co.jp
2002年 5月 29日 (水) 12:03:41 JST


井上です。

Junzo Kudou wrote:
> 
> おはようございます。工藤です。
> 
> うーん。なんだか井上さんの書かれている「かなりまずい」状況
> かもしれません。なんとなく予想はしていたのですが。
> 
> -----ここから-----
> 
> DBNAME=> set enable_indexscan to 'off';
> SET VARIABLE
> 
> DBNAME=> select ctid,chunk_seq from pg_toast_16736 where chunk_id=74452 ord er by chunk_seq;
>   ctid   | chunk_seq
> ---------+-----------
>  (937,2) |         1
> (1 row)
> 
> DBNAME=> explain select ctid,chunk_seq from pg_toast_16736 where chunk_id=74452 order by chunk_seq;
> NOTICE:  QUERY PLAN:
> 
> Sort  (cost=1649.41..1649.41 rows=38 width=10)
>   ->  Seq Scan on pg_toast_16736  (cost=0.00..1648.42 rows=38 width=10)
> 
> EXPLAIN
> -----ここまで-----
> 
> 最後から2行目がIndex ScanではなくSeq Scanになっているということは
> toastテーブル本体を見に行っているという事ですよね。そこで障害が起
> きていると。

うーんまずいですね。関係ないでしょうが試しに
 select chunk_id, chunk_seq from from pg_toast_16736
    where ctid = '(937, 1)';
を実行してみてください。
 
> 最悪、該当レコードを削除する事で障害復旧できるようならその対処も
> ありなのですが、1つ目のsqlでselectしたoidに該当するレコードを削除
> したら解消する、というものでもないでしょうか?

該当レコードの特定が必要ですがcopy実行時のエラー
に copy: line xxxx みたいなメッセージは出ていない
でしょうか ?

Hiroshi Inoue
	http://w2422.nsk.ne.jp/~inoue/



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