Está en la página 1de 2

PostgreSQL

Instalar PostgreSQL en Debian


En este documento se describe cmo instalar PostgreSQL en Debian. Puede ser vlido para otras distribuciones aunque, seguramente, habrn cosas que no sern exactamente iguales. Para instalarlo desde los fuentes se puede consultar Instalando PostgreSQL en Linux aunque es necesario tener unos pocos conocimientos tcnicos. Nota: Las oredenes que aparecen precedidas por # indican que deben ser ejecutadas por el usuario root, las que aparecen precedidas por $, pueden ser ejecutadas por cualquier usuario. En primer lugar tenemos que instalar los paquetes. Para ver los paquetes que hay disponibles en nuestra distribucin
$ apt-cache search postgresql

En mi caso voy a instalar la versin 8.1:


# apt-get install postgresql-8.1

que da como resultado:


Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Se instalarn los siguientes paquetes extras: postgresql-client-8.1 postgresql-common Paquetes sugeridos: postgresql-doc-8.1 Se instalarn los siguientes paquetes NUEVOS: postgresql-8.1 postgresql-client-8.1 postgresql-common 0 actualizados, 3 se instalarn, 0 para eliminar y 6 no actualizados. Se necesita descargar 5623kB/5710kB de archivos. Se utilizarn 16,6MB de espacio de disco adicional despus de desempaquetar. Desea continuar [S/n]?

es decir, que tambin instalar postgresql-client-8.1 y postgresql-common. Tras descargar los paquetes, los instala en el sistema y crea el cluster (para almacenar la base de datos) en /var/lib/postgresql/8.1/main y los ficheros de configuracin en /etc/postgresql/8.1/main. En otras distribuciones estos directorios pueden estar en otro lugar del rbol de ficheros. La salida que se obtiene es la siguiente:
Des:1 ftp://ftp.debian.org unstable/main postgresql-client-8.1 8.1.3-1 [1342kB] Des:2 ftp://ftp.debian.org unstable/main postgresql-8.1 8.1.3-1 [4282kB] Descargados 5623kB en 10s (518kB/s) Preconfigurando paquetes ... Seleccionando el paquete postgresql-common previamente no seleccionado. (Leyendo la base de datos ... 200196 ficheros y directorios instalados actualmente.) Desempaquetando postgresql-common (de .../postgresql-common_42_all.deb) ... Seleccionando el paquete postgresql-client-8.1 previamente no seleccionado. Desempaquetando postgresql-client-8.1 (de .../postgresql-client-8.1_8.1.3-1_i386.deb) ... Seleccionando el paquete postgresql-8.1 previamente no seleccionado. Desempaquetando postgresql-8.1 (de .../postgresql-8.1_8.1.3-1_i386.deb) ... Configurando postgresql-common (42) ... Creating generic self-signed certificate: /etc/postgresql-common/postgresql.crt (replace with hand-crafted or authorized one if needed). Configurando postgresql-client-8.1 (8.1.3-1) ... Configurando postgresql-8.1 (8.1.3-1) ... Creating new cluster (configuration: /etc/postgresql/8.1/main, data: /var/lib/postgresql/8.1/main)... Moving configuration file /var/lib/postgresql/8.1/main/pg_hba.conf to /etc/postgresql/8.1/main... Moving configuration file /var/lib/postgresql/8.1/main/pg_ident.conf to /etc/postgresql/8.1/main... Moving configuration file /var/lib/postgresql/8.1/main/postgresql.conf to /etc/postgresql/8.1/main... Configuring postgresql.conf to use port 5432... Starting PostgreSQL 8.1 database server: main.

Como puede verse tambin pone en marcha el servidor, con lo que ya podemos intentar hacerle alguna consulta utilizando, por ejemplo, psql:
$ psql -l

nos devuelve
psql: FATAL: no existe el rol user

donde user es el nombre del usuario linux. Es decir nos est diciendo que no existe, en postgresql (el SGBD), el usuario user. Cuando se instala postgresql, solo hay definido en el servidor un usuario llamado postgres que tiene permisos de superusuario en el SGBD. Por tanto, para poder trabajar con el servidor tendremos que crear un usuario, para ello lo primero que tendremos que hacer es convertirnos en el usuario postgres de linux:
# su postgres $ createuser user

donde user es el nombre del usuario que queremos crear en el SGBD y que debe coincidir con el usuario de linux desde el que queremos conectarnos a postgresql, la respuesta que obtenemos es
Ser el nuevo rol un superusuario? (s/n)

si le contestamos que s el usuario podr hcer de todo en el SGBD (el servidor postgresql). Ahora ya podemos dejar de ser el usuario postgres:
$ exit

En el fichero /etc/postgresql/8.1/main/pg_hba.conf podemos indicar quien puede conectarse y quien no al SGBD y tambin cmo deben autenticarse. El fichero es autoexplicativo y fcilmente inteligible. En Debian, por defecto, se permite:

Conectarse a todas las bases de datos al usuario postgres desde el mismo ordenador en el que est el SGBD. Conectarse a todas las bases de datos a cualquier usuario definido en el SGBD (con la orden createuser vista con anterioridad) que se llame igual que el usuario del sistema Debian.

Para ms informacin se puede consultar El Archivo pg_hba.conf Documento realizado por Miguel Prez Francisco. Este documento se rige por la licencia Creative Commons ReconocimientoNoComercial-CompartirIgual 2.5. Para ver una copia de esta licencia, se puede visitar http://creativecommons.org/licenses/by-nc-sa/2.5/es/

También podría gustarte