SELECT
format(
'SELECT setval(%L, COALESCE((SELECT MAX(%I) FROM %I.%I), 1), true);',
pg_get_serial_sequence(format('%I.%I', n.nspname, c.relname), a.attname),
a.attname,
n.nspname,
c.relname
) AS fix_sql
FROM pg_class c
JOIN pg_namespace n ON n.oid = c.relnamespace
JOIN pg_attribute a ON a.attrelid = c.oid
WHERE c.relkind = 'r'
AND n.nspname = 'jy'
AND a.attidentity IN ('a','d') OR a.attnum IN (
SELECT adnum FROM pg_attrdef WHERE adrelid = c.oid
)
AND pg_get_serial_sequence(format('%I.%I', n.nspname, c.relname), a.attname) IS NOT NULL;