Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT 'ALTER SEQUENCE '|| quote_ident(MIN(schema_name)) ||'.'|| quote_ident(MIN(seq_name))
- ||' OWNED BY '|| quote_ident(MIN(TABLE_NAME)) ||'.'|| quote_ident(MIN(column_name)) ||';'
- FROM (
- SELECT
- n.nspname AS schema_name,
- c.relname AS TABLE_NAME,
- a.attname AS column_name,
- SUBSTRING(d.adsrc FROM E'^nextval\\(''([^'']*)''(?:::text|::regclass)?\\)') AS seq_name
- FROM pg_class c
- JOIN pg_attribute a ON (c.oid=a.attrelid)
- JOIN pg_attrdef d ON (a.attrelid=d.adrelid AND a.attnum=d.adnum)
- JOIN pg_namespace n ON (c.relnamespace=n.oid)
- WHERE has_schema_privilege(n.oid,'USAGE')
- AND n.nspname NOT LIKE 'pg!_%' escape '!'
- AND has_table_privilege(c.oid,'SELECT')
- AND (NOT a.attisdropped)
- AND d.adsrc ~ '^nextval'
- ) seq
- GROUP BY seq_name HAVING COUNT(*)=1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement