sql >> データベース >  >> RDS >> PostgreSQL

Postgres 9.4からラージオブジェクトデータをダンプし、それをPostgres8.xにインポートするにはどうすればよいですか?

    問題は、ダンプが関数pg_catalog.lowrite(integer, bytea)を使用することです。 ラージオブジェクトを作成し、デフォルトの構文はどのようにbytea PostgreSQLで表されるリテラルはバージョン9.0で変更されました。

    パラメータbytea_outputがあります これはescapeに設定できます byteaを出力します それ以降のPostgreSQLバージョンでは古い形式で。残念ながら、pg_dump ダンプを作成するときにそのパラメータを尊重せず、常に「新しい」hexを使用します フォーマット。

    その結果、PostgreSQLバージョン9.0以降の大きなオブジェクトを含むダンプを9.0より前のデータベースに復元することはできません。

    これらの大きなオブジェクトは、おそらく移行プログラムを作成するなど、他の方法で転送する必要があります。

    (pgsql-hackersメーリングリストで)pg_dumpのオプションを提案できます。 bytea_escapeを設定できます ダンプの場合ですが、新しいバージョンのPostgreSQLから古いバージョンへのダンプの復元はサポートされていないため、抵抗に遭遇する可能性があります。



    1. トランザクション内のエラーを無視するようにPostgresqlに依頼できますか

    2. MySQLトランザクションの難問

    3. SQL Server での大量の古いデータのアーカイブ

    4. MySQLWorkBenchからAWSMySQL/MariaDBRDSまたはEC2データベースに接続する方法