pg_wrapper
最初: Ubuntu が: pg_createcluster
、pg_dropcluster
などの一部として提供するカスタム ツールを使用して、Ubuntu での Pg インストールを管理する方が簡単な場合がありますpg_ctlcluster
。/etc/postgresql/
datadir の PostgreSQL のデフォルト。実際のファイルが保存されている場所に移動するには、シンボリック リンクを使用します (以下を参照)。
問題が発生した場合、どのように PostgreSQL を起動していますか?
経由pg_ctl
で起動している場合は、データ ディレクトリの場所を指定する必要があるため、正常に動作するはずです。ただし、ディストリビューション パッケージ スクリプトを使用している場合、データ ディレクトリを移動したことはわかりません。
/etc/postgresql
Ubuntu では、おそらくpg_ctl.conf
、またはstart.conf
適切なバージョンのデータ ディレクトリがどこにあるかをスクリプトに伝えるために、構成を変更する必要があります。私はそれをする必要がなかったので、詳細はわかりません。これが理由です:
ただし、より良い方法があります。古い datadir の場所から新しい場所へのシンボリック リンクを使用します。PostgreSQL とセットアップ スクリプトは喜んでそれに従います。構成を変更する必要はありません。
cd /var/lib/postgresql/9.1/main
mv main main.old
ln -s /new/datadir/location main
Ubuntu のバージョンまたは PostgreSQL のバージョンを指定しなかったため、「9.1」と推測しています。
mount -o bind
別の方法は、新しい datadir の場所を古い場所にマップするために使用することです。そのため、何も違いに気づきません。次に、バインド マウントを追加して、/etc/fstab
再起動後も持続するようにします。ツールの 1 つがシンボリック リンクのアプローチを好まない場合にのみ、これを行う必要があります。pg_wrapper
などで問題になることはないと思います。
また、手動で initdb を使用したため、新しい datadir の構成は ではなく datadir 内に直接あることにも注意してください/etc/postgresql/
。
代わりに Ubuntu クラスター管理スクリプトを使用すると、はるかに簡単になります。