pg_basebackup コマンドによる pg_tblspc ディレクトリ内のシンボリックリンクの扱い

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2016/05)です。
※ 情報が古い可能性もありますので、ご留意ください。



結論から言うと、問題なくサポートされていてバックアップできた。


pg_basebackup のドキュメントの最後の注意書きには、以下の記載がある。

注意

このバックアップには、設定ファイルとサードパーティによりディレクトリに格納された追加ファイルを含む、データディレクトリとテーブル空間内のすべてのファイルが含まれます。 データディレクトリ内には通常のファイルとディレクトリのみが許され、シンボリックリンクや特殊デバイスファイルは許されません。

PostgreSQLがテーブル空間を管理する方式のため、すべての追加テーブル空間のパスはバックアップをリストアした時に常に同一でなければなりません。 しかし主データディレクトリは他の場所に設置することができます。

https://www.postgresql.jp/document/9.3/html/app-pgbasebackup.html

テーブルスペースの指定がある pg_tblspc ディレクトリ内にはシンボリックリンクがあるものだけど、上記からはサポートされないような雰囲気が漂っていて、実際にやってみたら問題なくバックアップ対象となっていた。