0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PostgresでCreateUserが使えない時の救世主!Windowsでの解決策

Posted at

こんにちは、皆さん!Windows 11でPostgresを使ってみたものの、createuserコマンドが使えないという絶望的な状況に直面したことはありませんか?今日はその解決策をお伝えします。

1. ジレンマ:Postgresのcreateuserコマンドが使えない!

Windows 11にPostgresをインストールし、いざcreateuserコマンドを叩いてみたものの...エラーが出てしまった!以下に私の経験した具体的なエラーを共有します。

shell
PS C:\Users\windowsのユーザー名> createuser --interactive test
新しいロールをスーパーユーザーにしますか? (y/n)n
新しいロールに対してデータベースを作成する権限を与えますか? (y/n)n
新しいロールに対して別のロールを作成する権限を与えますか? (y/n)n
パスワード:
パスワード:
createuser: エラー: "localhost"(::1)、
ポート5432のサーバーへの接続に失敗しました:
 FATAL:  password authentication failed for user "のユーザー名"

2. 原因:PostgresにWindowsユーザー名が存在しない

エラーメッセージを見てみると、PostgresがWindowsのユーザー名でのユーザーを認識できていないことがわかります。

3. 解決策:PostgresにWindowsユーザーを作成、権限を付与

では、どうすればいいのでしょうか?その答えは、「PostgresにWindows名と同じユーザーを作成し、そのユーザーに管理者権限を付与する」というものです。以下に具体的な手順を示します。

1: アプリケーションメニューからSQL Shell(psql)を起動します。
スタートボタンを押してアプリケーション一覧から選んで下さい
postgresの項目の中にあります

2: 以下の情報を入力します

SQL Shell(psql)
Server [localhost]: localhost
Database [postgres]: postgres
Port [5432]: 5432
Username [postgres]: postgres
Client Encoding [SJIS]: SJIS
パスワード: (Postgresをインストール時に設定したパスワード)

これで、postgresユーザーとしてPostgresにログインできます。
以下の画面が表示されるはずです

psqlshel
Copy code
psql (15.2)
postgres=#

以降#のあとに記載をしていきます

3: Postgresで新たなユーザーを作成し、権限を付与
まず、新しいユーザーを作成します。次に、そのユーザーにスーパーユーザー権限を付与します。以下のコマンドを使用します:

sql
-- ユーザーを作成
CREATE USER windowsのユーザー名 WITH PASSWORD '任意のパスワード';
-- 権限を付与
ALTER USER windowsのユーザー名 WITH SUPERUSER;

4. 確認:作成したユーザーでの操作が可能かテスト

コマンドプロンプトを起動し、以下のコマンドを実行して新たに作成したユーザーでの操作が可能か確認します

shell
createdb -O windowsのユーザー名 testdb
psql testdb

実行後、下記のように画面が変われば実行に成功しています

shell
testdb=#

※上記の画面からログアウトするには、\qを入力して下さい。

以上で、Postgresのcreateuserコマンドが使えない問題が解決できるはずです。この投稿が皆さんの問題解決に役立つことを願っています!

※この投稿は、chatGPTで校閲しました。内容は、自身で実行・確認したものです。
指摘箇所などございましたら、コメントにてお願いします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?