PostgreSQL (conocido simplemente como Postgres) es un sistema de administración de bases de datos relacionales de objetos (ORDBMS), disponible para muchas plataformas, incluidas Linux, Microsoft Windows, FreeBSD, HP-UX, AIX, Solaris y Mac OS.
PostgreSQL se publica bajo la Licencia de PostgreSQL, una licencia de software permisiva de código abierto y gratuita, desarrollada por PGDG (Grupo de Desarrollo Global de PostgreSQL), un grupo de voluntarios individuales y empresas corporativas.
En esta publicación, revisaremos la instalación de PostgreSQL 11/10 en Debian 9/Debian 8.
Añadir repositorio PostgreSQL
PostgreSQL publica paquetes deb para plataformas basadas en Debian, y sus paquetes son más recientes que los disponibles en el repositorio base del sistema operativo.
Importe la clave de firma de PostgreSQL.
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -
Agregue la información del repositorio de PostgreSQL a /etc/apt/sources.list.d/postgresql.list archivo.
### Debian 9 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list ### Debian 8 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Instalar PostgreSQL
Una vez que haya agregado el repositorio de PostgreSQL, ejecute el siguiente comando para actualizar el índice del repositorio.
sudo apt-get update
Instale PostgreSQL usando el comando apt-get.
### PostgreSQL 11 ### sudo apt install -y postgresql-11 ### PostgreSQL 10 ### sudo apt install -y postgresql-10
Servicio de control de PostgreSQL
Para iniciar el servicio PostgreSQL, ejecute:
sudo systemctl start postgresql
Para detener el servicio de PostgreSQL, ejecute:
sudo systemctl stop postgresql
Para reiniciar el servicio PostgreSQL, ejecute:
sudo systemctl restart postgresql
Para verificar el estado del servicio PostgreSQL, ejecute:
sudo systemctl status postgresql
Salida:
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2019-02-23 01:49:54 EST; 23s ago Main PID: 2586 (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service Feb 23 01:49:54 server systemd[1]: Starting PostgreSQL RDBMS... Feb 23 01:49:54 server systemd[1]: Started PostgreSQL RDBMS.
Configurar servidor PostgreSQL
PostgreSQL solo escucha en el adaptador de bucle invertido (127.0.0.1) . A veces, la aplicación alojada en un dispositivo externo puede necesitar conectarse a la base de datos. Para eso, necesitamos configurar PostgreSQL para escuchar en todos los adaptadores.
### PostgreSQL 11 ### sudo nano /etc/postgresql/11/main/postgresql.conf ### PostgreSQL 10 ### sudo nano /etc/postgresql/10/main/postgresql.conf
Establecer las listen_addresses
a *
o <IPAddress>
.
listen_addresses = '*'
Reinicie el servicio PostgreSQL.
sudo systemctl restart postgresql
Confirmar la escucha de PostgreSQL en el puerto 5432 usando el comando netstat.
sudo netstat -antup | grep 5432
Salida:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 3712/postgres tcp6 0 0 :::5432 :::* LISTEN 3712/postgres
LEER :comando netstat no encontrado en Ubuntu - Solución rápida
Acceda a PostgreSQL
Para administrar la base de datos, debe iniciar sesión como usuario de postgres.
sudo su -l postgres
Acceda a la base de datos utilizando psql dominio. Es un shell interactivo para trabajar con la base de datos PostgreSQL .
psql
Salida:
postgres@server:~$ psql psql (11.2 (Debian 11.2-1.pgdg90+1)) Type "help" for help. postgres=#
Base de datos PostgreSQL segura
Estableceremos una contraseña para usuario de Linux (postgres) así como administrador de base de datos (postgres) .
Establecer contraseña para el usuario de Linux (postgres):
sudo passwd postgres
Salida:
raj@mydebian:~$ sudo passwd postgres Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Establecer contraseña para el administrador de base de datos (postgres):
su - postgres psql
En shell psql , ejecute el siguiente comando para cambiar la contraseña de administrador de la base de datos.
postgres=# \password
O
postgres=# \password postgres
Salida:
postgres=# \password postgres Enter new password: Enter it again:
Comandos de base de datos de PostgreSQL
La sintaxis para crear una base de datos es:
$ su - postgres $ createdb test
La sintaxis para crear un usuario (raj) es:
$ psql test test=# CREATE USER raj WITH SUPERUSER LOGIN PASSWORD 'password';
Compruebe si el nuevo usuario se ha creado o no.
test=# \du
Salida:
test=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} raj | Superuser | {}
Inicie sesión con el usuario "raj".
psql -h localhost -d test -U raj
Salida:
psql (11.2 (Debian 11.2-1.pgdg90+1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. test=#
La sintaxis para listar bases de datos:
test=# \l
Salida:
test=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- 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 test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows)
Eso es todo. Ha instalado con éxito PostgreSQL 11 / 10 en Debian 9 / Debian 8.