Instalar PostgreSQL 9 en Centos 6
- netoec84
- PostgreSQL
- Nov 15, 2012
- 5
- bdd, postgresql
A continuación se muestran un conjunto de pasos para instalar PostgreSQL en Centos 6, se debe tener en cuenta que al momento de creación de este documento la version existente fue la 9.2, en caso de exista una nueva se debe realizar esta consideración y cambiar los nombres y/o rutas correspondientes.
1. Descargar e instalar repositorio de PostgreSQL
Descargar la ultima versión para tu distribución desde: http://yum.pgrpms.org/repopackages.php
En este ejemplo, utilizaremos el repositorio para CentOS 6 x64, entonces desde una consola como root digitamos:
wget http://yum.pgrpms.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
ahora instalamos el repositorio
rpm -i pgdg-centos92-9.2-6.noarch.rpm
Necesitamos ademas deshabilitar de los repositorios de Centos postgreql, para que no genere conflictos con el nuevo repositorio. Simplemente debemos editar CentOS-Base.repo agregando ‘exclude=postgresql*’ a las secciones [base] y [updates]:
vim /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-6 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-6 exclude=postgresql*
2. Instalar PostgreSQL utilizando YUM
Ahora instalamos postgresql utilizando yum:
yum install postgresql92 postgresql92-devel postgresql92-server postgresql92-libs postgresql92-contrib
3. Inicializar PostgreSQL
service postgresql-9.2 initdb service postgresql-9.2 start
4. Configurar el entorno de PostgreSQL
Debemos editar y agregar las siguientes lineas del archivo bash_profile del usuario postgres, para lo cual podemos utilizar vim:
vim /var/lib/pgsql/.bash_profile
Líneas a agregar:
PATH=$PATH:$HOME/bin:/usr/pgsql-9.2/bin export PATH
Colocando el directorio de binarios en el path del usuario postgres permitimos que invoque comandos como el pg_ctl desde el shell.
5. Configurar clave de Postgres
su - postgres psql postgres postgres
bash-4.1$ psql postgres postgres psql (9.2.1) Type "help" for help. postgres=# alter user postgres with password 'CLAVE'; ALTER ROLE postgres=#
6. Configurar el archivo pg_hba.conf
Editar el archivo:
vim /var/lib/pgsql/data/pg_hba.conf
Ubicar las lineas correspondientes y cambiar por el metodo md5, como se muestra a continuación:
# TYPE DATABASE USER ADDRESS METHOD # "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
Para que los cambios tengan efectos, volver a cargar el archivo pg_hba.conf
su - postgres
-bash-4.1$ pg_ctl reload server signaled -bash-4.1$
7. Configurar acceso remoto a PostgreSQL
Localizar el archivo postgresql.conf :
vim /var/lib/pgsql/9.2/data/postgresql.conf
Actualizar con el siguiente contenido de la línea (aproximadamente 59) que se muestra a continuación:
listen_addresses = '*' # what IP address(es) to listen on;
Reiniciar el servicio
service postgresql-9.2 restart
8. Configurar PostgreSQL para que inicie automáticamente
chkconfig postgresql-9.2 on
9. Crear enlace simbolico para tener compatibilidad con PostgreSQL 8
ln -s /usr/pgsql-9.2/bin/pg_config /usr/bin ln -s /var/lib/pgsql/9.2/data /var/lib/pgsql ln -s /var/lib/pgsql/9.2/backups /var/lib/pgsql
Hola mira está muy bueno tu tutorial. Necesito una mano me quede trancado en el paso 4, luego de agregar el texto lo quiero grabar, pero me sale ( "/var/lib/pqsql/.bash_profile" E212: Can't open file for writing) no soy lo mas hábil en linux y sus comandos, te agradezco si me puedes ayudar, gracias, mi correo es [email protected]
Khani, lo mas probable es que estes tratando de editar el archivo con tu usuario y no con el de postgres o root. Intentanta con alguno de ellos. Puedes cambiarte a root con ejecutando desde la consola "su -".
Pingback: URL
exelente
Muy buen aporte graciass 😀