[pgsql-jp: 40289] Re: Vacuumによる物理的なDiskの開放について質問

Takahiro Itagaki itagaki.takahiro @ oss.ntt.co.jp
2010年 6月 4日 (金) 10:27:34 JST


Tomoaki Sato <sato @ sraoss.co.jp> wrote:

> マニュアルの「23.1.2. ディスク容量の復旧」に少しだけ書いてありますね。
> 
>   http://www.postgresql.jp/document/8.4/html/routine-vacuuming.html#VACUUM-FOR-SPACE-RECOVERY
> 
> かなり分かりづらいですが、2 段落目の「テーブルの最後の 1 つ以上複数ペー
> ジが完全にすいていて、また排他テーブルロックが容易に獲得できる特殊な場
> 合を除き」というのが、FULL でない VACUUM でファイルサイズを切り詰めら
> れる条件ですね。
> 
>   VACUUMの 標準形式はテーブルとインデックス内の終わっている行バージョ
>   ンを削除し、将来の再利用を可能にするための場所に印を付けます。しかし、
>   テーブルの最後の 1 つ以上複数ページが完全にすいていて、また排他テー
>   ブルロックが容易に獲得できる特殊な場合を除き、その場所をオペレーティ
>   ングシステムに返還しません。
> 
> あと、日本語訳では「A また B の場合」になっていますが、「A かつ B の場
> 合」が正しいと思われます。

・「終わっている行」?と思いましたが、原文は dead row ですね。
   この対訳でしたっけ?「不要な行」くらいのほうが誤解が無いのでは。
・「ための場所に」ではなく、「その場所が〜という状態だと」ですね。誤訳。
・except 前後を入れ替えて約したため、文の主題がぼやけてしまっている気がします。
  多少は語を補っても、順序を保ったほうが読みやすくなると思われます。

訳の改善案です。ご検討ください。

----
The standard form of VACUUM removes dead row versions in tables and indexes
and marks the space available for future reuse. However, it will not return
the space to the operating system, except in the special case where one or
more pages at the end of a table become entirely free and an exclusive table
lock can be easily obtained.
----
標準形式の VACUUM は、テーブルとインデックス内の不要な行を削除し、
その領域を将来の再利用が可能だとして記録します。しかし、その領域を
オペレーティングシステムに返却することはありません。例外的に返却されるのは、
テーブルの末尾に完全に空のページが存在し、かつそのテーブルの排他ロックが
容易に獲得できる、特別な場合に限られます。
----

ちなみに「排他ロックが容易に獲得できる」とは、
実際には「ロックを待機せずに獲得できる」という動作のことを指します。

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro @ oss.ntt.co.jp>




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