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:
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:
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
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
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:
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:
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:
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:
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:
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
.
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:
Para entrar en tu servidor Postgres local, sigue las instrucciones que aparecen a continuación mientras rellenas los campos de esta página:
- Selecciona PostgreSQL para el campo Sistema.
- El servidor debe estar precargado en localhost.
- Para Nombre de Usuario, escribe el nombre del superusuario, ya sea «postgres» o el nombre de usuario del sistema operativo de tu ordenador.
- Para Contraseña, escribe la contraseña establecida para el superusuario en la sección «Crear bases de datos».
- 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.
Para crear una nueva base de datos, haz clic en el hipervínculo Crear base de datos:
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:
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
.
Rellena las columnas adecuadas para que coincidan con la imagen de abajo y haz clic en el botón Guardar:
Ahora deberías poder ver la tabla en tu base de datos customers
:
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:
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!
Deja una respuesta