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

あるDBのPostgreSQLビューから別のDBのテーブルに結果をコピーします

    COPY TOの一時テーブルを作成する必要はありません 。 PostgreSQL8.2以降のクエリはすべてソースになります 。

    COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
    

    コピーに関するマニュアル をお読みください 。

    を使用して必要なテーブルをローカルに作成します
    CREATE table tbl1 AS
    SELECT * FROM view1
    LIMIT 0;   -- no data, just the schema.
    

    DDL命令をコピーして、ターゲットデータベースにすべてのテーブルを作成します。 pgAdmin これを行うのに便利なGUIの1つです。ソースデータベースの空のテーブルを再度削除します。

    でデータを読み込む
    COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
    

    @wildplasserが説明しているように、ダンプ/復元は別の方法です。

    1回限りの転送では、これらの方法の1つをお勧めします。繰り返し適用する場合は、 dblink または SQL / MED (外部データの管理) より適切かもしれません。



    1. PostgreSQLのパフォーマンス-SELECTとストアド関数

    2. GoアプリでDb接続の開閉を処理するにはどうすればよいですか?

    3. MariaDB JSON_MERGE()の説明

    4. 初心者向けのSQLCOUNT()