Configuración de PostgreSQL en Linux

Bilal Shahid 20 junio 2023
  1. Configuración básica de PostgreSQL en sistemas Linux
  2. Crear nombres de usuario si aún no están presentes en PostgreSQL Linux
  3. Crear ROL y BASE DE DATOS en PSQL Shell
  4. Utilice la herramienta PORT CONNECT para acceder a la base de datos
  5. Diferentes métodos para configurar PostgreSQL en Linux
Configuración de PostgreSQL en Linux

Este tutorial nos enseñará cómo configurar PostgreSQL en Linux. Nuestra configuración detallada se centrará en Ubuntu o cualquier otra distribución de Linux como Fedora, Bodhi, PepperMint, BackBox, etc.

Configuración básica de PostgreSQL en sistemas Linux

  1. Instale PostgreSQL desde la terminal.

Para Ubuntu, Debian o Mint:

Dominio:

sudo apt-get install postgresql

Para Arch Linux:

Dominio:

sudo pacman -S postgresql

Tienes que hacer lo siguiente en casos de instalaciones YUM, como Fedora, Red Hat, etc.

  • Obtenga la versión de PostgreSQL URL para el comando CURL aquí: URL.
  • Una vez obtenida la URL, proceder a emitir la solicitud CURL a esta URL para descargar Repositorio.

Dominio:

curl -O [url]
  • Luego, instale el RPM.

Dominio:

rpm -ivh [rpm file name]

Más tarde también puede descargar paquetes si lo desea para esta distribución.

  1. Conexión a la base de datos con el usuario Postgres.

Emitamos un comando que se vincule a nuestro directorio bin de la instalación de PostgreSQL.

Dominio:

cd BINPATH (most probably: /var/lib/postgresql/12/main)

Una vez dentro de la ruta, ejecutemos el comando SUDO -U para conectarnos a nuestra base de datos. Ejecute la consulta de la siguiente manera:

sudo -u postgres psql template1

TEMPLATE1 es la base de datos predeterminada, pero puede usar cualquiera de las definidas en lugar de TEMPLATE1 en la consulta anterior. Una vez conectado, habrá ingresado a la base de datos especificada.

  1. Configuración de la contraseña para la base de datos POSTGRES.

Una vez dentro de la sesión, notarás algo como esto:

postgres=# or template1=#

Lo que significa que ahora está conectado a la sesión de la base de datos. Configuremos la contraseña para nuestra base de datos raíz POSTGRES usando la declaración ALTER de la siguiente manera:

ALTER USER postgres with encrypted password '[YOUR_PASSWORD]';

Una vez que se haya cambiado la contraseña, se devolverá el siguiente resultado.

Producción :

ALTER ROLE

Salga de su sesión usando el comando \q y luego vuelva a iniciar sesión para ver los cambios deseados.

  1. Modificando PG_HBA.CONF para Conexiones

Para modificar cualquier archivo dentro de Linux, usa VIM, un editor de consola para modificar archivos. Si no tiene VIM instalado, puede descargar y ejecutar el siguiente comando.

Dominio:

sudo apt install VIM;

Con VIM, continúe y edite el archivo PG_HBA.CONF en el directorio. Se impedirá el acceso al directorio MAIN utilizando el comando CD.

Dominio:

sudo vim \var\lib\postgresql\12\main\pg_hba.conf

En caso de que vea líneas rectas y no haya datos dentro, continúe y agregue la siguiente línea al archivo:

local all postgres md5

Luego presione ESC y escriba :wqa para SALIR del editor.

  1. Crear una base de datos e iniciar sesión como Postgres

Para crear una nueva base de datos, utilice el siguiente comando:

sudo -u postgres createdb NEW_DB

Para verificarlo, use el siguiente comando para iniciar sesión con una contraseña.

psql - U postgres -W

En ocasiones, incluso después de ingresar la contraseña correcta para POSTGRES, puede devolver el siguiente error.

psql: error: FATAL: Peer authentication failed for user 'postgres'

Esto se debe enteramente a que no se cambió la opción PEER para las conexiones en PG_HBA.CONF.

Eso es todo lo que se necesita para ejecutar una sesión de PostgreSQL en Linux. Hay otras formas y métodos que también se analizan a continuación.

Crear nombres de usuario si aún no están presentes en PostgreSQL Linux

En algunas versiones, CREAMOS un usuario con el siguiente comando.

Dominio:

sudo -u template1 createuser --superuser [user_name]

Una vez que se crea el usuario, podemos iniciar sesión simplemente sin ninguna contraseña primero. Utilice la instrucción ALTER para establecer la contraseña más tarde.

El usuario POSTGRES funciona como usuario raíz para la instalación de PostgreSQL en un sistema. Tiene acceso de escritura a los archivos subyacentes y puede usarse para funciones de seguridad mucho más altas.

Crear ROL y BASE DE DATOS en PSQL Shell

Una vez que haya iniciado sesión en el shell PSQL, puede utilizar las siguientes consultas para CREAR una nueva base de datos o usuario.

CREATE ROLE [user_name] LOGIN PASSWORD 'abc123';
CREATE DATABASE [database name] WITH OWNER = [user_name];

Utilice la herramienta PORT CONNECT para acceder a la base de datos

Otro método que podemos utilizar para conectarnos a una sesión de PostgreSQL como usuario en un sistema diferente es usar el siguiente comando.

$ psql -h [host_name] -d [database_name] -U [_username] -p [port_number]

Esto ayuda a conectar diferentes usuarios a nuestro sistema. Podemos usar este comando para configurar nuestro usuario para que se ejecute en una sesión de PostgreSQL alojada en un servidor y luego emita consultas y trabaje en esa base de datos.

Es posible que deba especificar la BASE DE DATOS a la que conectarse junto con el USUARIO al que desea conectarse como:

psql -U [user_name] -d [db_name]

Diferentes métodos para configurar PostgreSQL en Linux

Se supone que la configuración es fácil y eficiente. A veces, al intentar conectarnos como usuario a PSQL, es posible que debamos mencionar siempre primero la RUTA y luego formar la conexión.

Esto se puede simplificar con el uso de lo siguiente:

export PATH=$PATH: [our_bin_directory_path]

Este BIN_DIRECTORY es la mayor parte del tiempo var/lib/postgresql/.. o alguna carpeta similar creada durante la instalación.

Una vez configurada la variable RUTA, es hora de trabajar en inicializar el SERVICIO para que funcione. La mayoría de las veces, esto es automático, pero para estar seguros, podemos seguir adelante y hacer algo de la siguiente manera:

//initialization
sudo service postgresql-[version_number] initdb

//starting
sudo service postgresql-[version_number] start

En los sistemas FEDORA o YUM, los comandos se pueden emitir de la siguiente manera:

sudo systemctl start postgresql-[version_number]
sudo systemctl enable postgresql-[version_number]

Incluso puede instalar PGADMIN en Fedora u otros sistemas para facilitarle la vida.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub