私は288個のテーブルを持つ特定のスキーマを持つデータベースを継承しています。これらのテーブルはすべてと同じ列名の正確にです。私はCREATE TABLE AS
にした11つのpostgresqlに複数のテーブルをマージする
私の最初の試みで、これらすべての288個のテーブルをマージしたい:
CREATE TABLE bigTable AS SELECT X.* FROM (SELECT tablename FROM pg_tables WHERE tablename LIKE '%xxx') AS X
しかし、これは明らかに動作しません。
だから私はplpgsqlがスクリプトを使用してみました:
DO $$
DECLARE
r RECORD;
BEGIN
FOR r in (SELECT tablename FROM pg_tables WHERE tablename LIKE '%iti') LOOP
INSERT INTO xxx(gid, shape_len, geom)
SELECT * FROM r;
END LOOP;
END;
$$;
しかし、それはr
が何であるかを知らないことを私に伝えます。
私はこの種のものをどのように処理するかについて何か不足していると思います。