Postgres, también conocido como PostgreSQL, es una piedra angular en la gestión de bases de datos relacionales a objetos. Tras décadas de trabajo en su desarrollo, Postgres es una base de datos fiable y flexible que ofrece un alto rendimiento.

Esta guía práctica explora cómo crear bases de datos y tablas y eliminar bases de datos en Postgres. Además, muestra cómo realizar las mismas tareas utilizando una herramienta de administración de bases de datos como Adminer.

Primeros Pasos con Postgres

Para empezar, asegúrate de que tienes Postgres instalado en tu sistema. Si no lo está, descarga el archivo necesario y sigue las instrucciones de instalación.

Ten en cuenta que los comandos que se muestran aquí están probados en macOS, pero funcionarán sin problemas en cualquier SO.

Una vez instalado Postgres, introduce este comando en tu terminal para verificar que todo funciona correctamente:

postgres -V

Este comando debería devolver el número de versión de tu instalación de Postgres:

El número de versión de Postgres.
El número de versión de Postgres.

Cómo Conectarse al Servidor de Bases de Datos PostgreSQL

Así que has instalado Postgres en tu sistema y estás listo para crear bases de datos. Pero, ¿cómo accedes a tu base de datos? Aquí es donde entra en juego el terminal interactivo de Postgres, popularmente llamado psql. Psql es una interfaz de Postgres basada en un terminal que te permite realizar consultas a Postgres y ver los resultados de las mismas.

Durante la instalación, Postgres crea un superusuario por defecto en tu sistema operativo (SO) que tiene acceso total dentro de la base de datos. Puedes acceder al terminal psql como superusuario por defecto utilizando este comando:

psql postgres

Tras ejecutar este comando, deberías ver que tu terminal cambia a postgres=#, lo que indica que has iniciado sesión como el superusuario predeterminado.

Una de las mayores ventajas de utilizar psql son los metacomandos. Estas potentes herramientas te permiten realizar tareas administrativas de bases de datos, como conectarte a bases de datos o mostrar tablas, sin conocer los comandos SQL exactos.

Para utilizar un metacomando en psql, empieza con una barra invertida (\) seguida del comando. Aquí tienes algunos ejemplos:

  • \c <database-name> — Te conecta a una base de datos concreta.
  • \l — Lista todas las bases de datos del servidor.
  • \dt — Muestra todas las tablas de una base de datos.

Cómo Crear Bases de Datos Postgres

Cuando trabajes con bases de datos, es una buena práctica seguir el principio del menor privilegio creando un nuevo usuario con permisos específicos. Sin embargo, para simplificar esta guía, vamos a crear y gestionar bases de datos utilizando el superusuario por defecto.

En primer lugar, ejecuta el siguiente metacomando para listar todos los usuarios de tu servidor Postgres:

\du

Si no has añadido ningún usuario nuevo, sólo deberías ver el superusuario predeterminado:

Usuarios en el servidor Postgres local.
Usuarios en el servidor Postgres local.

El superusuario por defecto puede aparecer como nombre de usuario de Postgres o de tu SO, dependiendo de la configuración de tu sistema.

Por defecto, el superusuario no tiene contraseña. Sin embargo, para la administración posterior de la base de datos, establece una contraseña mediante este comando:

\password <superuser-name>

Introduce tu contraseña cuando se te solicite y confírmala. Ahora, estás preparado para empezar a crear bases de datos en tu servidor Postgres. La sintaxis para crear una base de datos es CREATE DATABASE <database-name>.

Empecemos creando una base de datos llamada sales:

CREATE DATABASE sales;

Después de crear con éxito la base de datos, aparece lo siguiente

Creando una base de datos Postgres.
Creando una base de datos Postgres.

Ahora, crea otras dos bases de datos, customers y employees, con estos comandos:

CREATE DATABASE customers;
CREATE DATABASE employees;

Ahora, has creado tres bases de datos en tu servidor Postgres local. Para listar todas las bases de datos que has creado, utiliza este metacomando:

\l
Bases de datos en el servidor Postgres local.
Bases de datos en el servidor Postgres local.

