CakePHP 4 で PostgreSQL を使う方法

はじめに

CakePHP 4 のデータベース設定では、デフォルトでは MySQL になっていますが、変更することで PostgreSQL など他のエンジンを選択することもできます。

今日は CakePHP 4 で PostgreSQL を使うための設定方法 をご紹介します。

CakePHP
4.1.3
PostgreSQL
12.3

設定方法

設定は config/app.php で行い、下記のように変更します。

/config/app.php
<?php...
// use Cake\Database\Driver\Mysql; // ← 削除 or コメントアウト
use Cake\Database\Driver\Postgres; // ← 追加
...
return [
    ...
    'Datasources' => [
        ...
        'default' => [
            'className' => Connection::class,
            'driver' => Postgres::class, // ← 変更
            ...
        ],
        ...
        'test' => [
            'className' => Connection::class,
            'driver' => Postgres::class, // ← 変更

各データベースのドライバのファイルは下記にあります。

/vendor/cakephp/cakephp/src/Database/Driver/Postgres.php など

スキーマが public 以外の場合は config/app_local.php の schema で指定してください。

/config/app_local.php
'Datasources' => [
    'default' => [
        ...
        'schema' => 'myschema', // ←コメントアウトを外してスキーマ名を入力