Instalación postgresql 10 en debian 9
Tabla de contenido:
- Prerrequisitos
- Instalar 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, 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. PostgreSQL tiene muchas características avanzadas como copias de seguridad en línea, recuperación en el momento, transacciones anidadas, consultas SQL y JSON, control de concurrencia de múltiples versiones (MVCC), replicación asincrónica y más.
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.
Prerrequisitos
Antes de continuar con este tutorial, asegúrese de que el usuario que ha iniciado sesión como tiene privilegios sudo.
Instalar PostgreSQL
Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios de Debian es PostgreSQL versión 9.6.
Para instalar PostgreSQL en su servidor Debian a cabo los siguientes pasos:
-
Comience actualizando el índice del paquete local:
sudo apt updateInstale el servidor PostgreSQL y el paquete contrib de PostgreSQL que proporciona características adicionales para la base de datos PostgreSQL:
sudo apt install postgresql postgresql-contribCuando se haya completado la instalación, el servicio de PostgreSQL se iniciará automáticamente. Para verificar la instalación, nos conectaremos al servidor de base de datos PostgreSQL utilizando la utilidad
psqle imprimiremos la versión del servidor:sudo -u postgres psql -c "SELECT version();"La salida se verá así:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
Roles PostgreSQL y métodos de autenticación
PostgreSQL maneja los permisos de acceso a la base de datos utilizando 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 soporta un número de métodos de autenticación. Los métodos utilizados más comúnmente son:
- Confianza: con este método, el rol puede conectarse sin contraseña, siempre que se cumplan los criterios definidos en
pg_hba.confContraseña: un rol puede conectarse al proporcionar una contraseña. Las contraseñas se pueden almacenar comoscram-sha-256md5ypassword(texto sin cifrar) Ident: este método solo se admite en conexiones TCP / IP. Funciona mediante la obtención del 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
. Por defecto para conexiones locales, PostgreSQL está configurado para utilizar el método de autenticación entre 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 puede acceder a un mensaje de PostgreSQL utilizando la utilidad
psql
:
sudo su - postgres
psql
Desde aquí puede interactuar con su instancia de PostgreSQL. Para salir del tipo PostgreSQL shell:
\q
Se puede utilizar el
sudo
comando para acceder al indicador de PostgreSQL sin cambiar de usuario:
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.
Crear rol y base de datos PostgreSQL
Usted puede crear nuevas funciones desde la línea de comandos utilizando el
createuser
comando. 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.
-
Crear un nuevo rol de PostgreSQL
El siguiente comando creará un nuevo rol llamado john:
sudo su - postgres -c "createuser john"Crear una nueva base de datos PostgreSQL
Cree una nueva base de datos llamada johndb usando el comando
createdb:sudo su - postgres -c "createdb johndb"Conceder privilegios
Para otorgar permisos al usuario de
johnen la base de datos que creamos en el paso anterior, conéctese al shell PostgreSQL:sudo -u postgres psqly ejecuta la siguiente consulta:
grant all privileges on database johndb to john;
Habilite el acceso remoto al servidor PostgreSQL
Por defecto, el PostgreSQL, el servidor escucha sólo por 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 /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/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 service postgresql restart
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:
/etc/postgresql/9.6/main/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
Conclusión
Usted ha aprendido cómo instalar y configurar PostgreSQL en su servidor Debian 9. Para obtener más información sobre este tema, consulte la documentación de PostgreSQL.
base de datos debian postgresqlCómo instalar postgresql en centos 7
PostgreSQL o Postgres es un sistema de gestión de base de datos relacional de objetos de propósito general de código abierto. En este tutorial le mostraremos dos métodos diferentes sobre cómo instalar PostgreSQL en su máquina CentOS 7.
Como 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.