Estas son las tres bases de datos que has creado hasta ahora. Puedes ignorar las otras bases de datos de la imagen, ya que esas bases de datos vienen por defecto con la instalación de Postgres.

Ahora, puedes conectarte a una base de datos concreta. El metacomando para conectar con cualquier base de datos es \c <database-name>.

Ejecuta el siguiente comando para conectarte a la base de datos sales:

\c sales

Debería aparecer el siguiente mensaje en tu terminal:

Conectando con una base de datos.
Conectando con una base de datos.

Una vez conectado a una base de datos, puedes cambiar fácilmente a otra base de datos del servidor con el mismo comando. Así, desde la base de datos sales, puedes ejecutar el siguiente comando para conectarte a la base de datos customers:

\c customers

Crear Tablas

Para empezar, necesitarás crear tablas para poblar tu base de datos con datos. La sintaxis para crear una tabla en Postgres sigue la siguiente estructura:

CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);

Comienza conectándote a la base de datos sales.

\c sales

A continuación, crea la tabla products con tres columnas que no pueden ser nulas: product_id, product_name, y quantity_sold:

CREATE TABLE products(
   Product_id			INT     NOT NULL,
   Product_name		TEXT    NOT NULL,
   Quantity_sold		   INT     NOT NULL
);

Deberías ver la siguiente salida si la operación se realiza correctamente:

Crear tablas en una base de datos.
Crear tablas en una base de datos.

A continuación, utiliza el metacomando siguiente para verificar que has creado correctamente la tabla products:

\dt

Este comando lista todas las tablas de tu base de datos, en este caso, una tabla. Como estás conectado a la base de datos sales, deberías ver la siguiente salida:

Tablas de la base de datos de ventas.
Tablas de la base de datos de ventas.

A continuación, crea dos tablas en la base de datos employees. La primera tabla listará los salarios, y la segunda listará las direcciones. Para crear estas tablas, ejecuta los siguientes comandos:

\c employees

CREATE TABLE salary(
   Employee_id		INT     NOT NULL,
   Employee_name		TEXT    NOT NULL,
   Employee_salary		INT     NOT NULL
);

CREATE TABLE address(
   Employee_id		INT     NOT NULL,
   Employee_country		TEXT    NOT NULL,
   Employee_zipcode		INT     NOT NULL
);

Por último, confirma que has creado estas tablas ejecutando el metacomando \dt. Este es el resultado que deberías ver:

Tablas en la base de datos de empleados.
Tablas en la base de datos de empleados.

Cómo Eliminar Bases de Datos Postgres

Eliminar una base de datos es tan fácil como crearla. La sintaxis para eliminar una base de datos es DROP DATABASE <database-name>;.

No necesitas conectarte a una base de datos concreta para eliminarla. Por tanto, si quieres borrar la base de datos customers, puedes ejecutar este comando desde cualquier base de datos a la que estés conectado:

DROP DATABASE customers;

Deberías ver esta pantalla si la eliminación se ha realizado correctamente:

Eliminando una base de datos Postgres.
Eliminando una base de datos Postgres.

Puedes confirmar que la base de datos customers ya no existe listando las bases de datos de tu servidor Postgres local mediante el metacomando \l.

Listando las bases de datos en el servidor Postgres local.
Listando las bases de datos en el servidor Postgres local.

Manejar las Operaciones de la Base de Datos Postgres con Adminer

Llegados a este punto, has aprendido los fundamentos de Postgres creando bases de datos, creando tablas y eliminando bases de datos a través de la línea de comandos.

Sin embargo, la línea de comandos puede resultar intimidante o tediosa de utilizar. Ahí es donde una herramienta de administración de bases de datos como Adminer puede ayudarte. Puedes realizar todas las operaciones de base de datos anteriores a través de una interfaz gráfica de usuario con Adminer. Aunque puedes utilizar Adminer de forma independiente, también es un componente estándar en DevKinsta.

También necesitarás descargar el archivo PHP de Adminer para gestionar tu base de datos con Adminer. Abre tu terminal una vez para iniciar el servidor web incorporado que ejecuta archivos PHP, y navega hasta la ubicación donde has colocado el archivo PHP de Adminer:

cd path/to/Adminer php file 

