Muitas vezes criamos uma função para ser executada apenas uma vez. Quando for este o caso, não precisamos cria-la, pois podemos executar o código diratamente. Para o nosso exemplo, supomos que temos uma table mytable e queremos remover todas as constraints desta table que começa com fk_. Basta executar o código abaixo
DO $$DECLARE r record;
BEGIN
FOR r IN SELECT DISTINCT ON (constraint_name) constraint_name, table_name FROM information_schema.table_constraints ORDER BY constraint_name, table_name
LOOP
IF (r.table_name=mytable) AND substring(R.constraint_name from 1 for 3)='fk_' THEN
EXECUTE 'ALTER TABLE ' || quote_ident(r.table_name)|| ' DROP CONSTRAINT '|| quote_ident(r.constraint_name) || ';';
END IF;
END LOOP;
END$$;



