pg_wrapper最初: Ubuntu が: pg_createcluster、pg_dropclusterなどの一部として提供するカスタム ツールを使用して、Ubuntu での Pg インストールを管理する方が簡単な場合がありますpg_ctlcluster。/etc/postgresql/datadir の PostgreSQL のデフォルト。実際のファイルが保存されている場所に移動するには、シンボリック リンクを使用します (以下を参照)。
問題が発生した場合、どのように PostgreSQL を起動していますか?
経由pg_ctlで起動している場合は、データ ディレクトリの場所を指定する必要があるため、正常に動作するはずです。ただし、ディストリビューション パッケージ スクリプトを使用している場合、データ ディレクトリを移動したことはわかりません。
/etc/postgresqlUbuntu では、おそらく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 クラスター管理スクリプトを使用すると、はるかに簡単になります。