[pgsql-jp: 41358] Re: baseディレクトリの肥大化

[takapro.com]T.Hashimoto hashimoto @ takapro.com
2013年 2月 21日 (木) 08:27:24 JST


橋本です。回答有難うございます。

> 一時ファイルのうち削除されないのは、$PGDATA/pg_xlog/xlogtemp.<pid>でしょうね。  
> これは、新しいWALセグメント・ファイルを作成するときに、一時的なファイルとして生成されます。
> 更新トランザクションを実行中にpg_ctl stop -miすると、このファイルが残っているのをしばしば見かけました。

上記のファイルが原因で、base以下のファイルの整合性が崩れるといった認識いいでしょうか。

上記から話はそれますが、実際のbase以下のファイルの更新日時を見てみると、
vacuumやreindexをFULLもしくは全てのオプションを付けたあとで日付の更新のないファイルが
あるのが気にかかっています。

無論、initdbでデータベース領域をbase以下を再作成することで、ディスク容量は元に戻り
ますので、PostgreSQLでこのような電源OFF/ONシステムではinitdbを利用した想定で運用
するのがベターという事が納得いっていません・・・。

以上、宜しくお願い致します。

引用 MauMau <maumau307 @ gmail.com>:

> MauMauです。
>
>> あと気になるのは一時テーブルですね。共有バッファもWALも使われないのでリカバリの対象外でもありますから、リカバリ時にちゃんとファイルが消えてくれるのかなんとなく気になります。こちらは根拠も経験もなく想像での話ですので間違っていたらすみません。
>
> 一時テーブルもデータベースサーバの起動時に自動的に削除されます。
>
> 一時ファイルのうち削除されないのは、$PGDATA/pg_xlog/xlogtemp.<pid>でしょうね。  
> これは、新しいWALセグメント・ファイルを作成するときに、一時的なファイルとして生成されます。
> 更新トランザクションを実行中にpg_ctl stop -miすると、このファイルが残っているのをしばしば見かけました。
> データベースサーバの再起動時に削除するようにしたほうがよさそうに思うのですが。 以上です。
>
>
>
>



-- 
[takapro]
郵便番号: 621-0846
京都府亀岡市南つつじヶ丘大葉台2丁目6番3号
 橋本貴史
電話番号: 090-8204-9838
メール: hashimoto @ takapro.com
URL: http://www.takapro.com/


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