質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

3415閲覧

postgresqlをアカウントごと完全に消去する方法を教えてください

kizemi

総合スコア3

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2023/08/11 02:49

編集2023/08/17 05:55

postgresqlをアカウントごと完全に消去したいです。

前提

はじめ、公式のダウンロードサイトからインストーラーをダウンロードしました。そのあとhomebrewでもインストールしました。そこでhomebrewを使ってターミナルからpostgresqlをいじろうとしたのですが、公式のダウンロードサイトでインストールするときに設定したアカウントのパスワードがわからなくなってしまいました。

ダウンロードサイトからインストールした時のものも、homebrewからインストールしたときのものも全部消したのですが、再インストールしてみるとなぜかアカウントが消えていませんでした。そのせいでパスワードがわからなくて先に進めません。

該当のソースコードというところに書いてある通り、普通はnew roleのパスワードだけでいいところを、最後にもう一度パスワードを要求されてしまいます。

そしてそのパスワードに答えられないと、エラーメッセージという欄にに書いてある通りに前のアカウントのパスワードに答えられなかくて失敗したと書いてありました。

発生している問題・エラーメッセージ

createuser: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: password authentication failed for user "前のアカウントのユーザー名"

該当のソースコード

createuser -P workuser Enter password for new role: Enter it again: Password:

試したこと

brew services stop postgresql
$ brew uninstall postgresql

調べて出てきたこのコマンドの手順でアンインストールしましたがまだ前のアカウントが残っていました。

公式のダウンロードサイトからのものも消すためにファインダーに残っている、postgreと名前がつくファイルなどは全部消しました。Alfredで調べて全部消せたと思います。しかし再インストールするとまだ前に設定したアカウントが残っています。

補足情報(FW/ツールのバージョンなど)

公式のダウンロードサイトからインストールした時に設定したアカウントが消せないのが問題なので、おそらくhomebrewの方はしっかり消せているのだと思います。
公式のダウンロードサイトからダウンロードしてアカウント設定をしてしまうと消せないのでしょうか?

あとpsqlと打つとこのように前のユーザーアカウントのパスワードを聞いてくるので、前のアカウントを全く消去できてないと、ここでも気づきました。

psql Password for user 前のユーザーアカウント名:

macOSはVentura
CPUはインテル
公式サイトからダウンロードしたPostgre SLQのバージョンは15
homebrewでは14をインストールしました。
Postgreと名前がつく消したファイルはゴミ箱からも消去したので消したファイルの名前もディレクトリの名前もわからないですすいません。

which psql とやると
/usr/local/bin/psql と出ました。

which createuser とやると
/usr/local/bin/createuser と出ました。

brew services list Name Status User File mysql none postgresql@14 error 512 ユーザー名 ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist
launchctl list | grep -i postgres - 2 homebrew.mxcl.postgresql@14
ps aux | grep postgres postgres 1241 0.0 0.0 33761368 2700 ?? S 9:12AM 0:00.23 /usr/libexec/trustd --agent postgres 1181 0.0 0.0 33758036 2372 ?? S 9:12AM 0:00.07 /usr/libexec/containermanagerd --runmode=agent --user-container-mode=current --bundle-container-mode=proxy --system-container-mode=none postgres 1180 0.0 0.1 33808160 7128 ?? S 9:12AM 0:00.23 /usr/libexec/secd postgres 1179 0.0 0.0 33691416 1060 ?? S 9:12AM 0:00.01 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad postgres 1178 0.0 0.1 33759540 8224 ?? S 9:12AM 0:00.10 /usr/libexec/lsd postgres 1177 0.0 0.1 33748120 5076 ?? S 9:12AM 0:00.05 /usr/libexec/pkd postgres 1176 0.0 0.0 33711900 1144 ?? S 9:12AM 0:00.04 /usr/sbin/cfprefsd agent postgres 1169 0.0 0.1 33768004 10168 ?? SN 9:12AM 0:02.04 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport -s mdworker-bundle -c MDSImporterBundleFinder -m com.apple.metadata.mdbulkimport postgres 1161 0.0 0.0 33663248 1180 ?? S 9:12AM 0:00.25 /usr/sbin/distnoted agent postgres 347 0.0 0.0 34370168 1368 ?? Ss 9:10AM 0:00.01 postgres: logical replication launcher postgres 346 0.0 0.0 34359928 1684 ?? Ss 9:10AM 0:00.05 postgres: autovacuum launcher postgres 345 0.0 0.0 34359736 856 ?? Ss 9:10AM 0:00.05 postgres: walwriter postgres 343 0.0 0.0 34376120 956 ?? Ss 9:10AM 0:00.06 postgres: background writer postgres 342 0.0 0.0 34358712 1088 ?? Ss 9:10AM 0:00.01 postgres: checkpointer postgres 341 0.0 0.0 34203420 680 ?? Ss 9:10AM 0:00.00 postgres: logger postgres 276 0.0 0.0 34358976 3356 ?? Ss 9:10AM 0:00.31 /Library/PostgreSQL/15/bin/postmaster -D /Library/PostgreSQL/15/data ユーザー名         6203 0.0 0.0 34121332 660 s001 S+ 10:55AM 0:00.01 grep postgres
rm -Rf /usr/local/var/postgresql@14

