[解決済み】データを失うことなく、PostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法は?[クローズド]
質問
Ruby on Railsアプリケーション(Mac OS X 10.9上)でPostgreSQLデータベースを使用しているのですが、PostgreSQLはどのように動作しますか?
PostgreSQLデータベースのアップグレード方法について、詳しい説明はありますか?
データベースのデータが壊れたり、ぐちゃぐちゃにならないか心配です。
どのように解決するのですか?
Postgresのインストールとアップグレードにhome-brewを使用したと仮定して、次の手順を実行します。
-
現在のPostgresサーバを停止します。
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
-
新しい10.1データベースを初期化します。
initdb /usr/local/var/postgres10.1 -E utf8
-
走る
pg_upgrade
(注意:下記以外からアップグレードする場合はbinのバージョンを変更すること) :pg_upgrade -v \ -d /usr/local/var/postgres \ -D /usr/local/var/postgres10.1 \ -b /usr/local/Cellar/postgresql/9.6.5/bin/ \ -B /usr/local/Cellar/postgresql/10.1/bin/
-v
冗長な内部ロギングを有効にする-d
古いデータベースクラスタ設定ディレクトリ-D
新しいデータベースクラスタ構成ディレクトリ-b
旧 PostgreSQL 実行可能ディレクトリ-B
新しいPostgreSQLの実行可能ディレクトリ -
新しいデータを所定の位置に移動する。
cd /usr/local/var mv postgres postgres9.6 mv postgres10.1 postgres
-
Postgresを再起動します。
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
-
チェック
/usr/local/var/postgres/server.log
の詳細と、新しいサーバーが正しく起動したことを確認します。 -
最後に、railsを再インストールします。
pg
ジェムgem uninstall pg gem install pg
をじっくりと読んでみることをお勧めします。 PostgreSQLのドキュメント を読んで、上記の手順でやっていることを正確に理解し、フラストレーションを最小限に抑えてください。
関連
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] psql: FATAL: データベース "<user>" が存在しない
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] Mac OSでNode.jsを最新バージョンにアップグレードする。
-
[解決済み] PostgreSQLデータベースにアクティブな接続がある場合、そのデータベースを削除する方法は?
-
[解決済み] PostgreSQLデータベースへのSQLダンプのインポート
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
-
[解決済み】CASCADE DELETEを一度だけ実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Postgresql - DBへの自動接続があるため、データベースを削除できない。
-
[解決済み] ERROR: テーブル "tablename" の更新または削除は外部キー制約に違反します。
-
[解決済み] PostgreSQLのCASE ... 複数条件付きEND
-
[解決済み] Ubuntu 18.04でPostgreSQLを再起動する方法
-
[解決済み] PostgreSQLのプロセスが "Idle in transaction "である場合、どのような意味がありますか?
-
[解決済み] Postgresがサーバーに接続できない
-
[解決済み】PostgreSQLで読み取り専用ユーザーを作成する方法は?
-
[解決済み】Postgresデータベースの単一テーブルのバックアップを作成する方法は?
-
[解決済み】Docker化したPostgresデータベースのデータをボリュームで永続化する方法