1. Inicio
  2. Tecnologia
  3. Postgres
  4. Instalar Postgres en Debian

Instalar PostgreSQL en Debian 7.0 (Wheezy)

PostgreSQL es un poderoso sistema de base de datos objeto-relacional, que puede correr en la mayoría de los sistemas operativo, tales como, Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), y Windows. A continuación se muestra como se puede instalar en un equipo con Debian 7.0 (y/o derivados). Los siguientes comandos deben ser ejecutados como el usuario root o utilizando sudo. PostgreSQL es un poderoso sistema de base de datos objeto-relacional, que puede correr en la mayoría de los sistemas operativo, tales como, Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), y Windows. A continuación se muestra como se puede instalar en un equipo con Debian 7.0 (y/o derivados). Los siguientes comandos deben ser ejecutados como el usuario root o utilizando sudo.

Instalar PostgreSQL

Instalar usando el comando apt-get:

apt-get install postgresql postgresql-client postgresql-contrib

Accesar PostgreSQL

El proceso de instalación creó una base de datos y un usuario, ambos denominados postgres. Para accesar al manjeador de base de datos la primera vez se usa el usuario postgres:

su - postgres
$ psql 
psql (9.1.9)
Type "help" for help.
postgres=#
Para salir de la sesión se escribe el comando de psql \q.

Configurar opciones de seguridad básicas

Cambiar la clave del usuario postgres

El usuario postgres tiene el rol de administrador dentro del manejador de base de datos, y en la instalación se le colocó una clave de forma predeterminada. Esta clave se puede cambiar de la siguiente forma:

su - postgres
$ psql 
psql (9.1.9)
Type "help" for help.
postgres=#
postgres=# \password postgres 
Enter new password: 
Enter it again: 
postgres=# \q

Nota: Preferiblemente realizar este paso antes de cambiar el tipo de autenticación.

Autenticación con MD5

En el punto anterior se puede observar que el manejador de base de datos no solicitó una clave del usuario postgres, el cual es el administrador de la base de datos. Este comportamiento se debe a que PostgreSQL esta configurado para usar autenticación de tipo ident, la cual se basa en el acceso mediante el uso de un usuario local en el sistema operativo. Para cambiar este comportamiento predeterminado y colocar la autenticación por el método MD5, que le solicita al usuario una clave, ejecutamos lo siguiente:

vi /etc/postgresql/9.1/main/pg_hba.conf
local   all             all                                     ident 
local   all             all                                     md5 
/etc/init.d/postgresql restart

Ahora cada vez que desee conectarse a la base de datos le será solicitado una clave de acceso.

Configurar TCP/IP

De forma predeterminada las conexiones por TCP/IP estan deshablitadas, por lo tanto los usuarios no pueden accesar a la base de datos desde otros computadores. Para permitir la conexión desde otros sistemas o computadores ejecutamos lo siguiente:

vi /etc/postgresql/9.1/main/postgresql.conf
#listen_addresses = 'localhost'
listen_addresses = '*'
#password_encryption = on
password_encryption = on
/etc/init.d/postgresql restart

Instalar PostgreSQL Adminpack

Para instalar el PostgreSQL Adminpack, se ejecuta el siguiente comado dentro de psql:

postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION

Crear un usuario

Para crear un usuario en el manejor de base de datos, se ejecuta lo siguiente:

su - postgres
$ createuser
Enter name of role to add: pedro
Shall the new role be a superuser? (y/n) y
psql 
postgres=# \password pedro 
Enter new password: 
Enter it again:

Crear una Base de Datos

Para crear un base de datos se procede de la siguiente forma:

su - postgres
$ createdb -O pedro mi_base_de_datos
psql mi_base_de_datos
psql (9.1.9)
Type "help" for help.
mi_base_de_datos=#

Borra una Base de Datos

su - postgres
$ dropdb <nombre-de-la-base-de-datos>

Borrar un Usuario

su - postgres
$ dropuser <nombre-usuario>