abril 8, 2010 0

Corrigir as sequences do Postgres

By Daniel in Postgres

Função em PLSQL para corrigir as os valores das sequences.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE OR REPLACE FUNCTION "public"."fixsequence"()
  RETURNS "pg_catalog"."int2" AS $BODY$declare v_reg record;
v_sql varchar;
BEGIN
	FOR v_reg IN (
		SELECT t.table_name
		FROM information_schema.TABLES t
		WHERE t.table_schema =  'public'
	) loop
  		v_sql := 'SELECT setval(''' || v_reg.table_name || '_id_seq'', (SELECT max(id)+1 FROM ' || v_reg.table_name || '))';
		execute v_sql;
	end loop;
	RETURN 1;
END
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Furtada descaradamente do Ariel Pat$%&S#.

Tags: , , ,

Leave a Reply

Spam Protection by WP-SpamFree