Skip to content

Laravel

Tested with: Laravel 11 · PHP 8.3 · PDO pgsql / mysqlnd · predis 2.3

.env
DB_CONNECTION=pgsql
DB_HOST=pg-7f3k.us-east.databasezy.com
DB_PORT=5432
DB_DATABASE=app
DB_USERNAME=app
DB_PASSWORD=<password>
DB_SSLMODE=verify-full
DB_SSLROOTCERT=/var/www/databasezy-ca.pem
config/database.php (pgsql excerpt)
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'sslmode' => env('DB_SSLMODE', 'verify-full'),
'sslrootcert' => env('DB_SSLROOTCERT'),
],
.env
REDIS_CLIENT=predis
REDIS_SCHEME=tls
REDIS_HOST=valkey-7f3k.us-east.databasezy.com
REDIS_PORT=6379
REDIS_USERNAME=app
REDIS_PASSWORD=<password>
CACHE_STORE=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
config/database.php (redis excerpt)
'options' => [
'ssl' => ['cafile' => env('DB_SSLROOTCERT', '/var/www/databasezy-ca.pem'), 'verify_peer' => true],
],

php artisan migrate --force in the release step. Octane and queue workers are long-lived: keep one persistent PDO connection each and count them against max_connections; PHP-FPM without persistence opens a connection per request, so use the pooled PostgreSQL endpoint under load.