↑これを打ちこんでも何も返ってこないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2023/08/12 01:03

「一通り調べたいろんなやり方でアンインストールして、インストールしなおしても、前のアカウントが残っており、createuser で新しいユーザーを作ろうとしても前のパスワードを求められて先に進めません。」とのことですが、次のことを具体的に、省略せずに記載してください (質問文を編集して追記してください)。 * 「前のアカウントが残って」いることはどうやって確認したのか (実行したコマンド等と、その結果)。 * 「createuser で新しいユーザーを作ろうとしても前のパスワードを求められて先に進め」ないとはどのような状況なのか (実行したコマンド等と、その結果画面に表示される内容)。
kizemi

2023/08/15 00:51

hoshiさん、そのURLのやつで合ってます。 アンインストールのスクリプトというのを読みましたが、 brew remove postgresql とターミナルに入力するだけでいいんでしょうか?初心者すぎてあまり公式ドキュメントを読み慣れていなくて。
kizemi

2023/08/15 01:18

ikedasさん、macのログインパスワードではないです。一応あらゆるパスワードを試してみましたがだめでした。postgreで前のアカウントを作ったときに入力したパスワードが必要みたいです。そのパスワードもメモしたはずなのですが何故かダメでした
ikedas

2023/08/15 01:48

> 公式のダウンロードサイトからのものも消すためにファインダーに残っている、postgreと名前がつくファイルなどは全部消しました。 消したファイルをすべて記載してください (複数のファイルをディレクトリごと消した場合は、そのディレクトリを記載してくれればいいです)。 それと、次のことを記載してください。 * macOSのバージョン。 * CPUの種類 (IntelかM1、M2か)。 * 「公式のダウンロードサイトからインストールした」PostgreSQLのバージョン。 * homebrewでインストールしたPostgreSQLのバージョン。
ikedas

2023/08/16 00:57

psqlやcreateuserのパスを確認したいです。 コンソールで次のコマンドを実行して、その結果画面に表示される内容を記載してください。 which psql which createuser
ikedas

2023/08/17 01:34

PostgreSQLの動作状況を確認したいです。 PostgreSQLが動作している状態で、コンソールで次のコマンドを実行して、その結果画面に表示される内容を記載してください。 brew services list postgresql@14 launchctl list | grep -i postgres ps aux | grep postgres
ikedas

2023/08/17 01:56

まちがえた。ひとつめのは brew services list だけでいいです。
kizemi

2023/08/17 02:05

できました!
kizemi

2023/08/17 02:07

できましたというのはアカウント消去ができたという意味ではないです。要望に返事ができたという意味です。わかりにくくてすいません
ikedas

2023/08/17 02:10

PostgreSQL 15が動作しています。「公式サイトからダウンロードしたPostgreSQL」のほうですね。そのため、homebrewでインストールしたPostgreSQL 14は起動していません (起動しようとしても失敗します)。 PostgreSQLをアンインストールし、Macを再起動し、再度、上の3つのコマンドの実行結果を記載してください。
kizemi

2023/08/17 02:54

やってみましたが無理でした。postgresqlは諦めてmysqlをやろうと思います。長々と教えてくださりありがとうございました。
ikedas

2023/08/17 03:06

何を「やってみ」て、何がどのように「無理」だったのですか。 具体的に書いてもらえないと、答えようがないです。 また、現在は使いもしないPostgreSQLが勝手に動き続けている状態です。そういうことを繰り返して解決しないままにしていくと、だんだんマシンの動作が重くなっていくし、今回のように予期しないトラブルにあって悩むことになります。 せめてアンインストールはしてはどうですか。
kizemi

2023/08/17 05:53

PostgreSQLをアンインストールし、Macを再起動し、再度、上の3つのコマンドの実行結果を記載してください。 ↑ これをやってから、またhomebrewでインストールしてpsqlと打つとまた前のアカウントのパスワードを要求されました。
ikedas

