データベース接続
PostgreSQL
PostgreSQL データベースを接続して自動バックアップを設定
PostgreSQL
PostgreSQL は強力なオープンソースリレーショナルデータベースです。LastBackup は pg_dump を使用して一貫性のあるバックアップを作成します。
設定パラメータ
| フィールド | 値 |
|---|---|
| ホスト | データベースサーバーアドレス(例:localhost、db.example.com) |
| ポート | 5432(デフォルト) |
| データベース | バックアップするデータベース名 |
| ユーザー名 | PostgreSQL ユーザー |
| パスワード | ユーザーパスワード |
接続文字列形式
postgresql://username:password@host:port/database例:
postgresql://backup_user:secret@db.example.com:5432/myapp必要な権限
バックアップユーザーには以下の権限が必要:
-- 専用バックアップユーザーを作成
CREATE USER backup_user WITH PASSWORD 'secure_password';
-- すべてのテーブルへの読み取り権限を付与
GRANT CONNECT ON DATABASE myapp TO backup_user;
GRANT USAGE ON SCHEMA public TO backup_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup_user;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO backup_user;
-- 将来のテーブル用
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO backup_user;SSL 設定
クラウドホスト PostgreSQL(AWS RDS、Supabase など):
| プロバイダー | SSL モード | 備考 |
|---|---|---|
| AWS RDS | require | RDS CA 証明書をダウンロード |
| Supabase | require | デフォルトで SSL 有効 |
| DigitalOcean | require | SSL 必須 |
| ローカル | prefer | オプション |
PgBouncer サポート
PostgreSQL が PgBouncer コネクションプーラーの背後にある場合は、接続設定で PgBouncer モード を有効にしてください。
なぜ必要?
PgBouncer はトランザクションプーリングモードで PostgreSQL のプリペアドステートメントをサポートしていません。PgBouncer モードを有効にすると、互換性を確保するためにプリペアドステートメントが無効になります。
よくある PgBouncer エラー
| エラー | 原因 | 解決策 |
|---|---|---|
server_login_retry | ログイン失敗回数が多すぎる | 1-2 分待ってから再試行 |
no more connections allowed | コネクションプールが満杯 | 後で再試行 |
prepared statement does not exist | PgBouncer モードが無効 | PgBouncer モードを有効化 |
接続文字列パラメータ
PgBouncer 使用時、これらの URL パラメータが一般的に使用されますが、LastBackup が自動的に処理します:
?pgbouncer=true&connection_limit=1これらを手動で追加する必要はありません。UI で PgBouncer モードを有効にするだけです。
ベストプラクティス
- 最小権限の専用バックアップユーザーを使用
- リモート接続では SSL を有効化
- 定期的にリストアをテストしてバックアップの整合性を確認
- 高トラフィックデータベースではコネクションプーリングを検討