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
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 = ‘*’
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
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
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.
un espacio de información bueno, felicidades erick
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
=) Que bueno que sea de utilidad, al igual que tu yo batalle con ese detallito
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
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.
well.. it’s like I thought!
Gracias amigo!
Me salvaste de una y bn grande!
Q buen post
Cambie lo que tu excelente blog me dice, el problema está en que no puede acceder con el usuario y contraseña que tenía antes, k hago?
excelente aporte