Clave principal de caída de PostgreSQL

Shihab Sikder 20 junio 2023
Clave principal de caída de PostgreSQL

Este artículo analiza el uso de la consulta ALTER TABLE para eliminar la restricción de clave principal en PostgreSQL.

Soltar clave principal en PostgreSQL

Tiene una tabla y desea eliminar el campo clave principal. Observe la siguiente tabla del empleado.

Usando \d table_name, podemos ver el nombre y el tipo de campo de cada columna.

postgres=# \d record
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |
Indexes:
    "record_pkey" PRIMARY KEY, btree (id)

El fragmento de código muestra que id es la clave principal y la restricción es record_pkey. Ahora dejemos caer la columna clave principal.

La sintaxis de eliminar una clave primaria existente.

ALTER TABLE table_name DROP CONSTRAINT primary_key_constraint;

Aquí tenemos una tabla llamada registro. Para eliminar el id de la tabla de registros, la consulta será:

ALTER TABLE record
DROP CONSTRAINT record_pkey;
postgres=# ALTER TABLE record
postgres-# DROP CONSTRAINT record_pkey;
ALTER TABLE

Ahora, veamos la descripción de la tabla. No deberíamos ver la línea.

"record_pkey" PRIMARY KEY, btree (id)

La columna ID seguirá estando en la tabla porque estamos eliminando la restricción de clave principal, no la columna completa. No se tratará como una clave principal.

Escriba \d registros, y ahora debería obtener el siguiente resultado.

postgres=# \d record;
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |


postgres=#

Hay muchas consultas ALTER TABLE; puede consultar la documentación oficial. Además, puede editar la columna clave principal, lo que significa que puede cambiar la clave principal.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Artículo relacionado - PostgreSQL Key