8

Mac OS X 10.6.x に postgres をインストールしました。postgres データベース バージョンを実行したとき:

psql --versionpsql (PostgreSQL) 9.1.1
contains support for command-line editing

サーバーのバージョンを確認したところ:

psql -c "select version();"                                                                     version                                                                      
--------------------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.0.5 on x86_64-apple-darwin10.8.0, compiled by GCC i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3), 64-bit
(1 row)

だから私が走るとき

bash-3.2$ psql
psql (9.1.1, server 9.0.5)
WARNING: psql version 9.1, server version 9.0.
         Some psql features might not work.

それらの機能が何であるかはわかりません。これらのバージョンは競合しています。私はpostgresを初めて使用するので、postgresサーバーだけをアップグレードする方法がわかりません。オンラインで何かを検索しようとしましたが、あまり助けが見つかりませんでした。postgres をアンインストールして再インストールしたくありません。競合することなく両方を一緒に使用できる方法はありますか? または、サーバーをデータベースと同じバージョンにアップグレードするだけですか?

編集:

which psql
/opt/local/lib/postgresql91/bin//psql

which postgres
/opt/local/lib/postgresql91/bin//postgres

ps -eaf|grep postgres
    0    60     1   0   0:00.07 ??         0:00.09 /opt/local/bin/daemondo --label=postgresql90-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper restart ; --pid=none
  103  3971  3967   0   0:00.69 ??         0:01.17 postgres: writer process     
  103  3972  3967   0   0:00.67 ??         0:00.88 postgres: wal writer process     
  103  3973  3967   0   0:00.18 ??         0:00.23 postgres: autovacuum launcher process     
  103  3974  3967   0   0:00.19 ??         0:00.21 postgres: stats collector process     
    0  3616  2726   0   0:00.04 ttys000    0:00.06 su postgres
  103  3967  3619   0   0:00.23 ttys000    0:00.34 postgres -D /usr/local/pgsql/data
    0  4559  4055   0   0:00.03 ttys001    0:00.05 su postgres
  103  5922  4560   0   0:00.01 ttys001    0:00.01 grep postgres

ありがとうございました。

4

3 に答える 3

4

私のものは自作インストールで、これが私がしたことです(バージョンの問題なしで機能するpsqlに連れて行ってくれました)-KyngChaosのpostgresqlのmacビルドをインストールしようとしています

step 0 (already did):
brew uninstall postgresql

step1
which psql
=> "locationpath" (in my case, /usr/bin/psql)
sudo rm "locationpath"

step2
#inside ~/.bash_profile
export PATH=/usr/local/pgsql-9.3/bin:$PATH

step3
psql
#works
于 2013-10-08T20:20:57.817 に答える
4

以前にPostgreSQLをインストールしたことがあると思います。これを確認してください。この場合、データベースをアップグレードする必要があります。これは重要なステップです。単にソフトウェアをアップグレードすることはできません。

現在実行中のサーバーを停止してみてください。まず、現在実行中の PostgreSQL のソースを確認します。

sudo launchctl list | grep -Ei "macports|postgres"

次に実行します。

sudo launchctl unload -w <OldPostgreSQL.plist>

次のように新しいサーバーを起動します。

sudo launchctl load -w <NewPostgreSQL.plist>

新しい plist は
/Library/LaunchDaemons/org.macports.postgresql91-server.plist.


アップグレードが必要な場合:

  1. 新しいバージョンの を使用して、最初にデータベースの完全なダンプを実行してくださいpg_dump
  2. 新しいフォルダで新しいバージョンの を実行します。initdbPGDATA
  3. 上記の手順に従って、新しいサーバーを起動します。
  4. 完全なダンプをアップロードします。

これは、この件に関して私が見つけた小さな説明です。これは、メジャー リリース間のアップグレードに関する PostgreSQL の公式ドキュメントです。

于 2012-07-06T20:40:35.327 に答える
1

これは、新規インストールの前にすでに PostgreSQL のバージョンを持っていた場合に発生する可能性があります。

2 つのバージョンの PostgreSQL があるため、2 つのバージョンの psql が必要です。基本的に、psql と入力すると、システムは、接続しようとしているデータベースのバージョンを特定できない場合があります。

以前のバージョンを削除します。または、新しいバージョンのサーバーとともに新しい psql をインストールします。

于 2012-07-06T20:11:47.003 に答える