Instalar PostgreSQL en FreeBSD
06/05/2024Postgresql es una base de datos relacional que se ha popularizado en los últimos años. Y en este tutorial les mostrare como instalarlo en nuestro sistema FreeBSD, ya sea en el servidor principal o en un "Jail".
Requerimientos:
Tener instalado pkg
. Si aun no lo tienes ejecuta el siguiente comando:
# pkg install
Tener actualizado el sistema. Para ello ejecutaremos los comandos:
# pkg update
# pkg upgrade
Instalación
Al día que se escribió este articulo la versión mas reciente de Postgresql en FreeBSD es la versión 16. Por lo que su instalación sera la siguiente:
# pkg install postgresql16-server postgresql16-client
Puedes instalar la versión 14 o 15 replazandolo por el 16.
Inicializar la base de datos con el siguiente comando:
# /usr/local/etc/rc.d/postgresql initdb
Arranque
Para iniciar el servidor de postgres tenemos 2 opciones.
- Si quieres que postgres inicie en el arranque del sistema:
Ejecutar el comando para habilitar el arranque:
# sysrc postgresql_enable="YES"
Y ahora ya podemos iniciar el servicio:
# service postgresql start
- Si queremos iniciar Postgres manualmente:
Iniciamos el servicio con el siguiente comando:
# service postgresql onestart
Y por ultimo verifiquemos que Postgres haya iniciado correctamente con el comando:
$ sockstat -46 | grep 5432
Configuración
Ahora configuraremos los usuarios de Postgres.
Postgres tiene un sistema de autenticación basado en los usuarios en el sistema. Por lo que al instalar Postgres también se creo un usuario "postgres".
Ahora cambiaremos su contraseña con el comando:
# passwd postgres
Y ahora iniciaremos con la nueva contraseña:
# su - postgres
Desde el usuario de postgres podemos crear mas usuarios y bases de datos:
$ createuser admin
$ createdb foo_db -O admin
Aquí indicamos que la base de datos foo_db
pertenece al usuario admin
.
Ahora tenemos que darle una contraseña al usuario admin
.
Iniciamos el cliente de Postgres:
$ psql foo_db
Y dentro lo de consola ejecutaremos las siguiente consultas:
foo_db=# alter role admin with encrypted password 'yourpassword';
foo_db=# grant all privileges on database foo_db to admin;
foo_db=# exit
Por ultimo reiniciamos nuestro servicio:
# service postgresql restart
Listo, ahora ya podemos iniciar en nuestra base de datos!
Permitir acceso de la red
Para poder acceder a Postgres desde fuera de localhost
haremos las siguientes modificaciones al siguiente archivo.
En /var/db/postgres/data16/postgresql.conf
:
listen_addresses = '*'
Cambiaremos la configuración listen_addresses
por '*'
.
Y en el archivo /var/db/postgres/data15/pg_hba.conf
cambiaremos todos los métodos a md5
:
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
Y por ultimo reiniciamos el servicio:
# service postgresql restart
Eso es todo. Ahora nos podemos conectar remotamente a nuestro servicio de Postgres con nuestro cliente favorito ya sea pgAdmin
, DBeaver
o cualquier otro.
Tags: #postgresql
#freebsd
#tutorial