PostgreSQL 11.1 instalación en Centos 7
Tabla de contenido:
- Prerrequisitos
- Instale PostgreSQL desde los repositorios CentOS
- Instale PostgreSQL desde los repositorios de PostgreSQL
- Roles PostgreSQL y métodos de autenticación
- Crear rol y base de datos PostgreSQL
- Habilite el acceso remoto al servidor PostgreSQL
- Conclusión
PostgreSQL o Postgres es un sistema de administración de base de datos relacional de objetos de propósito general de código abierto con muchas características avanzadas que le permite crear aplicaciones web complejas.
En este tutorial, le mostraremos dos métodos diferentes sobre cómo instalar PostgreSQL en su máquina CentOS 7. El primer método lo guiará a través de los pasos necesarios para instalar PostgreSQL v9.2.23 desde los repositorios CentOS, mientras que el segundo le mostrará cómo instalar la última versión de PostgreSQL desde los repositorios oficiales de PostgreSQL.
Si su aplicación no requiere la última versión, recomendamos usar el primer método e instalar PostgreSQL desde los repositorios de CentOS.
También exploraremos los fundamentos de la administración de la base de datos PostgreSQL.
Prerrequisitos
Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instale PostgreSQL desde los repositorios CentOS
Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios de CentOS es PostgreSQL versión 9.2.23.
Para instalar PostgreSQL en su servidor CentOS, siga los pasos a continuación:
-
Instalar PostgreSQL
Para instalar el servidor PostgreSQL junto con el paquete contrib de PostgreSQL que proporciona varias características adicionales para la base de datos PostgreSQL simplemente escriba:
sudo yum install postgresql-server postgresql-contrib
Inicializando Base de Datos
Inicialice la base de datos PostgreSQL con el siguiente comando:
sudo postgresql-setup initdb
Initializing database… OK
Iniciando PostgreSQL
Para iniciar el servicio PostgreSQL y permitir que se inicie en el arranque, simplemente escriba:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Verificación de la instalación de PostgreSQL
Para verificar la instalación, intentaremos conectarnos al servidor de base de datos PostgreSQL usando la herramienta
psql
e imprimir la versión del servidor:sudo -u postgres psql -c "SELECT version();"
PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Instale PostgreSQL desde los repositorios de PostgreSQL
Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios oficiales de PostgreSQL es la versión 10.4 de PostgreSQL. Antes de continuar con el siguiente paso, debe visitar la página del repositorio de PostgreSQL Yum y verificar si hay una nueva versión disponible.
Siga los pasos a continuación para instalar la última versión de PostgreSQL en su servidor CentOS:
-
Habilitar el repositorio de PostgreSQL
Para habilitar el repositorio PostgreSQL simplemente instale el archivo
rpm
del repositorio:sudo yum install
Instalar PostgreSQL
Una vez que el repositorio esté habilitado, instale el servidor PostgreSQL y los paquetes de contribución PostgreSQL con:
sudo yum install postgresql10-server postgresql10-contrib
Inicializando Base de Datos
Para inicializar el tipo de base de datos PostgreSQL:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database… OK
Iniciando PostgreSQL
Para iniciar el servicio PostgreSQL y permitir que se inicie en el tipo de arranque:
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Verificación de la instalación de PostgreSQL
Para verificar la instalación, intentaremos conectarnos al servidor de base de datos PostgreSQL usando la herramienta
psql
e imprimir la versión del servidor:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"
PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
Roles PostgreSQL y métodos de autenticación
Los permisos de acceso a la base de datos dentro de PostgreSQL se manejan con el concepto de roles. Un rol puede representar un usuario de la base de datos o un grupo de usuarios de la base de datos.
PostgreSQL admite múltiples métodos de autenticación. Los métodos 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 al proporcionar una contraseña. Las contraseñas se pueden almacenar comoscram-sha-256
md5
ypassword
(texto sin cifrar). Identificación: este método solo se admite en conexiones TCP / IP. Funciona al obtener el nombre de usuario del sistema operativo del cliente, con una asignación de nombre de usuario opcional. Por pares: igual que Ident pero solo se admite en conexiones locales.
La autenticación del cliente PostgreSQL se define en el archivo de configuración llamado
pg_hba.conf
. De manera predeterminada, para conexiones locales, PostgreSQL está configurado para usar el método de autenticación de pares.
El usuario de
postgres
se crea automáticamente cuando instala PostgreSQL. Este usuario es el superusuario de la instancia de PostgreSQL y es equivalente al usuario raíz de MySQL.
Para iniciar sesión en el servidor PostgreSQL como usuario de postgres, primero debe cambiar al usuario postgres y luego acceder al indicador de PostgreSQL utilizando la utilidad
psql
:
sudo su - postgres
psql
Desde aquí puede interactuar con su instancia de PostgreSQL. Para salir del shell PostgreSQL, escriba:
\q
También puede acceder al indicador de PostgreSQL sin cambiar de usuario con el comando
sudo
:
sudo -u postgres psql
El usuario
postgres
generalmente se usa solo desde el host local y se recomienda no establecer la contraseña para este usuario.
psql
que es
/usr/pgsql-10/bin/psql
.
Crear rol y base de datos PostgreSQL
Solo los superusuarios y los roles con privilegio
CREATEROLE
pueden crear nuevos roles.
En el siguiente ejemplo, crearemos un nuevo rol llamado
john
una base de datos llamada
johndb
y
johndb
privilegios en la base de datos.
-
Conéctese al Shell de PostgreSQL
sudo -u postgres psql
Crear un nuevo rol de PostgreSQL
El siguiente comando creará un nuevo rol llamado john:
create role john;
Crear una nueva base de datos PostgreSQL
Cree una nueva base de datos llamada johndb usando el comando
createdb
:create database johndb;
Conceder privilegios
Para otorgar permisos al usuario de
john
en la base de datos que creamos en el paso anterior, ejecute la siguiente consulta:grant all privileges on database johndb to john;
Habilite el acceso remoto al servidor PostgreSQL
Por defecto, el servidor PostgreSQL solo escucha en la interfaz local
127.0.0.1
. Para habilitar el acceso remoto a su servidor PostgreSQL, abra el archivo de configuración
postgresql.conf
y agregue
listen_addresses = '*'
en la sección
CONNECTIONS AND AUTHENTICATION
.
sudo vim /var/lib/pgsql/data/postgresql.conf
Si está ejecutando PostgreSQL versión 10, la ruta al archivo es
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
guarde el archivo y reinicie el servicio PostgreSQL con:
sudo systemctl restart postgresql
Si está ejecutando PostgreSQL versión 10, reinicie el servicio PostgreSQL con
systemctl restart postgresql-10
.
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:*
Como puede ver en el resultado anterior, el servidor PostgreSQL está escuchando en todas las interfaces (0.0.0.0).
El último paso es configurar el servidor para aceptar conexiones remotas editando el archivo
pg_hba.conf
.
A continuación hay algunos ejemplos que muestran diferentes casos de uso:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Si está ejecutando PostgreSQL versión 10, la ruta completa al archivo es
/var/lib/pgsql/10/data/pg_hba.conf
.
Conclusión
Aprendió a instalar y configurar PostgreSQL en su servidor CentOS 7.
Puede consultar la documentación de PostgreSQL para obtener más información sobre este tema.
base de datos centos postgresqlComo instalar PostgreSQL en centos 8

En esta guía, vamos a discutir cómo instalar el servidor de base de datos PostgreSQL en CentOS 8. También vamos a explorar los conceptos básicos de la administración de bases de datos PostgreSQL.
Como instalar PostgreSQL en Debian 10

Este tutorial lo guía a través de los pasos para instalar el servidor de base de datos PostgreSQL en Debian 10. PostgreSQL, a menudo conocido simplemente como Postgres, es un sistema de gestión de base de datos relacional de objetos de propósito general de código abierto.
Cómo instalar postgresql en debian 9

PostgreSQL, a menudo conocido simplemente como Postgres, es un sistema de gestión de base de datos relacional de objetos de uso general de código abierto. En este tutorial le mostraremos cómo instalar PostgreSQL en Debian 9 y explorar los fundamentos de la administración básica de bases de datos.