PostgreSQL

By estis , 13 12月, 2013

CONCURRENT VACUUM と FULL VACUUM がある。

CONCURRENT VACUUM は、ファイルサイズは変わらない。(ブロック毎の削除だから)
FULL VACUUM では、ファイルサイズが縮小される場合がある。

CONCURRENT VACUUM は、ShareUpdateExclusiveLock をかけるので読み取り可能。
FULL VACUUM は、AccessExclusiveLock をかけるので、他ユーザーは読み書き不可。

FULL VACUUM の処理は、8.4までと9.0からで異なる。
8.4までは、インデックスの再構築は行わない。
9.0からでは、一時的に容量が2倍程度になる。

By estis , 15 6月, 2013

psql -c 'select name, setting from pg_settings' -A > FILE

した後

join -t"|" FILE1 FILE2 > RESULT

となどとして

awk -F"|" '$2!=$3' RESULT

するとよいのではと思う。