GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar PostgreSQL en Debian 11 / Debian 10

PostgreSQL (a menudo abreviado como Postgres) es un sistema de administración de bases de datos relacionales de objetos (ORDBMS) que enfatiza la extensibilidad y el cumplimiento de estándares.

Tiene más de 30 años de desarrollo activo y una arquitectura comprobada que le ha valido una sólida reputación de confiabilidad, integridad de datos y rendimiento.

PostgreSQL se publica bajo la licencia de PostgreSQL y está disponible para Linux, Microsoft Windows, FreeBSD, OpenBSD y macOS.

En esta publicación, veremos cómo instalar PostgreSQL en Debian 11 / Debian 10.

Añadir repositorio PostgreSQL

PostgreSQL publica paquetes para el sistema operativo Debian a través de su repositorio dedicado, y los paquetes en su repositorio son más recientes que los disponibles en el repositorio del sistema operativo.

Primero, actualice el índice del repositorio usando apt comando

sudo apt update

Luego, instale el soporte HTTPS para apt para obtener paquetes de Internet.

sudo apt install -y curl apt-transport-https

Ahora, importe la clave de firma de PostgreSQL.

# Debian 11

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

# Debian 10

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Finalmente, agregue la información del repositorio de PostgreSQL al sistema con el siguiente comando.

# Debian 11

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

# Debian 10

echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

Instalar PostgreSQL en Debian

Una vez que haya agregado el repositorio de PostgreSQL, ejecute el siguiente comando para actualizar el índice del repositorio.

sudo apt update

Luego, instale PostgreSQL usando el siguiente comando basado en la versión de PostgreSQL que desea instalar.

# PostgreSQL 13

sudo apt install -y postgresql-13

# PostgreSQL 12

sudo apt install -y postgresql-12

A estas alturas, el servicio PostgreSQL estará en funcionamiento. Puede verificar el estado del servicio con el siguiente comando.

sudo systemctl status postgresql

Salida:

 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago
 Main PID: 3759 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2343)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS...
Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.

Configurar servidor PostgreSQL

De manera predeterminada, PostgreSQL escucha en el servidor local (127.0.0.1), lo que quizás no siempre desee, ya que es posible que las aplicaciones externas necesiten conectarse a la base de datos. Entonces, configuraremos PostgreSQL para escuchar la dirección IP del sistema.

# PostgreSQL 13

sudo nano /etc/postgresql/13/main/postgresql.conf

# PostgreSQL 12

sudo nano /etc/postgresql/12/main/postgresql.conf

Establecer las listen_addresses a * o <IPAddress> .

listen_addresses = '192.168.0.10'

Reinicie el servicio PostgreSQL.

sudo systemctl restart postgresql

Ahora puede usar el netstat comando para confirmar si PostgreSQL está escuchando en el puerto 5432 o no.

sudo netstat -antup | grep 5432

Salida:

tcp        0      0 192.168.0.10:5432       0.0.0.0:*               LISTEN      5265/postgres

LEER :Comando netstat no encontrado en Debian – Solución rápida

Acceda a PostgreSQL

Para administrar la base de datos PostgreSQL, deberá iniciar sesión como postgres (usuario de Linux) y luego tiene que acceder al shell de la base de datos usando psql comando.

sudo -u postgres psql

Salida:

postgres@server:~$ psql
psql (13.4 (Debian 13.4-1.pgdg100+1))
Type "help" for help.

postgres=#

En psql shell, ejecute el siguiente comando para cambiar el postgres usuario (Contraseña de administrador de la base de datos.

postgres=# \password

O

postgres=# \password postgres

Crear base de datos y usuario de PostgreSQL

Primero, cree un usuario de base de datos con el siguiente comando.

CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';

A continuación, cree una base de datos con el siguiente comando.

CREATE DATABASE mydb WITH OWNER mydb_user;

Luego, puede otorgar privilegios a mydb_user en la base de datos recién creada.

GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;

Ahora, verifique si el usuario ha sido creado o no.

postgres=# \du

Salida:

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 mydb_user |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=#

Además, puede enumerar las bases de datos para ver si su base de datos mydb ha sido creado.

postgres=# \l

Salida:

postgres=# \l
                                   List of databases
   Name    |   Owner   | Encoding |   Collate   |    Ctype    |    Access privileges
-----------+-----------+----------+-------------+-------------+-------------------------
 mydb      | mydb_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user          +
           |           |          |             |             | mydb_user=CTc/mydb_user
 postgres  | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
 template1 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#

Finalmente, inicie sesión en mydb con el usuario de base de datos mydb_user .

psql -h localhost -d mydb -U mydb_user

Salida:

Password for user mydb_user:
psql (13.4 (Debian 13.4-1.pgdg110+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

mydb=>

Conclusión

Eso es todo. Espero que haya aprendido a instalar PostgreSQL en Debian 11 / Debian 10.


Debian
  1. Cómo instalar Tomcat 8.5 en Debian 9

  2. Cómo instalar MongoDB en Debian 9

  3. Cómo instalar PostgreSQL en Debian 9

  4. Cómo instalar Nginx en Debian 9

  5. Cómo instalar PostgreSQL 11/10 en Debian 9 y Debian 8

Cómo instalar Gitea con PostgreSQL en Debian 11

Cómo instalar PostgreSQL en Debian 11

Cómo instalar Go en Debian 11

Cómo instalar phpPgAdmin en Debian 11

Cómo instalar Odoo en Debian 11

¿Cómo instalar PostgreSQL en Debian 11?