Descubrimos que las claves primarias a menudo se quedan atrás del nombre de la tabla principal. Este script nos ayudó a identificar y solucionar los problemas.
select
table_name,
constraint_name ,
'ALTER TABLE ' || table_name || ' RENAME CONSTRAINT ' || constraint_name || ' TO ' || left(table_name, 58) || '_pkey;'
from information_schema.table_constraints tc
where constraint_type = 'PRIMARY KEY'
and constraint_name <> left(table_name, 58) || '_pkey';
Esto busca todas las tablas donde el nombre de la clave principal ya no es el patrón "predeterminado" ( <tablename>_pkey
) y crea un script de cambio de nombre para cada una.
El límite de 58 caracteres en el código anterior es para tener en cuenta el tamaño máximo de los nombres de restricción (63bytes).
Obviamente, compruebe lo que se devuelve antes de ejecutarlo. Espero que sea útil para los demás.