Oracle VirtualBoxでUbuntu 12.04を実行しています。数か月前、PostgreSQLサーバーバージョン9.1をマシンにインストールしました。つい最近、PostgreSQLサーバー9.3がJSONデータ型をサポートしていることを知り、アップグレードすることにしました。
次の手順に従って9.3にアップグレードしました。
https://wiki.postgresql.org/wiki/Apt
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.3 pgadmin3
これにより、バージョン9.1と共にサーバーバージョン9.3がマシンにインストールされました。新規ブート後にpg_lsclustersを実行すると、次の結果が得られます。
Ver Cluster Port Status Owner Data directory Log file
9.1 main 5433 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
その後、次のアップグレード後のメンテナンスを行いました。pg_dumpを使用して9.1サーバーからいくつかのテーブルをエクスポートし、9.3サーバーに復元しました。次に、9.1および9.3の設定ファイルを開いて/etc/postgresql/$VERSION/main/postgresql.conf
、ポート番号を交換して、psqlクライアントがデフォルトで新しいサーバーに接続するようにしました。
私の質問はこれです。9.1と9.3は両方とも起動時に起動します。システムメモリの約5%を占有するため、9.1の自動起動を防止したいと思います。これどうやってするの?
相談したリソース:
サーバーの起動に関するPostgreSQLのドキュメントページは、標準のinit.dディレクトリを示しています。init.dディレクトリにはスクリプトが含まれていますpostgresql
。このスクリプトは1つのバージョンのみを起動するように構成できるように見えますが、必要な変更は私には明らかではありません。
http://www.postgresql.org/docs/9.1/interactive/server-start.html
以下の投稿は非常に有益ですが、起動時に無効にする方法ではなく、クラスターを削除する方法を示しています。古いクラスターをインストールしたままにしておきたいのですが、そこからさらに情報を取得したい場合があります。
複数のpostgresqlサーバーがインストールされていると思いますが、「余分な」サーバーを特定して削除するにはどうすればよいですか?
システムの読み込みが完了したらサーバーを強制終了するスクリプトを作成することを検討しましたが、これは非効率的なようです。起動時にバージョン9.1を無効にするクリーンな方法はありますか?