Feike Steenbergen
b8ce6794de
Initialize cluster with encoding=UTF8 by default.
2015-05-18 13:35:43 +02:00
Alexander Kukushkin
e997911b8d
Merge branch 'master' of github.com:CyberDem0n/governor
...
Conflicts:
helpers/postgresql.py
2015-05-15 16:21:59 +02:00
Alexander Kukushkin
348100752b
Open connection to self via listen address
2015-05-15 16:18:31 +02:00
Feike Steenbergen
0b669e0d20
Cleanup
...
Removed aws reference from Dockerfile, remove unnecessary steps.
Connect using libpq parameters, therefore providing nice application name for Governor.
2015-05-15 13:52:20 +02:00
Alexander Kukushkin
5ab99c6589
Get rid from all AWS references here.
...
connect_address give possibility to specify listen address and connect
address separetely, so there is no need to determine your external
address by doing requests to amazon api.
2015-05-15 12:39:05 +02:00
Alexander Kukushkin
af9ebfa3b9
Use connect_address instead of listen when building connection_string
2015-05-15 12:20:24 +02:00
Alexander Kukushkin
75ff91d017
rename connection_address to connect_address
2015-05-15 12:13:05 +02:00
Alexander Kukushkin
08865512f8
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.
2015-05-15 12:06:04 +02:00
Alexander Kukushkin
2fd81a5135
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-15 11:39:25 +02:00
Alexander Kukushkin
274bc14bfb
Do not check maximum_lag_on_failover if it is not defined in config file
2015-05-15 11:38:50 +02:00
Alexander Kukushkin
8e5beb5883
Small optimization
2015-05-15 11:25:26 +02:00
Alexander Kukushkin
0c040b8ce2
Merge branch 'master' of github.com:compose/governor
...
Conflicts:
governor.py
helpers/etcd.py
helpers/ha.py
helpers/postgresql.py
2015-05-13 18:01:01 +02:00
Alexander Kukushkin
3fa0476d8c
Merge branch 'master' of github.com:zalando/governor into features/refactoring
2015-05-13 14:58:54 +02:00
Alexander Kukushkin
b1f43c1461
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
2015-05-13 14:57:57 +02:00
Alexander Kukushkin
d25ad17c32
Add support of python3
2015-05-13 14:53:23 +02:00
Christopher Winslett
2c69074652
move stale protection from is_healthy to is_healthiest to allow stale secondaries to rejoin cluster
2015-05-12 18:29:54 -07:00
Christopher Winslett
557bad37cd
ensure a stale Postgres does not become leader
2015-05-12 18:11:12 -07:00
Feike Steenbergen
ed30684d85
Merge branch 'features/refactoring' of github.com:zalando/governor into feature/status_page
...
Conflicts:
helpers/postgresql.py
2015-05-12 14:39:51 +02:00
Feike Steenbergen
a56b346295
Hardened the health checks and implemented a real status page.
...
For the postgresql helper, hardened the code to get "the" cursor of the postgresql instance.
For the statuspage, a small status json is returned.
To find out what status a PostgreSQL cluster is in we use the cursor (instead of the provided query() function), as the query function does some retrying etc. For the healthcheck we want to simple provide an answer to a simple query, if we have to reconnect, we are not *that* healthy anyway.
Dropped catching exceptions in the do_GET block, as the HTTPServer will do that nicely for us anyway.
2015-05-12 11:58:47 +02:00
Alexander Kukushkin
41942ee722
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-12 09:09:49 +02:00
Alexander Kukushkin
be7677a1b8
Bugfix, hostname and address are not keys of dict but properties of Member object
2015-05-12 09:08:45 +02:00
Alexander Kukushkin
1370923e84
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-11 16:58:26 +02:00
Alexander Kukushkin
eb1721f65f
Minimize amount of requests to etcd
2015-05-11 15:15:08 +02:00
Alexander Kukushkin
42d9c08c37
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-11 10:06:29 +02:00
Alexander Kukushkin
6d17d39776
Backport from compose/governor: compare xlog positions based on bytes since 0/000000 based on feedback
2015-05-11 10:06:18 +02:00
Alexander Kukushkin
b3d6997289
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-11 09:54:28 +02:00
Alexander Kukushkin
2e3eb333cb
Shutdown fast
2015-05-11 09:48:59 +02:00
Alexander Kukushkin
0b288a7f3e
Track list of already existing physical replication slots
...
Drop replication slot when it was removed from etcd.
Execute pg_create_physical_replication_slot only when something new appeared in etcd.
2015-05-11 09:48:15 +02:00
Christopher Winslett
36c4c31e83
compare xlog positions based on bytes since 0/000000 based on feedback
2015-05-10 19:36:59 -07:00
Alexander Kukushkin
db7a38f025
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-08 16:33:41 +02:00
Alexander Kukushkin
3a6afe5a9b
Set environment variable PGPASSFILE via os.environ before running pg_basebackup and unset it afterwards
2015-05-08 16:32:57 +02:00
Alexander Kukushkin
d9f3b232c5
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
2015-05-08 13:36:49 +02:00
Alexander Kukushkin
61f0cb2fb4
dempote and follow_the_leader have the same functionality
...
Now methods supporting the case when leader is not defined. There would
be no primary_conninfo in recovery.conf. I like it more comparing to
postgres://169.0.0.1:5432
2015-05-08 12:28:00 +02:00
Alexander Kukushkin
40b20ce5d7
Start postmaster and run initdb with pg_ctl
...
It will wait utill postgres started up and helps to get rid from magic time.sleep(5) in start method.
2015-05-06 18:26:28 +02:00
Alexander Kukushkin
2fd1614144
query method now allow to execute sql with parameters
2015-05-06 17:52:39 +02:00
Alexander Kukushkin
1d5f3b1fff
Do not write primary_conninfo into recovery.conf during start
2015-05-06 16:21:49 +02:00
Alexander Kukushkin
0c776f5d86
Small bugfixes
2015-05-06 14:11:37 +02:00
Alexander Kukushkin
e108fec30a
Try to replace % formatting with .format()
2015-05-06 13:48:16 +02:00
Alexander Kukushkin
6f3476a924
Try to replace % formatting with .format()
2015-05-06 13:09:11 +02:00
Alexander Kukushkin
5fc770a370
Got rid of unneeded calls of os.system
2015-05-06 12:38:18 +02:00
Alexander Kukushkin
4e786c1519
Format code according to pep8
2015-05-06 12:12:37 +02:00
Oleksii Kliukin
39667f6e92
allow connections for all hosts and ports, not just postgres.
2015-04-30 12:11:46 +02:00
Oleksii Kliukin
221ba39c0f
Remove WITH invokations from CREATE ROLE.
2015-04-30 12:04:57 +02:00
Oleksii Kliukin
e8345e5e90
fix a typo.
2015-04-30 11:56:13 +02:00
Oleksii Kliukin
10dbf990f1
Allow md5 connections from outside and create connection roles.
...
Create a superuser role with a given name and password (or change
the postgres role if the name is not given). Also, create an admin
role with the name and the password provided. The admin role has
CREATEDB and CREATEROLE permisssions, effectively making it the
most powerful role after the superuser.
2015-04-30 10:58:07 +02:00
Oleksii Kliukin
8184efbf45
Add an option to use AWS instance address in a PostgreSQL connection string.
...
When PostgreSQL is running inside the docker container, it should provide
the address of the host it's running on and not the address from inside
of the container to the outside world.
2015-04-29 12:54:29 +02:00
Anthony Scalisi and Christopher Winslett
5facf8638e
support multiple recovery params
2015-04-24 13:42:18 -05:00
Oleksii Kliukin
c3ea0ebccd
use samehost instead of the host's ip address.
2015-04-24 18:06:20 +02:00
Oleksii Kliukin
60db8d6adb
Allow connections to the host's own IP address from the host itself.
2015-04-24 16:23:38 +02:00
Christopher Grim
b979c12c9d
Use timestamped logs
2015-04-03 17:27:47 -04:00