1
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?

【AWS/EC2】Amazon Linux 2023 + PostgreSQL 15 で Laravel の migration が通らない時の解決策

1
Last updated at Posted at 2026-04-05

はじめに

AWSのEC2(Amazon Linux 2023)を使い、PHP 8.3 + PostgreSQL 15 で Laravel 環境を構築していた際、php artisan migrate でハマったポイントをまとめます。

1. SQLSTATE[08006] Ident authentication failed

Laravelの .env を正しく設定しているのに、接続拒否されるパターンです。

原因:

PostgreSQLのデフォルト認証方式が ident になっているため、OSユーザーとDBユーザーが一致しないと弾かれます。

解決策:

pg_hba.conf を編集し、認証方式を trust (開発用) または md5 に変更します。

sudo nano /var/lib/pgsql/data/pg_hba.conf

# 修正後
host    all             all             127.0.0.1/32            trust

※今回は開発環境なので接続を優先して trust にしましたが、本番環境ではパスワード認証(md5 等)にするのが定石です!

設定後は必ず再起動を忘れずに↓

sudo systemctl restart postgresql

2. SQLSTATE[42501] Insufficient privilege: permission denied for schema public

接続はできたのに、テーブル作成時にエラーが出るパターンです。

原因:

PostgreSQL 15以降、新規ユーザーには public スキーマへの CREATE 権限がデフォルトで付与されなくなったためです。

解決策:

データベースにログインし、対象ユーザーに権限を付与します。

sudo -u postgres psql -d {db名を入れてね}

-- 権限付与SQL
GRANT ALL ON SCHEMA public TO {user名を入れてね};

まとめ
①pg_hba.conf で認証の門番を説得する。

②GRANT 文でテーブルを作る許可をもらう。
この2段階の設定で、無事、migrate に成功しました!

先述のようにpg_hba.confは、今回は開発環境なので接続を優先して trust にしましたが、本番環境ではパスワード認証(md5 等)にしましょう。

1
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
1
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?