Ubuntu 14.04 では、最新の postgres を取得するために次の操作を実行しました。
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
次にバージョン 9.4 をインストールしました。
sudo apt-get install postgresql-9.4
しかし、現在では 3 つのバージョンがあるようです:
sudo service postgresql stop
* Stopping PostgreSQL 9.3 database server [ OK ]
* Stopping PostgreSQL 9.4 database server [ OK ]
* Stopping PostgreSQL 9.5 database server [ OK ]
9.4だけを残して、他のものをアンインストールするにはどうすればいいでしょうか? よろしくお願いします
アップデート:
コメントで提案されたように、9.3 と 9.5 をアンインストールしました。
しかし、私がこれをすると:
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
ここまでは順調ですが、postgres に切り替えると次のようになります。
sudo su postgres
psql を実行すると、エラーが発生します:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
答え1
PostgreSQL のさまざまなバージョンは、パッケージ postgresql-9.* にあります。
したがって、次の 2 つのパッケージを削除する必要があります。
sudo apt-get purge postgresql-9.3 postgresql-9.5
次に、不要な設定フォルダを削除する必要があります。
rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
/var/lib/ フォルダーから次のファイルがある場合:
/var/lib/postgresql/*
お役に立てれば幸いです。
答え2
回答を追加するのは非常に遅くなりましたが、ここにいる人々の役に立つかもしれません。
短い答え:エラーは、Postgres が間違った (デフォルトではない) ポートに設定されていることを示します。正しいポートを使用してください。
長い答え:複数のバージョンの Postgresql をインストールすると、それらすべてが異なるポートで postgres クラスターの 実行を開始しました。出力では、次のバージョンの postgres が実行されています: 9.3 --> 5432
、、9.4 -->5434
。9.5 --> 5433
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
他のバージョンは、お使いのバージョンがsudo apt-get purge postgresql-9.x
どこに9.x
あるかを使用してアンインストールできますが、この場合、システムに存在していたバージョン (9.4) はポート 5434 で実行するように構成されています。したがって、このエラーは、psql がデフォルトで、postgres が接続されていないIs the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
ポートに接続しようとしていることを完全に示しています。5432
2つの解決策:
psql -p 5434
psql コマンドで ie port オプション (-p/--port)を使用します。- または、postgres サーバー
port
構成値を/etc/postgresql/9.5/main/postgresql.conf
5432 で動作するように構成します。変更後は postgres を再起動することを忘れないでください。