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

pg_dumpおよびpsql-Upostgres db_name <...を使用してデータベースを移動すると、エラーが発生します:リレーションtable_nameは存在しません

    同じバージョンのPostgreSQLに移行しますか? pg_dump 8.3でダンプを作成し、Postgresql8.4で復元しようとすると問題が発生する可能性があります。とにかく、それが同じバージョンであると仮定して、以下を試してください:

    ユーザーやグループなどのすべてのグローバルオブジェクトをダンプします(ダンプに含まれていないかどうかはわかりません):

    pg_dumpall -g -U postgres > globals.sql
    

    データベースのダンプスキーマ:

    pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname
    

    データベースの内容をダンプします:

    pg_dump -Fc -v -f full.dump -U postgres dbname
    

    復元します。

    psql -f globals.sql
    psql -f db-schema.sql dbname
    pg_restore -a -d dbname -Fc full.dump
    

    それは私の0.02ドルです。お役に立てば幸いです。



    1. jspのパスでデータベースからファイルを取得する

    2. 上級ユーザー向けのSQLServer2016での全文検索の実装

    3. Doctrine 2 DQL CASE WHEN in Count

    4. LOOPをSQLに組み込む