LastBackupLastBackup
データベース接続

PostgreSQL

PostgreSQL データベースを接続して自動バックアップを設定

PostgreSQL

PostgreSQL は強力なオープンソースリレーショナルデータベースです。LastBackup は pg_dump を使用して一貫性のあるバックアップを作成します。

設定パラメータ

フィールド
ホストデータベースサーバーアドレス(例:localhostdb.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 RDSrequireRDS CA 証明書をダウンロード
Supabaserequireデフォルトで SSL 有効
DigitalOceanrequireSSL 必須
ローカルpreferオプション

PgBouncer サポート

PostgreSQL が PgBouncer コネクションプーラーの背後にある場合は、接続設定で PgBouncer モード を有効にしてください。

なぜ必要?

PgBouncer はトランザクションプーリングモードで PostgreSQL のプリペアドステートメントをサポートしていません。PgBouncer モードを有効にすると、互換性を確保するためにプリペアドステートメントが無効になります。

よくある PgBouncer エラー

エラー原因解決策
server_login_retryログイン失敗回数が多すぎる1-2 分待ってから再試行
no more connections allowedコネクションプールが満杯後で再試行
prepared statement does not existPgBouncer モードが無効PgBouncer モードを有効化

接続文字列パラメータ

PgBouncer 使用時、これらの URL パラメータが一般的に使用されますが、LastBackup が自動的に処理します:

?pgbouncer=true&connection_limit=1

これらを手動で追加する必要はありません。UI で PgBouncer モードを有効にするだけです。

ベストプラクティス

  • 最小権限の専用バックアップユーザーを使用
  • リモート接続では SSL を有効化
  • 定期的にリストアをテストしてバックアップの整合性を確認
  • 高トラフィックデータベースではコネクションプーリングを検討

On this page

PostgreSQL | LastBackup