En este artículo habremos explicado los pasos necesarios para instalar y configurar PostgreSQL en Ubuntu 18.04 LTS. Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo. Todos los comandos de este tutorial deben ejecutarse como un usuario no root.
PostgreSQL es un sistema de base de datos de documentos relacionales estable, potente, avanzado, de alto rendimiento y de código abierto. Utiliza y mejora el lenguaje SQL junto con una gran cantidad de funciones para el almacenamiento y la gestión seguros de datos.
Instalar PostgreSQL en Ubuntu
Paso 1. Primero, antes de comenzar a instalar cualquier paquete en su servidor Ubuntu, siempre recomendamos asegurarse de que todos los paquetes del sistema estén actualizados.
sudo apt update sudo apt upgrade
Paso 2. Instale PostgreSQL en Ubuntu 18.04.
Como el repositorio oficial de Ubuntu contiene un paquete de PostgreSQL, usaremos aquí el administrador de paquetes apt para instalar Postgres en Ubuntu:
sudo apt install postgresql postgresql-contrib
Para verificar la versión de Postgres y confirmar la instalación, ejecute el siguiente comando psql:
sudo -u postgres psql -c "SELECT version();"
Paso 3. Funciones y bases de datos de PostgreSQL.
PostgreSQL admite varios métodos de autenticación. Los más utilizados son:
- Confianza:con este método, el rol puede conectarse sin contraseña, siempre que se cumplan los criterios definidos en pg_hba.conf.
- Contraseña:un rol puede conectarse proporcionando una contraseña. Las contraseñas se pueden almacenar como scram-sha-256 md5 y contraseña (texto claro)
- Ident:este método solo se admite en conexiones TCP/IP. Funciona obteniendo el nombre de usuario del sistema operativo del cliente, con una asignación de nombre de usuario opcional.
- Peer:igual que Ident pero solo se admite en conexiones locales.
Puede iniciar sesión en PostgreSQL usando el siguiente comando:
sudo su - postgres
psql
Para salir de aquí, escriba lo siguiente en la terminal:
\q
Paso 4. Cree la base de datos y el rol de PostgreSQL.
- Crear un nuevo rol de PostgreSQL El siguiente comando creará un nuevo rol llamado ramona:
sudo su - postgres -c "createuser ramona"
- Cree una nueva base de datos PostgreSQLCree una nueva base de datos llamada ramona usando el comando createdb:
sudo su - postgres -c "createdb ramonadb"
- Otorgar privilegiosPara otorgar permisos al usuario ramona en la base de datos que creamos en el paso anterior, conéctese al shell de PostgreSQL:
sudo -u postgres psql
y ejecuta la siguiente consulta:
grant all privileges on database ramonadb to ramona;
Paso 5. Habilite el acceso remoto al servidor PostgreSQL.
Siga los siguientes pasos para habilitar el acceso remoto al servidor PostgreSQL:
sudo nano /etc/postgresql/10/main/postgresql.conf
Actualice listen_addresses como se indica a continuación:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*'
Ahora reinicie el servicio PostgreSQL con el comando systemctl:
sudo systemctl restart postgresql
Verifique los cambios con la utilidad ss:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128 [::]:5432 [::]:*
Por último, actualice el archivo pg_hba.conf para configurar las conexiones remotas del servidor usando los siguientes ejemplos:
# TYPE DATABASE USER ADDRESS METHOD # The user test_user will be able access all databases from all locations using a md5 password host all test_user 0.0.0.0/0 md5 # The user test_user will be able access only the test_db from all locations using a md5 password host test_db test_user 0.0.0.0/0 md5 # The user test_user will be able access all databases from a trusted location (192.168.43.106) without a password host all test_user 192.168.1.134 trust
Eso es todo lo que necesita hacer para instalar PostgreSQL en Ubuntu 18.04. Espero que encuentre útil este consejo rápido. Si tiene preguntas o sugerencias, no dude en dejar un comentario a continuación.