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

PostgreSQLを使用してデータベース間でデータを転送する

    私はまさにこのことをしなければならなかったので、ここにレシピを投稿すると思いました。これは、両方のデータベースが同じサーバー上にあることを前提としています。

    まず、テーブルを古いデータベースから新しいデータベースにコピーします。コマンドラインで:

    pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
    

    次に、コピーしたテーブルのアクセス許可を新しいデータベースのユーザーに付与します。 psqlにログインします:

    psql -U postgres -d <new_database>
    
    ALTER TABLE <old_table> OWNER TO <new_user>;
    
    \q
    

    この時点で、新しいデータベースにコピーしたテーブルの名前は<old_table>のままです。 古いデータベースから。データを別の場所に移動したい場合は、<new_table>と言います。 、通常のSQLクエリを使用できます:

    INSERT INTO <new_table> (field1, field2, field3) 
    SELECT field1, field2, field3 from <old_table>;
    

    完了しました!



    1. PostgreSQL13を使用した論理レプリケーションのパーティショニング

    2. :OLDおよび:NEW疑似レコードをOracleストアドプロシージャにコピーできますか?

    3. ORA-00942:schema.tableから選択できますが、tableから選択できませんか?

    4. 1114(HY000):テーブルがいっぱいです