custom background image

Instalar una base de datos PostgreSQL en Ubuntu 22.04


Instalar una base de datos PostgreSQL en Ubuntu 22.04

Objetivo

PostgreSQL, por su parte, es una de las bases de datos más conocidas en todo el mundo: su facilidad de uso y su enfoque open source son algunas de las ventajas que explican su enorme popularidad. Para más información sobre todas las posibilidades que ofrece la plataforma PostgreSQL, consulte la documentación oficial.

En este tutorial, aprenderá a instalar una base de datos PostgreSQL en una distribución Ubuntu 22.04 Linux.

 

Requisitos

En este tutorial se da por sentado que dispone de una instancia Public Cloud Compute de OVHcloud, un VPS o un servidor bare metal con Ubuntu 22.04, y conocimientos básicos al utilizar la línea de comandos. En esta guía hemos utilizado una instancia Compute de Public Cloud. Si necesita ayuda para instalar una instancia Public Cloud con Ubuntu 22.04, consulte nuestra guía «Crear y conectarse a una instancia de Public Cloud».

 

Instrucciones

En este tutorial, instalará una base de datos PostgreSQL y, a continuación, creará una base de datos.

 

Instalación de la base de datos PostgreSQL

En el momento de escribir este tutorial, la última versión de PostgreSQL era 14.x. Consulte todas las versiones disponibles en la sección de descarga de la documentación oficial.

Para instalar PostgreSQL en Ubuntu, utilice el comando apt-get :

sudo apt-get -y install postgresql-14

Deberá obtener un resultado similar al que se incluye a continuación:

$ sudo apt-get -y install postgresql-14

Leyendo listas de paquetes... Realizada
Creando árbol de dependencias... Realizada
Leyendo información de estado... Realizada
Van a instalarse los siguientes paquetes adicionales:
  libcommon-sense-perl libjson-perl libjson-xs-perl libllvm14 libpq5 libsensors-config libsensors5 libtypes-serialiser-perl postgresql-client-14
  postgresql-client-common postgresql-common ssl-cert sysstat
Paquetes sugeridos:
  lm-sensors postgresql-doc-14 isag
Van a instalarse los siguientes paquetes NEW:
  libcommon-sense-perl libjson-perl libjson-xs-perl libllvm14 libpq5 libsensors-config libsensors5 libtypes-serialiser-perl postgresql-14 postgresql-client-14
  postgresql-client-common postgresql-common ssl-cert sysstat
0 actualizado, 14 recién instalados, 0 para eliminar y 0 no actualizado.
Se necesitan 42,4 MB de archivos.
Tras esta operación, se utilizarán 161 MB de espacio adicional en disco.
Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libcommon-sense-perl amd64 3.75-2build1 [21.1 kB]
...
update-alternativos: uso de /usr/share/postgresql/14/man/man1/postmaster.1.gz para proporcionar /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) en modo automático
Procesando disparadores para man-db (2.10.2-1) ...
Procesando desencadenadores para libc-bin (2.35-0ubuntu3)...
Escaneando procesos...                                                                                                                                                     
Escaneando imágenes de Linux...                                                                                                                                                  

Parece que el kernel en ejecución está actualizado.

No es necesario reiniciar ningún servicio.

No es necesario reiniciar ningún contenedor.

No hay sesiones de usuario ejecutando binarios obsoletos.

Ningún invitado de VM está ejecutando binarios obsoletos del hipervisor (qemu) en este host.

Tenga en cuenta que el paquete Ubuntu contiene el CLI psql.

A continuación, compruebe la instalación:

sudo su - postgres postgres@ubuntu-machine:~$ psql

Deberá obtener un resultado similar al que se incluye a continuación:

$ sudo su - postgres

postgres@tutos-ugc:~$ psql

psql (14.2 (Ubuntu 14.2-1ubuntu1))
Escriba "ayuda" para obtener ayuda.

postgres=# exit

postgres@tutos-ugc:~$

Tenga en cuenta que, por defecto, la instalación de PostgreSQL crea una cuenta postgreSQL, que es una cuenta de superusuario para la base de datos. Tenga cuidado cuando lo utilice.

