PostgreSQLをデフォルトに完全にリセットしますか?


16

質問

LinuxにインストールされたPostgreSQLを完全にリセットする方法はありますか?それで、インストールしたときと同じ状態になりますか?

考え

私は考えました

rm -rf /var/lib/pgsql/*
rm -rf /var/lib/pgsql/backups/*
rm -rf /var/lib/pgsql/data/*

しかし、おそらくそれは推奨される方法ではありません。

目的

これは、それを使用した以前のプログラムからの残りを取り除くのに便利でしょう。


可能性のある重複serverfault.com/q/233234/69930
15年

回答:


4

それはそれを行う必要があります-念の最初の現在の構成が実際にことを確認、これらのディレクトリ内のファイルを格納します。

完了したら、データベースを再起動します。

sudo -U pgsql initdb

1
いいえ、しないでください。少なくともUbuntuでは、独自のラッパーツールを使用することを想定しているため、恐ろしい混乱を引き起こします。
クレイグリンガー14

1
します?それでは、他のシステムを使用する理由がもう1つあります。個人的にはFreeBSDに投票しますが、それぞれが独自のものです。
ジェニーD 14

@クレイグ:どのような混乱を引き起こすでしょうか?Ubuntuでこのメソッドを使用したばかりで、私には問題ないようです。回答に詳細を追加しますか?
15年

1
@halfer postgresql.confとpg_hba.confから始めることは、ububtuスクリプトが期待する場所ではないでしょう。または、作成されたinitdbを無視し、古いものを使用し続けます。
クレイグリンガー

これが、ローカルで初期化したものではなく、接続したリモートデータベースである場合はどうなりますか?
anon58192932

24

それはすべてインストール方法に依存します。

Ubuntu、パッケージから(組み込みまたはapt.postgresql.org)

を使用しpg_wrapperます。PostgreSQLのUbuntuドキュメントを参照してください。あなたはしたいpg_dropclusterすべての既存のPGクラスター、その後、pg_createclusterきれいな新しいもの。

データディレクトリを削除して再初期化するだけではいけません

CentOS / RH / Fedora、組み込みパッケージ

私はこれをインストールしておらず、今は簡単にテストできません。メモリから、サーバーを停止してデータディレクトリを削除するだけで安全だと思います。

CentOS / RH / Fedora、yum.postgresql.orgパッケージ

をご覧ください/usr/share/doc/postgresql??-?.?.?/README.rpm-dist

systemctlまたはserviceラッパーコマンドでサーバーを停止し、データディレクトリを削除してから実行/usr/pgsql-9.3/bin/postgresql93-setup initdbします(バージョンに応じてパスを調整します)。

ディストリビューション、EDBインストーラーから

サーバーを停止し、データディレクトリとinitdb新しいクラスターを削除します。インストーラーのドキュメントを参照してください。

ソースから

サーバーを停止し、データディレクトリを削除して、initdbを再実行します。

OS X

自作: brew uninstall postgresql; brew cleanup; brew install postgresql

Postgres.app?EDBインストーラー?MacPorts?

ビールを探します。ビールを飲みます。繰り返す。これで痛みが消えない場合は、もっと強くします。

ウィンドウズ

  • サービスを停止
  • データディレクトリを削除
  • runas.exepostgresユーザー(9.2以前)またはNETWORKSERVICE(9.2+)としてinitdbを再実行します。または、後で所有権を変更します。

1
OS Xの場合、brewのアンインストールとクリーンアップは、データディレクトリ/usr/local/var/postgresql@9.5に影響しません。(/usr/local/opt/postgresql@9.5のアプリを削除します。「var」ではなく「opt」に注意してください)再インストールする前に「rm -rf /usr/local/var/postgresql@9.5」が必要でした。
カーティスヤロップ

4

単に削除して再インストールするのが最善ではありませんか?

そのようにして、最新バージョンを取得し、その過程で依存関係を更新します。

実行:sudo apt-get --purge remove postgresql

その後:sudo apt-get install postgresql


1
これにより、既存のDB +ユーザーは削除されませんでした(Postgres 9.5以降)
セバスチャンワーグナー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.