web-dev-qa-db-ja.com

デフォルトで使用するPostgreSQLバージョンを設定するにはどうすればよいですか?

システムに2つの異なるバージョンのPostgreSQLがインストールされています(Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

デフォルトでは、createdbやpsqlなどのPostgreSQLコマンドを実行すると、9.0バージョンが使用されます。

代わりにデフォルトで8.4バージョンを使用するようにシステムを構成するにはどうすればよいですか?

23
coffee-grinder

さまざまなPostgreSQLコマンドラインツールは、デフォルトでデフォルトポート(5432)でリッスンしているサーバーと通信します。

関連するサーバーの/etc/postgresql/$VERSION/main/postgresql.confファイルでport変数を探すことにより、各サーバーがリッスンしているポートを判別できます。

コマンドラインツールがデフォルトで他のサーバーと通信するようにするには、2つのオプションがあります。

まず、前述の構成ファイルを編集し、両方のサーバーを再起動することにより、2つのサーバーがリッスンしているポートを切り替えることができます(おそらく、どちらかを起動する前に各サーバーを停止することをお勧めします)。

または、PGPORT環境変数を目的のデフォルトサーバーのポート番号に設定できます。これは、PostgreSQLクライアントライブラリを使用するすべてのアプリケーションに影響するはずです。


各データベースクラスターの内容を一覧表示するには、psql -l -p PORT_NUMBERを使用します。データを移行するには、PostgreSQLドキュメントのセクション「24.4。Migration Between Releases」を参照してください。

PostgreSQLの古いバージョンを削除すると、ディスクへの書き込みが減り、ラップトップとSSDの消耗が減ります。

15