sergiougalde
10/26/2018 - 12:09 AM

Instalar PostgreSQL 9.3 en un servidor CentOS 6

Contenido

Instalación de PostgreSQL

Agregar el repositorio

rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm

Actualizar el repositorio

yum update

Instalar postgresql

yum install postgresql93-server postgresql93-contrib

Inicializar postgresql database

service postgresql-9.3 initdb

Iniciar el servicio y configurar para que se inicie automáticamente en cada reinicio

service postgresql-9.3 start
chkconfig postgresql-9.3 on

Abrir los puertos

Editar el archivo iptables

vi /etc/sysconfig/iptables

Agregar la siguiente regla

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

Reiniciar el servicio iptables

service iptables restart

Acceder a PostgreSQL desde linea de comandos

El usuario y base de datos por defecto se llaman postgres

Cambiar al usuario postgres para conectarse

su - postgres

Iniciar sesión con postgres

psql

Para salir de la consola escribir \q

Asignar contraseña al usuario postgres

Entrar a la consola de postgres y asignar la contraseña

su - postgres

psql

postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q

Crear un usuario

Cambiar al usuario postgres

su - postgres

Crear el usuario

createuser ibet7o

Crear la base de datos

createdb mydb

Acceder a la consola de postgres para asignar una contraseña y los privilegios a la base de datos

psql
psql (9.3.5)
Type "help" for help.

postgres=# alter user ibet7o with encrypted password 'mypass';
ALTER ROLE

postgres=# grant all privileges on database mydb to ibet7o;
GRANT
postgres=#

Configuración PostgreSQL-MD5 Autenticación

Editar el archivo pg_hba.conf

vi /var/lib/pgsql/9.3/data/pg_hba.conf

Modificar las líneas 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
host    all             all             192.168.1.0/24          md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
[...]

Reiniciar el servicio postgresql para aplicar los cambios

service postgresql-9.3 restart

Configurar PostgreSQL-Configure TCP/IP

Por defecto, la conexión TCP/IP está desactivada, por lo que los usuarios de otros equipos no pueden tener acceso a PostgreSQL.

Para permitir la conexión a los usuarios de otros equipos editar el archivo postgresql.conf

vi /var/lib/pgsql/9.3/data/postgresql.conf

Buscar las lineas

[...]
#listen_addresses = 'localhost'
[...]
#port = 5432
[...]

Eliminar el comentario de las dos líneas y configure la dirección IP del servidor postgresql o ajustar "*" para escuchar de todos los clientes como se muestra a continuación:

listen_addresses = '*'
port = 5432

Reiniciar el servicio postgresql para aplicar los cambios

service postgresql-9.3 restart