[pgsql-jp: 29616] WALでディスクが一杯になったときのリカバリ方法

Yoshinari Takaoka yoshinari.takaoka @ jse.jp
2003年 4月 9日 (水) 10:37:22 JST


高岡です。おはようございます。

PostgreSQL7.2.3 + Miracle Linuxを使用しています。

WALでディスク容量が一杯になってしまったときに、Postmaster
が以下のようにエラーを出して停止し、再起動にも失敗してしま
います.(尚、postgresql.confはデフォルトの状態で使用して
います)

Apr  9 10:25:39 postgres-eval postgres[14446]: [3] FATAL 2:  copy: line 109942,
ZeroFill failed to write /var/lib/pgsql/data/pg_xlog/xlogtemp.14446: ???????????
????
Apr  9 10:25:39 postgres-eval postgres[14419]: [1] DEBUG:  server process (pid 1
4446) exited with exit code 2
Apr  9 10:25:39 postgres-eval postgres[14419]: [2] DEBUG:  terminating any other
 active server processes
Apr  9 10:25:39 postgres-eval postgres[14419]: [3] DEBUG:  all server processes
terminated; reinitializing shared memory and semaphores
Apr  9 10:25:39 postgres-eval postgres[14447]: [4] DEBUG:  database system was i
nterrupted at 2003-04-09 10:25:24 JST
Apr  9 10:25:39 postgres-eval postgres[14447]: [5] DEBUG:  checkpoint record is
at 0/109664
Apr  9 10:25:39 postgres-eval postgres[14447]: [6] DEBUG:  redo record is at 0/1
09664; undo record is at 0/0; shutdown TRUE
Apr  9 10:25:39 postgres-eval postgres[14447]: [7] DEBUG:  next transaction id:
89; next oid: 16556
Apr  9 10:25:39 postgres-eval postgres[14447]: [8] DEBUG:  database system was n
ot properly shut down; automatic recovery in progress
Apr  9 10:25:39 postgres-eval postgres[14447]: [9] DEBUG:  redo starts at 0/1096
A4
Apr  9 10:25:57 postgres-eval postgres[14448]: [4] FATAL 1:  The database system
 is starting up
Apr  9 10:26:05 postgres-eval postgres[14447]: [10] DEBUG:  open of /var/lib/pgs
ql/data/pg_xlog/0000000000000003 (log file 0, segment 3) failed: ???????????????
???????
Apr  9 10:26:05 postgres-eval postgres[14447]: [11] DEBUG:  redo done at 0/2FFFF
10
Apr  9 10:26:17 postgres-eval postgres[14447]: [12] FATAL 2:  ZeroFill failed to
 write /var/lib/pgsql/data/pg_xlog/xlogtemp.14447: ???????????????
Apr  9 10:26:17 postgres-eval postgres[14419]: [4] DEBUG:  startup process (pid
14447) exited with exit code 2
Apr  9 10:26:17 postgres-eval postgres[14419]: [5] DEBUG:  aborting startup due
to startup process failure

このような時、マニュアルにあるとおり、WALファイルを別のディスク
に移してPostmasterを再起動すると、再起動に成功することは確認
しています。

ですが、もしWALファイルを移動するほど別ディスクの余裕がない
とき、WALを移動しないでPostmasterを再起動する方法はあるので
しょうか? もしありましたら、ご教授頂ければ幸いです.

それでは。







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