AWS RDSに複数のPostgreSQLインスタンスがあります。災害復旧ポリシーに準拠するために、各データベースのオンプレミスコピーを維持する必要があります。私は正常にpg_dumpとpg_restoreを使用してデータベーススキーマとテーブルをオンプレミスサーバにエクスポートしていますが、私はロールとテーブルスペースのエクスポートに失敗しています。私はこれがpg_dumpallを使用することによってのみ可能であることを発見しましたが、これにはスーパーユーザーのアクセスが必要であり、RDSでは許可されていないため、データベースのこれらの側面を社内のサーバーにどのようにエクスポートできますか?AWS pg_dumpにグローバルが含まれていない
私はpg_dumpコマンド:
Pg_dump -h {AWS Endpoint} -U {Master Username}-p 5432 -F c -f C:\AWS_Backups\{filename}.dmp {database name}
私にpg_restoreコマンド:私はしかし、彼らは「グローバルに対処していない、自分のPostgreSQLデータベースをエクスポートできるようにpg_dumpを使用している人々の複数の例を発見した
pg_restore -h {AWS Endpoint} -p 5432 -U {Master Username} -d {database name} {filename}.dmp
"これはpg_dumpを使って無視されます。私はドキュメンテーションを誤解しましたか?私のpg_restoreを実行した後、私のログインはデータベース上に作成されませんでした。
FULLデータベース(グローバルを含む)を私たちのオフサイトの場所に届けるためのお手伝いをさせていただきます。
'pg_dump'にはグローバルは含まれません。 '--globals-only'オプションで' pg_dumpall'を使う必要があります。 –
これは私が見つけたことですが、AWSのオプションではありません。なぜなら、スーパーユーザーのアクセスが必要なためです。 pg_dumpallを実行しようとすると、「pg_authid関連のパーミッションが拒否されました」というエラーが表示されます。 AWSの限界を乗り越えることができたのは誰ですか? – Wendy
AWSの制限ではなく、設計によるものだと思います。私は間違っている可能性がある。 –