From 08865512f82a1f0c3dc38a0d2e9bece1c776117a Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Fri, 15 May 2015 12:06:04 +0200 Subject: [PATCH] Differentiate between connection address and listen address For example you can listen on 0.0.0.0 but provide service on some didicated ip. This should cover all possible use-cases when you are running behind firewall, load balancer or inside for example docker. --- helpers/postgresql.py | 4 ++-- postgres0.yml | 1 + postgres1.yml | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/helpers/postgresql.py b/helpers/postgresql.py index a061a52c..c3870cb6 100644 --- a/helpers/postgresql.py +++ b/helpers/postgresql.py @@ -38,7 +38,7 @@ class Postgresql: self.config = config self.connection_string = 'postgres://{username}:{password}@{listen}/postgres'.format( - listen=self.config['listen'], **self.replication) + listen=self.config['connection_address'], **self.replication) self.conn = None self.cursor_holder = None @@ -46,7 +46,7 @@ class Postgresql: def cursor(self): if not self.cursor_holder: - self.conn = psycopg2.connect('postgres://{}/postgres'.format(self.config['listen'])) + self.conn = psycopg2.connect('postgres://{}/postgres'.format(self.config['connection_address'])) self.conn.autocommit = True self.cursor_holder = self.conn.cursor() diff --git a/postgres0.yml b/postgres0.yml index 163fd3b1..01116059 100644 --- a/postgres0.yml +++ b/postgres0.yml @@ -6,6 +6,7 @@ etcd: postgresql: name: postgresql0 listen: 127.0.0.1:5432 + connection_address: 127.0.0.1:5432 data_dir: data/postgresql0 maximum_lag_on_failover: 1048576 # 1 megabyte in bytes replication: diff --git a/postgres1.yml b/postgres1.yml index 3a5bf93c..d6296845 100644 --- a/postgres1.yml +++ b/postgres1.yml @@ -6,6 +6,7 @@ etcd: postgresql: name: postgresql1 listen: 127.0.0.1:5433 + connection_address: 127.0.0.1:5433 data_dir: data/postgresql1 maximum_lag_on_failover: 1048576 # 1 megabyte in bytes replication: