如何执行pgAdmin4中生成的查询语句?

How to execute query statements generated in pgAdmin4?

我有以下查询,它在 pgAdmin4 的 'Data Output' 字段中生成一个 ALTER TABLE 语句列表。我可以将它们复制并粘贴回查询窗格并在那里执行。

select 'ALTER TABLE ' || table_name || ' OWNER TO myuser;' from information_schema.tables where table_schema = 'public';

如何在不复制粘贴的情况下执行生成的语句?

你可以使用这个函数。

CREATE OR REPLACE FUNCTION change_permission_table() 
RETURNS VOID AS $$
DECLARE
    rec text;
BEGIN
    FOR rec IN SELECT 'ALTER TABLE ' || table_name || ' OWNER TO maz;' FROM information_schema.tables WHERE table_schema = 'public'
    LOOP 
      EXECUTE rec;
    END LOOP;
END;
$$ LANGUAGE plpgsql;

-- Run the function to change the permission
SELECT change_permission_table()