Añadir un usuario a PostgreSQL

Existen dos formas de añadir un usuario en PostgreSQL: con consultas SQL o con un comando en bash. En este tutorial solo vamos a utilizar la forma SQL porque es más exhaustiva. Para saber cómo utilizar el comando bash, consulte la documentación oficial. Debe utilizar la cuenta predeterminada postgre y la CLI psql para crear su nueva cuenta.

Debe crear un rol (una especie de combinación de usuarios y derechos en el mundo PostgreSQL):

postgres=# CREATE USER foo WITH PASSWORD 'bar';

Deberá obtener un resultado similar al que se incluye a continuación:

postgres=# CREATE USER foo WITH PASSWORD 'bar';
CREAR ROL
postgres=#

 

Crear una base de datos

Cree una base de datos denominada ‘example’ con el usuario ‘foo’ como propietario:

postgres=# CREATE DATABASE example OWNER foo

Deberá obtener un resultado similar al que se incluye a continuación:

postgres=# CREATE DATABASE example OWNER foo
CREAR BASE DE DATOS
postgres-# 

Para poder utilizar su nueva cuenta de usuario tiene que crear un usuario linux equivalente (los privilegios de root son obligatorios para este tipo de orden):

adduser foo

Deberá obtener un resultado similar al que se incluye a continuación:

$ sudo su -
$ root@tutos-ugc:~# adduser foo
Añadiendo el usuario `foo'...
Añadiendo nuevo grupo `foo' (1001) ...
Añadiendo nuevo usuario `foo' (1001) con el grupo `foo'...
Creando el directorio personal `/home/foo' ...
Copiando archivos de `/etc/skel' ...
Nueva contraseña: 
Retype new password: 
passwd: contraseña actualizada con éxito
Modificación de la información del usuario de foo
Introduzca el nuevo valor o pulse INTRO para especificar el valor por defecto
	Nombre completo []: Foo Bar
	Número de la sala []: 
	Teléfono del trabajo []: 
	Teléfono particular []: 
	Otro []: 
¿Es correcta la información? [S/n] S
$ root@tutos-ugc:~# exit

Pruebe la nueva cuenta:

sudo su - foo psql -d ejemplo

Deberá obtener un resultado similar al que se incluye a continuación:

ubuntu@tutos-ugc:~$ sudo su - foo
foo@tutos-ugc:~$ psql -d ejemplo
psql (14.2 (Ubuntu 14.2-1ubuntu1))
Escriba "ayuda" para obtener ayuda.

ejemplo=> 

 Listar las bases de datos:

postgres=# \l

Deberá obtener un resultado similar al que se incluye a continuación:

postgres=# \l
                              Lista de bases de datos
   Nombre    | Propietario   | Encoding | Intercalar | Ctype  | Privilegios de acceso   
-----------+----------+----------+---------+---------+-----------------------
 ejemplo   | foo      | UTF8     | C.UTF-8 | C.UTF-8 | 
 postgres  | postgres | UTF8     | C.UTF-8 | C.UTF-8 | 
 template0 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgre +
           |          |          |         |         | postgres=CTc/postgres
 template1 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgre +
           |          |          |         |         | postgres=CTc/postgres
(4 filas)

 

Crear una tabla y utilizarla

En este punto, puede crear tablas y utilizarlas.

Para los siguientes comandos utilice el usuario foo creado anteriormente.

example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50));

Deberá obtener un resultado similar al que se incluye a continuación:

example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50));
CREATE TABLE
ejemplo=> 

Ahora puede utilizar la primera_tabla en las consultas SQL:

example=> INSERT INTO first_table (id, column1) VALUES (1, 'example'); example=> SELECT * FROM first_table;

Deberá obtener un resultado similar al que se incluye a continuación:

example=> INSERT INTO first_table (id, column1) VALUES (1, 'example');
INSERTAR 0 1

example=> SELECT * FROM first_table;
 id | column1                       
----+----------------------------------------------------
  1 | ejemplo                                           
(1 fila)

Y es que ha instalado y configurado correctamente una base de datos PostgreSQL en Ubuntu 22.04.