Comprobación del entorno PostgreSQL operativo bajo Linux

Si vamos a utilizar PostgreSQL como gestor de bases de datos, el primer paso será asegurarnos de que esté correctamente instalado y en ejecución. Para ello podemos cargar en el ordenador donde se supone que se esté ejecutando el servidor Postgres la base de datos template1 mediante el programa monitor psql desde la línea de comandos de la siguiente forma:

								pepe@mortadelo:~psql template1
								No se pudo conectar con el servidor; No existe el fichero o el directorio
								Está el servidor en ejecución localmente y aceptando conexiones
								en el socket de dominio Unix /tmp/.s.PGSQL.5432 ?
						

Si obtenemos un mensaje parecido al anterior, esto es señal de que hemos instalado los binarios pero el servidor no está en ejecución.

Para concluir la instalación de Postgres deberemos de crear usuarios distintos al administrador de bases de datos postgres. Para ello accederemos como usuario postgres y emplearemos el programa createuser bajo la línea de comandos. Es interesante introducir un código de usuario que coincida con el nuestro propio del sistema operativo linux (en nuestro caso sería, por ejemplo, el usuario pepe), ya que esto simplificará la conexión a la base de datos local (tan sólo tendremos que suministrar el nombre de la base de datos, pudiendo dejar en blanco el código de usuario, el nombre del host, etc). A continuación se muestra una pantalla en la que se realiza esta operación:

								pepe@MORTADELO:~su
								Password:
								MORTADELO:/home/pepe #su postgres
								postgres@MORTADELO:/home/pepe #createuser pepe
								Debe permitírsele al usuario la creación de bases de datos? (s/n)
								s
								Debe permitírsele al usuario la creación de otros usuarios? (s/n)
								s
								CREATE USER
								postgres@MORTADELO:/home/pepe
						

Por último sería interesante modificar algunos parámetros de sus ficheros de configuración. Para ello nos situaremos en el directorio donde residan, que coincidirá con el suministrado para almacenar los datos en initdb; éste sería, por ejemplo, en nuestro caso (distribución Suse) /var/lib/pgsql/data.

Sugerencia

Para acceder a este directorio tendremos que hacerlo bajo el usuario postgres, o bajo root

Los puntos propuestos a modificar de la configuración del servidor de bases de datos Postgres serían los siguientes:

  • En el fichero postgresql.conf, podremos editar parámetros tales como el número máximo de conexiones permitidas, encriptado de la contraseña de acceso, variables para el mantenimiento de la base de datos (como autovacuum), etc.

  • En el fichero pg_hba.conf elegiremos el esquema bajo el cual se puedan conectar los distintos usuarios y equipos al servidor de bases de datos. El menos restrictivo es aquel en el que se permite la conexión de cualquier máquina y usuario. Nosotros lo adaptaremos a nuestras necesidades de seguridad.

Muchas veces el proceso de instalación de Postgres a partir de algún paquete binario es totalmente automático, siendo tan sólo necesaria la creación de un usuario tal y como se ha descrito. Esto ocurre por ejemplo en distribuciones tales como Ubuntu o Debian