🧚 ¡Escucha! Beekeeper Studio es una GUI para PostgreSQL rápida, moderna y de código abierto Descarga
19 de agosto de 2024 Por Matthew Rathbone

Para renombrar una tabla en PostgreSQL, usa la sentencia ALTER TABLE seguida de la cláusula RENAME TO.

Antes de que sigas leyendo, quería contarte sobre nuestra GUI de código abierto para PostgreSQL, Beekeeper Studio. Puedes renombrar una tabla haciendo clic derecho sobre ella en la barra lateral, y es gratis para PostgreSQL. Descárgala aquí.

Sintaxis

ALTER TABLE old_table_name RENAME TO new_table_name;

Ejemplo

Supón que tienes una tabla llamada customers y quieres renombrarla a clients. El comando SQL sería:

ALTER TABLE customers RENAME TO clients;

Después de ejecutar el comando anterior, la tabla customers se renombrará a clients. Puedes verificar el cambio consultando information_schema o simplemente listando todas las tablas con \d:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'public';

Resultado esperado:

table_name 
--------------
clients
other_table

Renombrar tablas con dependencias

Al renombrar una tabla, es importante tomar en cuenta las dependencias existentes, como llaves foráneas, índices o triggers. PostgreSQL debería manejarlas automáticamente, actualizando las referencias a la tabla renombrada.

Ejemplo con llave foránea

Supón que la tabla orders tiene una llave foránea que hace referencia a la tabla customers:

CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    customer_id INT REFERENCES customers(customer_id)
);

Cuando renombras customers a clients, PostgreSQL actualiza automáticamente la referencia de la llave foránea:

ALTER TABLE customers RENAME TO clients;

Verificación

Para asegurarte de que la llave foránea sigue funcionando, puedes ejecutar una sentencia INSERT sencilla:

INSERT INTO clients (customer_id) VALUES (1);

INSERT INTO orders (customer_id) VALUES (1);

Si la referencia de la llave foránea no se hubiera actualizado, el segundo INSERT fallaría. Si funciona, significa que PostgreSQL actualizó la referencia correctamente.

Renombrar una tabla dentro de un esquema

Si tu tabla está dentro de un esquema específico, necesitas incluir el esquema en el comando ALTER TABLE.

Ejemplo

Considera una tabla sales.customers dentro del esquema sales:

ALTER TABLE sales.customers RENAME TO clients;

La tabla sales.customers ahora es sales.clients. Puedes verificarlo listando las tablas del esquema sales:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'sales';

Resultado esperado

table_name
-----------
clients
other_table

Usando Beekeeper Studio

Renombrar una tabla en Beekeeper Studio es muy sencillo:

  1. Conéctate a tu base de datos PostgreSQL con Beekeeper Studio.
  2. En el panel izquierdo, expande el esquema que contiene la tabla y verás una lista de tablas.
  3. Haz clic derecho en la tabla que quieres renombrar y elige la opción rename table.
  4. Escribe el nuevo nombre de la tabla y presiona Enter.

Beekeeper Studio se encarga del resto y envía el comando SQL correspondiente a tu base de datos PostgreSQL.

Consideraciones y buenas prácticas

  • Nombres de índices y restricciones: Aunque PostgreSQL actualiza automáticamente dependencias como las llaves foráneas, no renombra índices ni restricciones. Si sus nombres incluyen el nombre anterior de la tabla, quizá tengas que renombrarlos manualmente.

  • Permisos: Renombrar una tabla no afecta sus permisos. Los usuarios que tenían acceso a la tabla anterior tendrán el mismo acceso a la tabla renombrada.

  • Dependencias de vistas: Si alguna vista depende de la tabla, seguirá funcionando después del cambio de nombre, aunque tal vez quieras revisarla y actualizarla para mayor claridad.

Conclusión

Renombrar tablas en PostgreSQL es una operación sencilla pero importante. Ya sea que trabajes con tablas en distintos esquemas o con dependencias, PostgreSQL maneja el proceso sin problemas y se asegura de que todas las referencias se actualicen correctamente. Si sigues las buenas prácticas y entiendes cómo funciona el proceso, podrás mantener la integridad y la organización de tu base de datos.

Otros artículos que te pueden gustar:

Beekeeper Studio es una GUI para PostgreSQL gratuita y de código abierto

¡Este es el cliente de PostgreSQL que estaba buscando! La interfaz es lo que lo distingue: limpia, intuitiva y potente. Adiós al torpe PGAdmin. - David Cyprian

Beekeeper Studio es un cliente de PostgreSQL rápido, intuitivo y fácil de usar. También es compatible con muchísimas otras bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de PostgreSQL sobre Beekeeper Studio

Jay Simons Jay Simons Dueño, Designly.biz

A diferencia de pgAdmin, Beekeeper es increíblemente fácil de usar y no le faltan funciones, ¡y el precio es justo! La función de respaldo de bases de datos es especialmente útil. Simplemente un gran software.

Alex M

Herramienta fabulosa, el IDE más práctico que he encontrado hasta ahora para administrar bases de datos Postgres y MySql: simplemente funciona, sin complicaciones :-)

¿Listo para mejorar tu flujo de trabajo con PostgreSQL?

download Descarga gratis