postgresql データベースのリストをループして、postgresql 関数内からいくつかのクエリを実行したいと思います。これがコード例です...
CREATE OR REPLACE FUNCTION my_function()
RETURNS VOID AS
$$
DECLARE
db VARCHAR(50); -- this declaration is where the confusion is
BEGIN
FOR db IN
SELECT datname FROM pg_catalog.pg_database WHERE datname ~ '^mydbname_'
LOOP
-- this is just an example
SELECT * FROM db;
END LOOP;
END;
$$
LANGUAGE 'plpgsql';
postgresql を使用しEXECUTE
てクエリを文字列 (例: ) として評価できることは承知していますEXECUTE 'SELECT * FROM ' || db || ';';
が、クエリはかなり長く複雑です。
postgresqlでこれを行う方法はありますか? 「データベース」宣言タイプはありますか?