Cómo instalar PostgreSQL usando el código fuente en Linux
PostgreSQL, un sistema de gestión de bases de datos relacionales de código abierto, es ampliamente reconocido por sus sólidas funciones y extensibilidad. Si bien muchas distribuciones de Linux proporcionan PostgreSQL a través de sus administradores de paquetes, instalarlo desde el código fuente permite una mayor personalización y control.
En este artículo, explicaremos cómo instalar PostgreSQL 16 mediante la instalación del código fuente en sistemas Linux.
Para aquellos que buscan un método de instalación más sencillo desde el administrador de paquetes de distribución, siga las guías a continuación:
Requisitos previos
Antes de sumergirse en el proceso de instalación de PostgreSQL, asegúrese de que su sistema cumpla con los siguientes requisitos previos:
- Una distribución de Linux (en esta guía usaremos Debian con fines de demostración).
- Un sistema Linux con un usuario no root con privilegios sudo.
- Se instalan herramientas de desarrollo esenciales como GCC y Make.
1. Instalar requisitos previos en Linux
Primero, instale herramientas de desarrollo esenciales como GCC y Make usando el administrador de paquetes de distribución como se muestra.
En distribuciones basadas en RHEL como CentOS, Fedora, Rocky Linux y Alma Linux:
sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel
En distribuciones basadas en Debian como Ubuntu y Linux Mint.
sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config
2. Descargue el código fuente de PostgreSQL
Una vez instalados los requisitos previos necesarios, descargue el archivo tar del código fuente del sitio web oficial de Postgres utilizando el siguiente comando wget directamente en el sistema. Al momento de escribir este artículo, la última versión es PostgreSQL 16.1.
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
A continuación, utilice el comando tar para extraer el archivo tarball descargado. Se creará un nuevo directorio llamado postgresql-16.1.
tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l
Resultado de muestra:
-rw-r--r--. 1 tecmint tecmint 365 Nov 7 03:34 aclocal.m4
drwxr-xr-x. 2 tecmint tecmint 4096 Nov 7 03:47 config
-rwxr-xr-x. 1 tecmint tecmint 584560 Nov 7 03:34 configure
-rw-r--r--. 1 tecmint tecmint 87292 Nov 7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint 4096 Nov 7 03:47 contrib
-rw-r--r--. 1 tecmint tecmint 1192 Nov 7 03:34 COPYRIGHT
drwxr-xr-x. 3 tecmint tecmint 4096 Nov 7 03:47 doc
-rw-r--r--. 1 tecmint tecmint 4288 Nov 7 03:34 GNUmakefile.in
-rw-r--r--. 1 tecmint tecmint 277 Nov 7 03:34 HISTORY
-rw-r--r--. 1 tecmint tecmint 64601 Nov 7 03:48 INSTALL
-rw-r--r--. 1 tecmint tecmint 1875 Nov 7 03:34 Makefile
-rw-r--r--. 1 tecmint tecmint 102017 Nov 7 03:47 meson.build
-rw-r--r--. 1 tecmint tecmint 6266 Nov 7 03:34 meson_options.txt
-rw-r--r--. 1 tecmint tecmint 1213 Nov 7 03:34 README
drwxr-xr-x. 16 tecmint tecmint 4096 Nov 7 03:48 src
3. Configurar PostgreSQL desde la fuente
Como postgres es una base de datos de código abierto, se puede construir a partir del código fuente de acuerdo con las necesidades/requisitos de cada uno. Podemos personalizar el proceso de compilación e instalación proporcionando una o más opciones de línea de comando para varias funciones adicionales.
Utilice el siguiente comando para obtener ayuda con varias opciones y uso de configuración, como se muestra.
./configure --help
Ahora ejecute el script de configuración, que verificará las dependencias de su sistema y configurará la compilación en consecuencia.
./configure
4. Instale PostgreSQL desde la fuente
Una vez configurado, utilice los siguientes comandos para compilar e instalar PostgreSQL desde el código fuente.
make
sudo make install
5. Creando un usuario de Postgres
Ahora cree un usuario y un directorio postgres para usarlos como directorio de datos para inicializar el clúster de la base de datos. El propietario de este directorio de datos debe ser un usuario de postgres y los permisos deben ser 700. También establezca una ruta para los archivos binarios de PostgreSQL para nuestra comodidad.
sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh
6. Inicializando la base de datos de Postgres
Ahora inicialice la base de datos usando el siguiente comando como usuario de postgres antes de usar cualquier comando de postgres.
su postgres
initdb -D /pgdatabase/data/ -U postgres -W
Donde -D
es la ubicación de este clúster de base de datos o podemos decir que es el directorio de datos donde queremos inicializar el clúster de base de datos, -U
para el nombre de superusuario de la base de datos y -W
para solicitar contraseña para el superusuario de la base de datos.
Para obtener más información y opciones, podemos consultar initdb --help
.
7. Inicie el servicio PostgreSQL
Después de inicializar la base de datos, inicie el clúster de la base de datos o, si necesita cambiar el puerto o escuchar la dirección del servidor, edite el archivo /pgdatabase/data/postgresql.conf en el directorio de datos de el servidor de base de datos.
nano /pgdatabase/data/postgresql.conf
Ahora, inicie el servicio PostgreSQL.
pg_ctl -D /pgdatabase/data/ start
Después de iniciar la base de datos, verifique el estado del proceso del servidor postgres utilizando los siguientes comandos ps y netstat.
ps -ef |grep -i postgres
netstat -apn |grep -i 51751
Podemos ver que el clúster de la base de datos está funcionando bien y los registros de inicio se pueden encontrar en la ubicación especificada con la opción -l
al iniciar el clúster de la base de datos.
pg_ctl -D /pgdatabase/data/ -l logfile start
8. Conéctese a PostgreSQL
Ahora conéctese al clúster de la base de datos y cree una base de datos utilizando los siguientes comandos.
psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console
Si está buscando una herramienta gráfica llamada pgAdmin para administrar su PostgreSQL, siga estas guías para instalar pgAdmin en su distribución de Linux.
Conclusión
Ha instalado correctamente PostgreSQL desde el código fuente en su sistema Linux. Este proceso proporciona flexibilidad y control sobre su instalación de PostgreSQL, permitiéndole adaptarla a sus requisitos específicos.