1. ホーム
  2. sql

[解決済み] postgres で copy コマンドを使用して、あるテーブルから別のテーブルへデータをコピーするにはどうすればよいですか?

2022-10-25 15:45:32

質問

copyコマンドを使用して、あるテーブルのデータをデータベース外のファイルにコピーしています。

コマンドを使用して、あるテーブルのデータを別のテーブルにコピーすることは可能でしょうか。

もし可能であれば、どなたかクエリを共有していただけませんか。

あるいは、pg_dump やそのようなものを使用できるような、より良いアプローチはないでしょうか。

どのように解決するのですか?

簡単にはできませんが、そうする必要もありません。

CREATE TABLE mycopy AS
SELECT * FROM mytable;

または

CREATE TABLE mycopy (LIKE mytable INCLUDING ALL);

INSERT INTO mycopy
SELECT * FROM mytable;

一部の列だけを選択したり、並び替えが必要な場合は、このようにします。

INSERT INTO mycopy(colA, colB)
SELECT col1, col2 FROM mytable;

対象テーブルだけを選択的にpg_dumpしてリストアすることもできます。