•»Sin pelos en la Lengua ►Tutoriales

Conexiones TCP/IP con PostgreSQL 8.3

Hola, ya hace un rato sin postear nada… pero como recompensa posteare algo útil.

Cuando trabajamos en equipo y deseamos hacer una base de datos “física”, necesitamos compartir el servidor de la Base de datos. Para esto pensamos, que es tan simple como hacer una conexión remota al servidor base (llamemos así al servidor que recibirá las conexiones entrantes) por medio de la IP, desde el cliente (llamemos así al Manejador de base de datos desde el cual nos conectaremos remotamente al servidor base). Pero en la versión 8.3  de PostgreSQL esta opción de conexión remota (TCP/IP) esta desactivada por default.

Ok dicho lo anterior, manos a la obra para configurar nuestro servidor base necesitamos hacer lo siguiente:

1.-Editar nuestro archivo postgresql.conf para aceptar conexiones TCP/IP.

a) Boton inicio –> PostgreSQL 8.3 –> Configuration files –> Edit postgresql.conf

image

b) En el archivo postgresql.conf buscamos la línea:

 # – Connection Settings –

Exactamente el texto :

#listen_addresses = ‘localhost’  

En esta línea borraremos el #(gato) y sustituiremos el texto localhost por *(asterisco), quedando de la siguiente forma:

listen_addresses = ‘*’   

image

Guardamos el archivo y listo. Con estos dos sencillos pasos esta configurado nuestro servidor base para recibir conexiones IP entrantes, pero aun nos falta dar de alta los usuarios que se podrán conectar a ella.

Para dar de alta usuarios de  conexión remota:

a) Boton inicio –> PostgreSQL 8.3 –> Configuration files –> Edit pg_hba.conf

image

b) En el archivo pg_hba.conf

Buscamos la línea

# IPv4 local connections:

y justamente en la línea:

———-

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

———–

Agregaremos un usuario mas, con la IP de la maquina cliente que accederá a nuestro servidor base quedando de la siguiente forma:

———-

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
host    all         all        192.168.1.103/32          md5

———–

El ultimo paso que nos queda es reiniciar el servicio de PostgreSQL en el servidor base para que los cambios sean aceptados y el cliente pueda conectarse.

*Esto lo hacemos desde Panel de control-> Herramientas Administrativas –>  Servicios-> PostgreSQL Database Server 8.3

image

Lo detenemos y lo iniciamos (es como reiniciarlo jajaja).

Ya con eso el cliente podrá conectarse desde su pgAdmin III

*Nota importante: SI tienes un firewall asegúrate de desactivarlo o bien colocar en las excepciones a postgreSQL con su respectivo puerto.

10 comentarios

  1. Gracias me funciono a la perfección, el tip fue de deshabilitar el firewall, ya que que miles de veces hacia la prueba según otros post de internet, pero no mencionban este pequeño detalle del firewall… MilGracias

  2. Buenas noches amigo,

    Mi intriga es la siguiente, yo dentro de una clase genero la conexion con la siguiente cadena:

    scadena = «Driver={PostgreSQL UNICODE};Server=localhost;Port=5432;Database=DB_LAPTV;Uid=postgres;Pwd=ANITA8216;»

    Que mas debo colocar para que mis clientes se puedan conectar a la base de datos.

    Te pego el codigo completo de la clase de conexion, este esta programado en VB 2008
    Imports System.Data.OleDb
    Public Class clsConexion
    Private scadena As String

    Public Sub mtdAsignar()
    ‘scadena = «Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\10.201.168.116\LAPTV\DB_LAPTV.accdb»
    scadena = «Driver={PostgreSQL UNICODE};Server=localhost;Port=5432;Database=DB_LAPTV;Uid=postgres;Pwd=ANITA8216;»
    End Sub
    Public ReadOnly Property _scadena()
    Get
    Return scadena
    End Get
    End Property
    End Class

  3. En realidad, si ese código esta dentro de una aplicación, NO TENDRAS NINGUN PROBLEMA puesto que tu conexión la realizas dentro de «localhost»; en cambio el post esta encaminado al Acceso remoto (Una pc «servidor» tiene el servicio de postgresql, mientras otra pc «cliente» Accede con PgAdminIII.

    No se si entendí bien tu pregunta.. pero creo que ocurrió una confusión.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: