Compilación e instalación postgres

download Compilación e instalación postgres

of 22

Transcript of Compilación e instalación postgres

Compilacin e instalacinPrimero nos bajamos las fuentes de la versin que vayamos a instalar de Postgresql.org. En nuestro ejemplo la versin 8.2.4 desde el servidor espejo (mirror) de Noruega.[user@servidor]# cd /tmp/ [user@servidor]# wget ftp://ftp.no.postgresql.org/pub/databases/postgresql/source/v8.2.4/postg... --21:17:45-ftp://ftp.no.postgresql.org/pub/databases/postgresql/source/v8.2.4/postg... => `postgresql-8.2.4.tar.bz2' Resolving ftp.no.postgresql.org... 158.36.2.10 Connecting to ftp.no.postgresql.org|158.36.2.10|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> TYPE I ... done. ==> PASV ... done. ==> PWD ... done. ==> CWD /pub/databases/postgresql/source/v8.2.4 ... done. ==> RETR postgresql-8.2.4.tar.bz2 ... done.

Length: 12,527,803 (12M) (unauthoritative) 100%[===========================================================>] 12,527,803 21:18:02 (700.20 KB/s) - `postgresql-8.2.4.tar.bz2' saved [12527803] 692.34K/s ETA 00:00

A partir de ahora seguimos trabajamos como usuario[user@servidor]# su (o sudo -i si estamos en Ubuntu)

root.:

Desempaquetamos las fuentes:[root@servidor]# cd /tmp [root@servidor]# tar xjvf postgresql-8.2.4.tar.bz2 [root@servidor]# cd postgresql-8.2.4/

Ahora tenemos que configurar y compilar PostgreSQL. Existen muchos parametros que podemos utilizar para configurar las caracteristicas disponibles en el software PostgreSQL que vamos a compilar. Teneis una lista completa sobre estos parametros en la seccin14.5.Installation Procedure de la documentacin oficial de PostgreSQL. Para mis servidores en produccin, yo suelo configurar PostgreSQL con estos parametros:[root@servidor]# ./configure --prefix=/usr/local --enable-nls --with-perl --with-python --with-openssl --with-pam --with-ldap

Estos parametros necesitan que tengais instalado en vuestro sistema perl, python, openssl y ldap (estos paquetes se pueden instalar de la manera estandard, rpm og deb en la distribucion de Linux que utiliceis). Para instalar en casa seguramente no necesiteis--with-pam --with-ldap,

el resto es bueno

tenerlo para tener posibilidad de conectar a vuestra base de datos encriptando el trafico de red, y tener posibilidad de utilizar PL/Perl y PL/Python para crear funciones. Mas informacin en PL/Perl - Perl Procedural Language y PL/Python - Python Procedural Language Una vez que el proceso de configuracin este terminado sin errores, podemos empezar a compilar las fuentes:[root@servidor]# gmake

La compilacin deberia de terminar sin errores si tenemos instalado todos los paquetes que necesitamos y dependiendo de los parametros de configuracin que hayamos definido con./configure.

Una vez que hayamos terminado de compilar las fuentes, pasamos a instalar todos los programas que forman PostgreSQL:[root@servidor]# gmake install

Si todo ha salido bien, ahora tendremos todo lo necesario para usar PostgreSQL (servidor, clientes, herramientas, bibliotecas, etc) disponible en nuestro sistema. En nuestro ejemplo todo se habr instalado bajo con--prefix=/usr/local) /usr/local

(como definimos ms arriba

InicializacinAhora tenemos que inicializar y configurar nuestra instalacin de PostgreSQL antes de poder empezar a crear nuetra base de datos. Lo primero que tenemos que hacer es crear un usuario en el sistema (postgres), que ser el dueo en nuestro sistema de los ficheros generados por PostgreSQL, asi como el encargado de ejecutar el motor de base de datos (PostgreSQL se negar a arrancar si intentamos hacerlo como usuario root)

Podeis utilizar vuestro programa preferido para crear nuevos usuarios en vuestra distribucin, o ejecutar el siguiente comando:[root@servidor]# useradd --help Usage: useradd ... useradd - create a new user -c comment Set the GECOS field for the new account

--show-defaults Print default values --save-defaults Save modified default values -D binddn -d homedir -e expire -f inactive -G group,... -g gid -k skeldir -m -o -P path -p password -u uid -r, --system -s shell --service srv --help --usage -v, --version Use dn "binddn" to bind to the LDAP directory Home directory for the new user Date on which the new account will be disabled Days after a password expires until account is disabled List of supplementary groups Name/number of the users primary group Specify an alternative skel directory Create home directory for the new user Allow duplicate (non-unique) UID Search passwd, shadow and group file in "path" Encrypted password as returned by crypt(3) Force the new userid to be the given number Create a system account Name of the user's login shell Add account to nameservice 'srv' Give this help list Give a short usage message Print program version

Valid services for --service are: files, ldap [root@servidor]# useradd -m postgres

Hemos creado nuestro usuariopostgres.

postgres

sin clave de acceso. Esto significa que la unicaroot

manera de convertirse en este usuario es siendo

y utilizando el comando

su -

A continuacin nos conectamos como el usuario postgresql".[root@servidor] mkdir -p /var/pgsql/data [root@servidor] chown postgres /var/pgsql/data [root@servidor]# su - postgres

postgres

e inicializamos nuestro "cluster

[postgres@servidor]# /usr/local/bin/initdb -E utf8 -U postgres -D /var/pgsql/data The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale en_US.UTF-8. fixing permissions on existing directory /var/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100

selecting default shared_buffers/max_fsm_pages ... 32MB/204800 creating configuration files ... ok creating template1 database in /var/pgsql/data/base/1 ... ok initializing pg_authid ... ok initializing dependencies ... ok creating system views ... ok loading system objects' descriptions ... ok creating conversions ... ok setting privileges on built-in objects ... ok creating information schema ... ok vacuuming database template1 ... ok copying template1 to template0 ... ok copying template1 to postgres ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the -A option the next time you run initdb. Success. You can now start the database server using: /usr/local/bin/postgres -D /var/pgsql/data or /usr/local/bin/pg_ctl -D /var/pgsql/data -l logfile start

Suponemos que vamos a tener todas nuetras bases de datos y ficheros relacionados con postgresql en el directorio/var/pgsql/data.

En sucesivos artculos, veremos como podemos configurar/organizar nuestros discos de una mejor manera para conseguir la mxima seguridad y velocidad cuando utilicemos PostgreSQL en sistemas de produccin. Tambien, veremos como podemos configurar PostgreSQL para sacar el maximo provecho a esta magnifica base de datos. En estos momentos podemos arrancar nuestra base de datos postgresql y empezar a utilizarla sin problemas.[postgres@servidor]# /usr/local/bin/pg_ctl -D /var/pgsql/data -l /var/pgsql/data/postgresql.log start server starting

Si queremos parar PostgreSQL podemos utilizar el siguiente comando:[postgres@servidor]# /usr/local/bin/pg_ctl -D /var/pgsql/data stop -m fast waiting for server to shut down.... done server stopped

Podemos empezar a utilizar la base de datos con el potentisimo cliente por linea de comandos que se instala por defecto, su nombre/usr/local/bin/psql:

[postgres@servidor]# /usr/local/bin/psql Welcome to psql 8.2.4, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit postgres=#

Para conseguir una lista de los principales comandos que podeis utilizar en psql para que podais empezar a disfrutar de PostgreSQL, ejecutar el comandopostgres=# \?

\?:

Aqui teneis algunos ejemplos de como utilizar este cliente :postgres=# \l List of databases Name postgres | Owner | Encoding -----------+----------+---------| postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 (3 rows) postgres=# CREATE DATABASE test001; CREATE DATABASE postgres=# \l List of databases Name postgres | Owner | Encoding -----------+----------+---------| postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 test001 (4 rows) postgres=# \c test001 You are now connected to database "test001". test001=# CREATE TABLE testing( id INTEGER NOT NULL, name TEXT NOT NULL, PRIMARY KEY (id)); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "testing_pkey" for table "testing" | postgres | UTF8

CREATE TABLE test001=# \d List of relations

Schema |

Name

| Type

|

Owner

--------+---------+-------+---------public | testing | table | postgres (1 row) test001=# \q [postgres@servidor]#

Esto es todo por esta vez. Mucha mas informacin en los proximos articulos de esta serie.

Instalacin de PostgreSQL en CentOSPara utilizar el servidor de bases de datos PostgreSQL en CentOS es necesario instalar los paquetes postgresql y postgresql-server:

yum install postgresql-server postgresql

El paquete postgresql-server contiene los binarios del servidor DBMS, y postgresql las utilidades cliente para conectarnos a un servidor, as como documentacin en formato HTML y las pginas "man". El servicio no queda activado en el arranque, as que lo activaremos con la utilidad chkconfig:

# chkconfig postgresql on # /etc/init.d/postgresql start Iniciando la base de datos: Iniciando servicios postgresql: [ [ OK OK ] ]

Conexin a un servidor PostgreSQLPara conectarnos al servidor PostgreSQL nos cambiamos al usuario postgres y utilizamos el CLI psql, ejemplo:

# su - postgres $ psql -d template1 -U postgres Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type:

\copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit

template1=#

Permitir conexiones remotas a PostgreSQLPor seguridad, tras una instalacin por defecto de PostgreSQL en CentOS, este aceptar nicamente conexiones locales en el puerto 5432/tcp:

# netstat -punta | grep LISTEN tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN

15112/postmaster

Para modificar este comportamiento tenemos que editar el fichero /var/lib/pgsql/data/pg_hba.conf, que contiene la configuracin para la autenticacin de clientes y aadir el listado de las redes y/o IPs desde las que nos vamos a conectar:

# vim /var/lib/pgsql/data/pg_hba.conf host all all 192.168.0.0/24 trust host all all 10.10.0.1/32 trust

Adems, tenemos que editar el fichero /var/lib/pgsql/data/postgresql.conf y modificar el parmetro listen_addresses para indicar que escuche en las interfaces necesarias, en este caso lo habilitaremos para todas:

# vim /var/lib/pgsql/data/postgresql.conf listen_addresses='*'

El ltimo paso es reiniciar el servicio y comprobar que los cambios se han aplicado correctamente:

# /etc/init.d/postgresql restart Parando el servicio postgresql: [ [ OK OK ] ]

Iniciando servicios postgresql:

# netstat -punta | grep LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN

15608/postmaster

En este ejemplo, permitimos el acceso a la red 192.168.0.0/24 y a la IP 10.10.0.1, quedando el servicio postmaster escuchando en todas las interfaces . Para mas informacin consultar el captulo Client Authentication de la gua de Administracin de PostgreSQL.

Modificar la contrasea del usuario postgres de PostgreSQLPara cambiar la contrasea de un usuario de PostgreSQL tenemos que utilizar la sentencia SQL ALTER USER usuario WITH PASSWORD:

# su - postgres $ psql -d template1 -U postgres

template1=# ALTER USER postgres WITH PASSWORD 'zaQ6RzRhFb'; ALTER ROLE

Comprobar la versin de PostgreSQL instaladaLa forma mas cmoda es ejecutando la sentencia SQL SELECT VERSION(), ejemplo:

template1=# SELECT VERSION();

---------------------------------------------------------------------------------------------------------PostgreSQL 8.1.11 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) (1 fila)

Backup y restore de bases de datos en PostgreSQLEn PostgreSQL tenemos el comando pg_dump para realizar copias de seguridad de BBDD, su uso es muy similar al mysqldump de MySQL. En este ejemplo obtenemos un listado de todas las BBDD existentes y realizamos el backup de una de ellas:

$ LANG=en_US psql -l List of databases Name | Owner | Encoding

--------------+----------+---------postgres template0 template1 | postgres | UTF8 | postgres | UTF8 | postgres | UTF8

woop_pruebas | postgres | UTF8 (4 rows)

$ pg_dump woop_pruebas > /tmp/woop_pruebas.pg

El resultado es un fichero ASCII con todas las sentencias SQL necesarias para restaurar la BBDD. Para restaurar una BBDD desde un fichero utilizaremos el comando:

$ psql -d woop_pruebas -f /tmp/woop_pruebas.pg SET SET SET COMMENT REVOKE REVOKE GRANT GRANT

Para hacer un backup de todas las BBDD podemos utilizar el comando pg_dumpall o realizar un pequeo script en BASH, ejemplo:

#!/bin/bash DIR=/var/lib/pgsql/backups LANG=en_US LIST=$(psql -l | awk '{ print $1}' | grep -vE '^|^List|^Name|template[0|1]|^\(') for db in $LIST

do pg_dump $db | gzip -c > done $DIR/$db.gz

Activar el modo de compatibilidad con versiones anteriores de PostgreSQLPara habilitar la compatibilidad con versiones anteriores de PostgreSQL tenemos que editar el fichero /var/lib/pgsql/data/postgresql.conf y aadir las siguientes variables (mas informacin en el captulo Version and Platform Compatibility):

add_missing_from = on array_nulls = on backslash_quote = safe_encoding default_with_oids = on escape_string_warning = on standard_conforming_strings = off regex_flavor = advanced sql_inheritance = onGrab

add_missing_from: When on, tables that are referenced by a query will be automatically added to the FROM clause if not already present. This behavior does not comply with the SQL standard and many people dislike it because it can mask mistakes (such as referencing a table where you should have referenced its alias). The default is off. This variable can be enabled for compatibility with releases of PostgreSQL prior to 8.1, where this behavior was allowed by default.

array_nulls: This controls whether the array input parser recognizes unquoted NULL as specifying a null array element. By default, this is on, allowing array

values containing null values to be entered. However, PostgreSQL versions before 8.2 did not support null values in arrays, and therefore would treat NULL as specifying a normal array element with the string value "NULL". For backwards compatibility with applications that require the old behavior, this variable can be turned off.

backslash_quote: This controls whether a quote mark can be represented by \' in a string literal. The preferred, SQL-standard way to represent a quote mark is by doubling it ('') but PostgreSQL has historically also accepted \'. However, use of \' creates security risks because in some client character set encodings, there are multibyte characters in which the last byte is numerically equivalent to ASCII \. If client-side code does escaping incorrectly then a SQL-injection attack is possible. This risk can be prevented by making the server reject queries in which a quote mark appears to be escaped by a backslash. The allowed values of backslash_quote are on (allow \' always), off (reject always), and safe_encoding (allow only if client encoding does not allow ASCII \ within a multibyte character). safe_encoding is the default setting.

default_with_oids: This controls whether CREATE TABLE and CREATE TABLE AS include an OID column in newly-created tables, if neither WITH OIDS nor WITHOUT OIDS is specified. It also determines whether OIDs will be included in tables created by SELECT INTO. In PostgreSQL 8.1 default_with_oids is off by default; in prior versions of PostgreSQL, it was on by default.

escape_string_warning: When on, a warning is issued if a backslash (\) appears in an ordinary string literal ('...' syntax) and standard_conforming_strings is off. The default is on. Applications that wish to use backslash as escape should be modified to use escape string syntax (E'...'), because the default behavior of ordinary strings will change in a future release for SQL compatibility. This variable can be enabled to help detect applications that will break.

standard_conforming_strings: This controls whether ordinary string literals ('...') treat backslashes literally, as specified in the SQL standard. The default is currently off, causing PostgreSQL to have its historical behavior of treating backslashes as escape characters. The default will change to on in a future release to improve compatibility with the standard. Applications can check this parameter to determine how string literals will be processed. The presence of this parameter can also be taken as an indication that the escape string syntax (E'...') is supported. Escape string syntax should be used if an application desires backslashes to be treated as escape characters.

regex_flavor: The regular expression "flavor" can be set to advanced, extended, or basic. The default is advanced. The extended setting might be useful for exact backwards compatibility with pre-7.4 releases of PostgreSQL.

sql_inheritance: This controls the inheritance semantics. If turned off, subtables are not included by various commands by default; basically an implied ONLY key word. This was added for compatibility with releases prior to 7.1.

Podemos comprobar que el cambio de dichas variables de configuracin se ha realizado correctamente con la siguiente consulta:# su - postgres -bash-3.2$ psql -d template1 -U postgres template1=# SELECT name, setting FROM pg_settings ;Grab

Si al aadir y/o modificar cualquier variable PostgreSQL no arranca tendremos que revisar el fichero de log /var/lib/pgsql/pgstartup.log para encontrar cualquier warning/error del tipo:

FATAL: FATAL:

unrecognized configuration parameter "array_nulls" parameter "standard_conforming_strings" cannot be changed

Grab

Instalacin de PostgreSQL en un servidor con PleskNOTA: Para poder gestionar bases de datos PostgreSQL desde Plesk se necesita comprar el addon "Power Pack"!! Una vez comprado el addon, el panel de control Plesk permite la gestin de bases de datos PostgreSQL. Podemos instalar PostgreSQL en Plesk de dos formas: 1) desde el interfaz web (Home -> Updates -> PostgreSQL) y 2) desde una shell con el "autoinstaller":

# autoinstaller --select-release-current --install-component postgresqlGrab

El siguiente paso es activarlo en el inicio del servidor, arrancar el servicio y asignar una contrasea al usuario administrador "postgres" :

# chkconfig postgresql on # /etc/init.d/postgresql start # su - postgres $ psql -d template1 -U postgres template1=# ALTER USER postgres WITH PASSWORD 'password'; ALTER ROLEGrab

Depus tenemos que entrar al interfaz web (Home -> Database Servers) y configurar el usuario administrador "postgres" con su contrasea, a partir de aqu podremos gestionarPostgreSQL desde el Plesk. Adems, se instala la herramienta de adminstracin web phpPgAdmin para los clientes junto con una utilidad muy bsica pg_manage que permite parar, arrancar e reinciar el servicio PostgreSQL.

Conexin a PostgreSQL desde PHPPara conectarnos a PostgreSQL desde PHP necesitamos instalar el paquete phppgsql, que propociona las extensiones pdo_pgsql.so y pgsql.so:

# yum install php-pgsql # /etc/init.d/httpd restartGrab

En una instalacin de PostgreSQL sobre CentOS, el mtodo de autenticacin configurado por defecto es "ident" (servicio que no est habilitado por defecto), por lo que al conectarnos desde PHP obtendremos el siguiente error:

LOG:

could not connect to Ident server at address "127.0.0.1", port 113: Connection

refused FATAL:Grab

Ident authentication failed for user "recover"

La solucin pasa por editar el fichero /var/lib/pgsql/data/pg_hba.conf y cambiar el mtodo de autenticacin:

# vim /var/lib/pgsql/data/pg_hba.conf (..) #host hostGrab

all all

all all

127.0.0.1/32 127.0.0.1/32

ident sameuser md5

Actualizar el formato/esquema de las bases de datos PostgreSQLCuando actualizamos y/o cambiamos de versin un servidor PostgreSQL tenemos que actualizar tambin el formato/esquema de las bases de datos. En PostgreSQL no existe una herramienta similar al mysql_upgrade de MySQL que nos automatizara la tarea, por lo que tenemos que realizar una serie de pasos: 1) Backup 2) Borrar/mover el contenido de $PGDATA y volver a inicializar con initdb el nuevo formato de las bases de datos PostgreSQL 3) Restore

# /etc/init.d/postgresql stop # su - postgres $ pg_dump woop_pruebas > /tmp/woop_pruebas.pg $ rm -rf $PGDATA $ initdb $ psql -d woop_pruebas -f /tmp/woop_pruebas.pg # /etc/init.d/postgresql startGrab

Si tras actualizar una instacia de PostgreSQL no actualizamos el formato de las bases de datos al arrancar nos encontraramos con este error:

An old version of the database format was found. You need to upgrade the data format before using PostgreSQL. See /usr/share/doc/postgresql-8.4.7/README.rpm-dist for more information.Grab

Tip! Si utilizas RHEL/CentOS puedes utilizar el repositorio PowerStack para ejecutar la ltima versin estable de PostgreSQL.

Conexion por escritorio remoto a UbuntuPublicado por Luciano el 08 de diciembre de 2008 en Linux, Sistemas Operativos, Windows 17 comentarios

Hace tiempo que andaba con la necesidad de conectarme remotamente a mi escritorio de Ubuntu Linuxdesde una porttil con Windows XP, sin embargo siempre postergaba esto por falta de disponibilidad de tiempo. Una vez mas, Ubuntu me demuestra que el no nos quita tiempo, pues en su instalacin bsica ya tiene todo preparado para que nos conectemos remotamente a su escritorio desde cualquier cliente VNC. Si bien los pasos a seguir son pocos y muy fciles, comparto esta experiencia pues a mas de uno le puede ser de utilidad. Que necesitamos? PC con Ubuntu instalado (en adelante servidor) PC con cualquier otro Sistema Operativo (en adelante cliente) Cliente VNC instalado sobre la segunda PC cliente. Como primer paso en la PC Ubuntu (servidor) deberemos configurar el escritorio remoto, esto lo hacemos por medio de la opcin Escritorio Remoto del men Sistema \ Preferencias. En dicha ventana podemos configurar: Habilitar el compartir el escritorio con otros usuarios, tanto vista como control del mismo. Pedir confirmacin para la toma remota del escritorio Contrasea de acceso Opciones avanzadas, como permitir solo conexiones locales, puerto, cifrado, etc.

Activado el acceso remoto, ya sea para vista o control nos dirigimos a la PC cliente e instalamos un cliente VNC. Yo opte por por TightVNC, libre, liviano, gratis y que mejora al reconocido RealVNC. Debido a que solo me interesaba utilizarlo como cliente no me baje todo el paquete, sino simplemente el Viewerpara Windows, el cual no requiere instalacin y solo ocupa 235 Kb. Ejecutando vncviewer.exe solo me limit a ingresar la IP de la PC servidor y hacer clic sobre Connect. Sin ms ni menos ya estaba controlado remotamente la PC y todo esto sin dedicar ms de 5 minutos de mi tiempo.

Configurar Conexion Remota de Postgres : Gnu/Linux

Esto e smas que todo para aquellas personas que se estan adentrando en laadministraciondeservidoreslinux al igual que yo, bueno pues aqui les dejo algunos pasos, luego de instalar postgres lo primero es que postgres acepte conexiones locales por consola para ello editamos el archivo : sudo vim /etc/postgresql/8.4/main/pg_hba.conf nota: pueden utilizar cualquier editor como estos ; pico, vi o gedit en la linea 82 veran algo parecido a esto # "local" is for Unixdomainsocket connections only local all all ident pues solo se tiene que hacer es cambiar la palabre ident por md5 quedando de esta manera!! local all all md5 luego de esto lo primero es reiniciar el servicio para que los cambios se efectuen sudo /etc/init.d/postgresql-8.4 restart crear el usuario, para ello nos logueamos como postgres: sudo su postgres y les pedira la contrasea de su usuarion y loego el prompt cambiara de la siguiente manera postgres@linux1187:/home/jean$

posterior a ello crear el usuario por ejemplo prueba postgres@linux1187:/home/jean$ createuser pruebauser -W luego crear la base de datos postgres@linux1187:/home/jean$ createdb bd_prueba -O pruebauser nota: si queremos cambiar la contrasea del usurio que ya creamos solo hacemos lo siguiente, una ves que nos hemos logueado como usuario postgres colocamos el comando postgres@linux1187:/home/jean$ psql y aparecera algo como esto psql (8.4.4) Digite help para obtener ayuda. postgres=# alter user pruebauser with password '123'; postgres=# \q y luego hacemos prueba de conexion local por consola con un usuario que no sea postgres jean@linux1187:~$ psql -U pruebauser -W bd_prueba colocan su contrasea y listo

una vez hecho esto, a lo que vamos; " hacer conexiones remotas"sudo vim /etc/postgresql/8.4/main/postgresql.conf en la linea 59 esta : #listen_addresses = 'localhost' Cambiar a ; listen_addresses = '*' y en la 82 esta : #password_encryption = on la almohadilla o ' # ' significa que esa linea esta comentada, solo tenemos que descomentarla y listo quedando de esta manera password_encryption = on luego de eso reiniciar el servicio

$ sudo /etc/init.d/postgresql-8.4 restart y listo y si estamos en una lan probamos de otra maquina $ psql -h 192.168.0.199 -U pruebauser -W bd_prueba y por ultimo para que se pueda ver la herramienta deadministracionde posgtres phppgadmin,en otras maquinas con solo colocar la ip/phppgadmin enel navegador de esta manerahttp://192.168.0.199/phppgadmin/ si tenemos instalado apache solo hace falta editar una linea en un fichero $ sudo vim /etc/apache2/conf.d/phppgadmin esto se hace si instalamos esta herramienta web por los repositorios en la linea 10 : encontraremos deny from all, lo comentamos y descomentamos la linea 13 allow from all ; quedando de esta manera order deny,allow #deny from all allow from 127.0.0.0/255.0.0.0 ::1/128 allow from all

Configurar la lista de accesoLa configuracin de la lista de acceso permite decirle a PostgreSQL qu mtodo de autentificacin usar y establecer relaciones de confianza para ciertas mquinas y redes. Hay que editar el fichero /etc/postgresql/8.2/main/pg_hba.conf:

$ sudo vi /etc/postgresql/8.2/main/pg_hba.confAl final del archivo se encuentra una lista de acceso predeterminada, ahora, dependiendo de su necesidad puedes hacer lo siguiente: Si necesita que cualquier usuario se conecte por medio de una direccin IP en especifico, agregue al final la siguiente lnea:

host all all 192.168.1.4 255.255.255.0 md5

La direccin IP y la SubMascara de Red son ejemplos, cmbielas por datos del usuario que requiera realizar la conexin.

Si necesita que cualquier usuario se conecte por medio de una IP determinada sin importar el password (confiamos en dicha IP), la lnea es:

host all all 192.168.1.4 255.255.255.255 trust

Si necesita que cualquier usuario (usuario de base de datos autentificndose, claro) se conecte por medio de cualquier direccin IP, agregue al final la siguiente lnea:

host all all 0.0.0.0 0.0.0.0 md5 Si necesita que un usuario determinado se conecte a una base de datos determinada por medio de una direccin IP en especifico, agregue al final la siguiente lnea:

host MyDataBase MyUser 192.168.1.4 255.255.255.0 md5 Guarda los cambios realizados en el archivo y reinicia el demonio para que los cambios surjan efecto:

$ sudo /etc/init.d/postgresql-8.2 restart