La versión de Postgres para CentOS es la 8.1.x, lo que necesito es instalar la ultima version estable hasta la fecha (8.3.7), para hacerlo realizé lo siguiente:
- Excluir postgres del repositorio Base de Centos:
# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
# Excluir postgres
exclude=postgresql*#released updates
[updates]
name=CentOS-$releasever – Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
# Excluir postgres
exclude=postgresql*
- Añadir el nuevo repositorio de postgres desde http://yum.pgsqlrpms.org/reporpms/repoview/pgdg-centos.html, un nivel mas arriba de esta página estan los repositorios para Fedora y Red Hat
# wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
# rpm -ivh pgdg-centos-8.3-6.noarch.rpm
- Instalación de PostgreSQL server:
# yum install postgresql postgresql-server
… lot of output ….
despúes de la instalación necesito cambiar la ubicación de las bases de datos para una partición mayor, en mi caso ‘/home’, antes debo iniciar el servidor:
# service initdb postgresql -> Crea los archivos necesario e inicia el servidor
# su – postgres -c psql -> inicia sesión como postgres para poder cambiar la ubicación
Digite: \copyright para ver los términos de distribución
\h para ayuda de órdenes SQL
\? para ayuda de órdenes psql
\g o punto y coma («;») para ejecutar la consulta
\q para salir
postgres=# initdb -D /home/postgres -> Esta carpeta debe existir y el dueño debe ser el usuario postgres
postgres=# \q -> Salir
Ahora los datos se guardan en /home/postgres, al hacer initdb -D /home/postgres los archivos necesario se crean allí.