Cómo instalar y configurar PostgreSQL

Servidor con múltiples discos duros Fuente: Pexels

En este artículo explicaremos cómo instalar y configurar PostgreSQL. PostgreSQL es un motor open source de bases de datos relacional que constituye una excelente alternativa a MySQL y MariaDB. Se caracteriza por tener muy buena reputación en cuanto a confiabilidad e integridad de datos.

Cómo instalar PostgreSQL

En esta sección demostraremos los diferentes métodos de instalación del motor de bases de datos PostgreSQL dependiendo del sistema operativo.

Instalación en macOS con Homebrew

Para realizar la instalación de PostgreSQL en sistemas macOS con Homebrew instalado, podemos utilizar el comando brew install:

$ brew install postgresql

Enseguida debemos inicializar la base de datos manualmente, ejecutando el comando initdb de PostgreSQL:

$ initdb /usr/local/var/postgres

Instalación en Debian o Ubuntu

Para realizar la instalación de PostgreSQL en Debian o Ubuntu, utilizamos el comando apt-get install:

$ sudo apt-get install postgresql postgresql-contrib postgresql-client

No es necesario inicializar la base de datos manualmente. El proceso de instalación ya se ha encargado de ese procedimiento.

Instalación en Fedora

Para realizar la instalación de PostgreSQL en Fedora, utilizamos el comando dnf install:

$ sudo dnf install postgresql-server postgresql-contrib

Enseguida inicializamos el motor de base de datos ejecutando el comando initdb de PostgreSQL de la siguiente manera:

$ sudo -u postgres pg_ctl initdb -D /var/lib/pgsql/data

Nótese que el comando debe ser ejecutado por el usuario postgres.

Instalación en CentOS

Para realizar la instalación de PostgreSQL en CentOS, utilizamos el comando yum install:

$ sudo yum install postgresql-server postgresql-contrib

De la misma forma que con Fedora, debemos inicializar la base de datos manualmente ejecutando el comando initdb de PostgreSQL:

$ sudo -u postgres pg_ctl initdb -D /var/lib/pgsql/data

Instalación en Archlinux

Para realizar la instalación de PostgreSQL en Archlinux, utilizamos el comando pacman:

$ sudo pacman -S postgresql

De la misma forma que con Fedora, debemos inicializar la base de datos manualmente ejecutando el comando initdb de PostgreSQL:

$ sudo -u postgres pg_ctl initdb -D /var/lib/postgres/data

Cómo configurar PostgreSQL

Ahora que PostgreSQL ha sido instalado correctamente, debemos asegurarnos que esté configurado para iniciar sesión desde localhost. Para esto, abrimos el archivo pg_hba.conf ubicado en el directorio de configuración y lo modificamos de las siguiente forma:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Como se puede apreciar, el método de autenticación para las dos últimas entradas debe ser md5 en lugar de peer, ident o trust. Esto permitirá a cualquier aplicación web configurada para acceder a una base de datos específica a través del host localhost.

La ubicación del archivo de configuración varía según el sistema operativo:

# macOS con Homebrew
/usr/local/var/postgres/pg_hba.conf

# Debian o Ubuntu
/etc/postgresql/<version>/main/pg_hba.conf

# Fedora o CentOS
/var/lib/pgsql/data/pg_hba.conf

# Archlinux
/var/lib/postgres/data/pg_hba.conf

Para que los cambios al archivo de configuración se apliquen, debemos reiniciar PostgreSQL de la siguiente forma:

# macOS con Homebrew
$ brew services restart postgresql

# Debian o Ubuntu
$ sudo service postgresql restart

# Fedora o CentOS
$ sudo service postgresql restart

# Archlinux
$ sudo systemctl restart postgresql

Cómo utilizar PostgreSQL

Para finalizar, vamos a probar que PostgreSQL esté funcionando correctamente. Para esto vamos a crear una base de datos con su respectivo usuario.

Para crear un usuario utilizamos el comando createuser de PostgreSQL:

$ sudo -u postgres createuser -P -d testdb-user
Enter password for new role:
Enter it again:

Para crear una base de datos utilizamos el comando createdb de PostgreSQL, indicando el nombre del usuario que acabamos de crear y escribiendo su contraseña cuando se nos pida:

$ createdb testdb -U testdb-user -h localhost
Password:

Con la base de datos y el usuario creados, será posible iniciar sesión en la base de datos, utilizando el comando psql:

$ psql testdb -U testdb-user -h localhost
Password for user testdb-user:
testdb=>

Ejecutamos el comando psql indicándole el nombre de la base de datos (testdb), el nombre de usuario (-U testdb-user) y el host (-h localhost).

Para cerrar la sesión del motor de bases de datos utilizamos la instrucción \q o la combinación de teclas CTRL-D:

testdb=> \q
$

Este sitio web solo utiliza cookies para ocultar algunos formularios y avisos emergentes. No utilizamos cookies para analizar el uso del sitio web ni para mostrar anuncios.