[解決済み】ubuntuでpostgresqlを徹底的にパージして再インストールする方法とは?終了
質問
Ubuntu karmicにpostgresqlをインストールする際に、どういうわけか完全に失敗してしまいました。 ゼロからやり直したいのですが、apt-getでパッケージをパージしても、その痕跡が残っていて、再インストールの設定がうまくいきません。
した後。
apt-get purge postgresql
apt-get install postgresql
と書かれています。
Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ...
Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112)
Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist
Error: could not create default cluster. Please create it manually with
pg_createcluster 8.4 main --start
or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
Setting up postgresql (8.4.3-0ubuntu9.10.1) ...
何もない "/etc/postgresql" と "/etc/postgresql-common/" には 'pg_upgradecluser.d' ディレクトリと root.crt および user_clusters ファイルが存在します。
etc/passwd には postgres ユーザーがいます。purge スクリプトはこれに触れていないようです。 多くの症状があり、私はそれを解決することで次の症状を明らかにしました。
今まさに、そのコマンド "pg_createcluster..." を実行すると、「/var/lib/postgresql/8.4/main/postgresql.conf does not exist」と文句を言われるので、その一つを探してみるが、きっとそれで終わりにはならないだろう。
何か簡単なワンライナー(または2つ)で、完全に燃やしてやり直せるものはないでしょうか?
解決方法は?
オプションA
インストールに問題がない場合、不要なPostgreSQLサーバ(クラスタ)は
pg_dropcluster
. 新しいPostgreSQLインスタンスで再起動したいだけなら、完全なパージと再インストールよりもこちらを優先してください。
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
$ sudo systemctl stop postgresql@11-main
$ sudo pg_dropcluster --stop 11 main
$ sudo pg_createcluster --start 11 main
オプションB
もし本当に完全なパージと再インストールを行う必要があるのなら、まずPostgreSQLが起動していないことを確認してください。
ps -C postgres
は結果を表示しないはずです。
では、実行します。
apt-get --purge remove postgresql\*
を使って、システムからすべてのPostgreSQLを削除してください。ただ
postgres
パッケージは単なる空のメタパッケージなので、十分ではありません。
すべてのPostgreSQLパッケージを削除したら、実行します。
rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres
できるようになったはずです。
apt-get install postgresql
または完全インストールの場合。
apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4
関連
-
[解決済み] UbuntuにBoostをインストールする方法
-
[解決済み] ERROR: テーブル "tablename" の更新または削除は外部キー制約に違反します。
-
[解決済み] Postgresのロール "root "が存在しない。Herokuからpg:pullでデータベースを引き出そうとした場合
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] PostgreSQLデータベースにアクティブな接続がある場合、そのデータベースを削除する方法は?
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】Postgresに一括挿入を行う最速の方法は何ですか?
-
[解決済み】Postgresの手動によるシーケンスの変更
-
[解決済み】なぜPostgreSQLのようなデータベース上でRabbitMQのようなメッセージブローカーが必要なのでしょうか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ポストグレス \コピー構文
-
[解決済み] libpqのソースはどこで手に入りますか?
-
[解決済み] postgresqlでクエリから最小値、中央値、最大値を取得するにはどうすればよいですか?
-
[解決済み] Postgresのロール "root "が存在しない。Herokuからpg:pullでデータベースを引き出そうとした場合
-
[解決済み] PostgreSQLのプロセスが "Idle in transaction "である場合、どのような意味がありますか?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
-
[解決済み】PostgreSQLスキーマのテーブルを一覧表示する。
-
[解決済み】PostgreSQLで、既存のテーブルに自動インクリメントの主キーを追加する方法は?
-
[解決済み】psql - コマンドの結果をファイルに保存する
-
[解決済み】Docker化したPostgresデータベースのデータをボリュームで永続化する方法