A continuación, inicia el servidor web utilizando el siguiente comando:

php -S 127.0.0.1:8000

Ya estás preparado para utilizar la interfaz de Adminer en tu navegador web. Escribe la siguiente dirección en tu navegador web: http://localhost:8000/<tu-archivo-php-de-adminer.php>

.

Deberías ver la interfaz de usuario (UI) de Adminer en tu navegador web:

IU de la página de inicio de Adminer.
IU de la página de inicio de Adminer.

Para entrar en tu servidor Postgres local, sigue las instrucciones que aparecen a continuación mientras rellenas los campos de esta página:

  1. Selecciona PostgreSQL para el campo Sistema.
  2. El servidor debe estar precargado en localhost.
  3. Para Nombre de Usuario, escribe el nombre del superusuario, ya sea «postgres» o el nombre de usuario del sistema operativo de tu ordenador.
  4. Para Contraseña, escribe la contraseña establecida para el superusuario en la sección «Crear bases de datos».
  5. Deja vacío el campo Base de Datos.

Si la autenticación se realiza correctamente, verás la lista de todas las bases de datos que has creado anteriormente, como se muestra a continuación. Si estás trabajando con Windows, podrías encontrarte con un error que diga: «Ninguna de las extensiones PHP soportadas (PgSQL, PDO_PgSQL) está disponible». Si esto ocurre, edita el archivo php.ini y habilita estas extensiones.

Visualizando bases de datos Postgres en Adminer.
Visualizando bases de datos Postgres en Adminer.

Para crear una nueva base de datos, haz clic en el hipervínculo Crear base de datos:

Crear una nueva base de datos con Adminer.
Crear una nueva base de datos con Adminer.

Nombra tu base de datos customers y haz clic en el botón Guardar.

A continuación, comprueba que has creado la base de datos customers haciendo clic en el hipervínculo Servidor, que se indica a continuación:

Navegando al servidor Postgres local.
Navegando al servidor Postgres local.

Ahora verás la base de datos customers. Haz clic en customers para conectarte a ella.

Como puedes ver, no hay tablas en esta base de datos. Haz clic en el hipervínculo Crear tabla para crear una nueva tabla, llamada locations.

Crear una tabla en una base de datos con Adminer.
Crear una tabla en una base de datos con Adminer.

Rellena las columnas adecuadas para que coincidan con la imagen de abajo y haz clic en el botón Guardar:

Último paso para crear una tabla en una base de datos.
Último paso para crear una tabla en una base de datos.

Ahora deberías poder ver la tabla en tu base de datos customers:

Mensaje de confirmación para crear una tabla.
Mensaje de confirmación para crear una tabla.

Vuelve a hacer clic en el hipervínculo Servidor para ver todas tus bases de datos. Marca la casilla correspondiente a los clientes. Al marcar la base de datos customers se activará el botón de eliminar que aparece a continuación. Haz clic en soltar para eliminar la base de datos. Recibirás una confirmación sobre la operación de eliminación de la base de datos:

Mensaje de confirmación al eliminar una base de datos.
Mensaje de confirmación al eliminar una base de datos.

Resumen

Ahora has aprendido a crear bases de datos, crear tablas en tu base de datos y eliminar bases de datos en tu servidor Postgres local mediante la línea de comandos. Además, has aprendido lo fácil que es realizar estas tareas utilizando una herramienta de administración de bases de datos como Adminer.

Aunque estos y otros métodos de gestión de bases de datos y tablas mediante la línea de comandos son funcionales, la interfaz de usuario de apuntar y hacer clic de Adminer hace que la realización de estas tareas sea aún más fluida.

Como desarrollador de WordPress, DevKinsta te da acceso a Adminer y a un montón de otras herramientas que te ayudarán a gestionar tus bases de datos. Para gestionar fácilmente tus bases de datos Postgres, echa un vistazo a DevKinsta — ¡es gratis para siempre!

Jeremy Holcombe Kinsta

Editor de Contenidos y Marketing en Kinsta, Desarrollador Web de WordPress y Redactor de Contenidos. Aparte de todo lo relacionado con WordPress, me gusta la playa, el golf y el cine. También tengo problemas con la gente alta ;).