2023/08/17 06:48

おそらくアンインストールのしかたを間違っています。「brew uninstall postgresql@14」を実行しているのではないですか。 「公式サイトからダウンロードしたPostgreSQL」をアンインストールする必要がありますよね。下の私の回答に、「#2」としてアンインストールのしかたを書き足しましたから、それを見てください。
kizemi

2023/08/18 01:29

できました!ほんとにikedasさんには感謝しかないです。結構解決までに長い時間かかってしまったのに最後まで丁寧にほんとにありがとうございました。ずっと独学で一人でやってたので、初めてこんなに解決能力が高い人に会いました。色々と勉強になりました。ほんとにありがとうございました🙇
guest

回答1

0

ベストアンサー

#1

現在使っているPostgreSQLのインストールのされかたを確認するには、つぎのコマンドを実行します。

brew info postgresql

つぎのような内容が表示されます。

Warning: Formula postgresql was renamed to postgresql@14. ==> postgresql@14: stable 14.7 (bottled) Object-relational database system (中略) ==> Caveats This formula has created a default database cluster with: initdb --locale=C -E UTF-8 /usr/local/var/postgresql@14 For more details, read: https://www.postgresql.org/docs/14/app-initdb.html To start postgresql@14 now and restart at login: brew services start postgresql@14 (後略)

上記の中に、「initdbを使って/usr/local/var/postgresql@14という場所にデータベースクラスタを作成した」という説明があるのがわかるでしょうか (質問者さんの環境でも同じ場所とは限りません。実際に実行して場所を確認してください)。

今回は「PostgreSQLをアカウントごと完全に削除」が目的なので、PostgreSQLをアンインストールしたうえでデータベースクラスタも削除すれば目的は達成されるでしょう。つぎのようにすればよさそうです。

brew services stop postgresql@14 brew uninstall postgresql@14 rm -Rf /usr/local/var/postgresql@14

(繰り返しますが、質問者さんの環境でも同じ場所とは限りませんので場所を確認してください。)


なお、データベースクラスタにすでに大事なデータが入っているので削除したくないというのなら、アカウントのパスワードをリセットする方法もあります。今回の質問の趣旨からはずれるので概略だけ説明すると、データベースクラスタ中のdata/pg_hba.conflocal接続ユーザの認証方式を一時的にtrustにすることで、パスワードなしでサーバに接続してパスワードを設定することができます。設定が終わったらpg_hba.confは元にもどしておきます。

#2

質問者さんの環境には、すでにhomebrew以外のPostgreSQLパッケージがインストールされ、動作中であることがわかりました。そのため、homebrewでインストールしたPostgreSQLは起動に失敗し、動作していません。また、homebrewでインストールしたPostgreSQLに付属するツール (psqlやcreateuser) でデータベースに接続しようとしても、すでにインストールされて動作しているほうのPostgreSQLに接続してしまっていると考えられます。

すでにインストールされているPostgreSQLパッケージは、おそらくInteractive installer by EDBでインストールしたのだと考えられます。これをアンインストールすればいいです。

上の説明によると、次のようにしてアンインストールができます。

  1. PostgreSQLは/Library/PostgreSQL/バージョンというディレクトリにインストールされています。コンソールを開き、ここへ移動します。
    cd /Library/PostgreSQL/バージョン
  2. アンインストーラを起動します。
    open uninstall-postgresql.app
  3. パスワードを要求されたら、ユーザのパスワード (PostgreSQLアカウントのパスワードではない) を入力します。
  4. Uninstallation modeを聞かれたら、"Entire application" を選択して "Next" をクリックします。
  5. "Uninstallation completed" と表示されたら "OK" を選択します。

アンインストールが終わったら、念のためOSを再起動し、アンインストールが成功していることを確認します。

投稿2023/08/16 08:09

編集2023/08/17 04:03
ikedas

総合スコア4443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kizemi

2023/08/17 01:02

brew info postgresql と送ったら Error: No available formula with the name "homebrew/core/postgresql". ==> Searching for a previously deleted formula (in the last month)... Error: No previously deleted formula found. と返ってきました。 以前に色々調べながらいじっている時に既に消してしまったみたいです。
ikedas

2023/08/17 01:04

brew info postgresql@14 とするとどうですか。
kizemi

2023/08/17 01:13

ikedasさんのいう通りにできました! ただ、もう一度homebrewでインストールしたらまだアカウントは残っていました。 psql と打つと前のアカウントのパスワードを要求されてしまいます😭
ikedas

2023/08/17 01:18

質問のほうのコメントで続けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問