Refresh AutoIncrement value in PostgreSQL

Sometimes on import data to database, you have issue with not updated autoincement keys?

Use this, to generate scripts for update all tables to their max available entry.

SELECT 'SELECT SETVAL(' ||
       quote_literal(quote_ident(PGT.schemaname) || '.' || quote_ident(S.relname)) ||
       ', COALESCE(MAX(' ||quote_ident(C.attname)|| '), 1) ) FROM ' ||
       quote_ident(PGT.schemaname)|| '.'||quote_ident(T.relname)|| ';'
FROM pg_class AS S,
     pg_depend AS D,
     pg_class AS T,
     pg_attribute AS C,
     pg_tables AS PGT
WHERE S.relkind = 'S'
    AND S.oid = D.objid
    AND D.refobjid = T.oid
    AND D.refobjid = C.attrelid
    AND D.refobjsubid = C.attnum
    AND T.relname = PGT.tablename
ORDER BY S.relname;

Read more

Missing foreign keys finder

Sometimes when you need to import big bunch of data you may need to consider setting a flag: SET session_replication_role = 'replica'; However, this import,

Extend »

Usefull PostgreSQL commands

Source : https://gist.github.com/rgreenjr/3637525 — show running queries (pre 9.2) SELECT procpid, age(clock_timestamp(), query_start), usename, current_query FROM pg_stat_activity WHERE current_query != '<IDLE>' AND current_query NOT ILIKE

Extend »
Scroll to Top