Essa resposta é ótima para quando eu precisava reapropriar 150 tabelas, cada uma com 40 tabelas, mas exibia as 6.000 linhas de SELECT antes de executar as 6.000 instruções ALTER.
Assim, conforme declarado no Assunto, existe alguma maneira de suprimir a saída SELECT?
sides=> SELECT format(
sides(> 'ALTER TABLE %I.%I.%I OWNER TO sides_owner;',
sides(> table_catalog,
sides(> table_schema,
sides(> table_name
sides(> )
sides-> FROM information_schema.tables
sides-> WHERE table_schema = 'strans';
format
---------------------------------------------------------------------
ALTER TABLE sides.strans.foo OWNER TO sides_owner;
ALTER TABLE sides.strans.blarg_p2020_02 OWNER TO sides_owner;
ALTER TABLE sides.strans.blarg_p2020_03 OWNER TO sides_owner;
ALTER TABLE sides.strans.blarg_p2020_04 OWNER TO sides_owner;
ALTER TABLE sides.strans.blarg_error_p2019_01 OWNER TO sides_owner;
etc
etc
etc
Sim, omitindo o ponto e vírgula após a instrução SQL. Ou seja,
\gexec
ele próprio encerra a instrução SQL.