Christian Kruse
a7d3c9b93a
fix: also close stderr when using syslog logging
2014-01-17 12:14:26 +01:00
Christian Kruse
ee9dc9e247
do not use exit()
...
We avoid using exit() to be able to clean up when we have to
terminate. This includes removal of the PID file as well as closing
database connections.
2014-01-17 11:28:55 +01:00
Christian Kruse
94cb5b94e7
fix: reopen log file on SIGHUP
2014-01-16 17:16:45 +01:00
Christian Kruse
a08aa50f92
fix: close stdin and stdout only in repmgrd
...
closing stdin and stdout might cause problems when using system(), so we
avoid it.
2014-01-16 16:01:58 +01:00
Christian Kruse
9563877fbb
new config option, stdout/stdin closed
...
Now stdin and stdout get closed. Additionally stderr gets closed and
reopened to the new config option „logfile“ if specified
2014-01-16 15:22:34 +01:00
Christian Kruse
4f3bd6612c
do not exit in getMasterConnection()
2014-01-16 15:07:15 +01:00
Christian Kruse
192ee3cdb0
do not exit in get_cluster_size
2014-01-16 15:07:06 +01:00
Christian Kruse
6f149ead8f
do not exit in guc_setted and guc_setted_typed
2014-01-16 14:48:46 +01:00
Christian Kruse
77aa6aa326
do not exit in pg_version
2014-01-16 14:48:42 +01:00
Christian Kruse
18206b3a64
do not exit() in is_witness
2014-01-16 14:28:56 +01:00
Christian Kruse
91446bcf93
fix: do not try to reconnect infinitely
2014-01-10 17:26:02 +01:00
Christian Kruse
dcdf8788ae
fix: handle connection loss to standby
...
We do basically the same as we do for the master since connections drop
from time to time
2014-01-10 17:12:03 +01:00
Christian Kruse
4fabfbbbd0
fix: do not exit in is_standby()
...
Instead we now return an int with 0 meaning „not a standby,“ 1 meaning
„is a standby“ and -1 meaning „connection dropped“
2014-01-10 17:11:16 +01:00
Christian Kruse
c41030b40e
Merge branch 'REL2_0_STABLE'
...
Conflicts:
HISTORY
dbutils.h
repmgr.c
repmgrd.c
version.h
2014-01-10 16:07:33 +01:00
Christian Kruse
a0fdadd5d2
this way it is much cleaner
2014-01-09 15:35:44 +01:00
Christian Kruse
4c3d7f80ed
now code compiles with -ansi -pedantic and has less warnings
2014-01-09 14:45:07 +01:00
Christian Kruse
6e3fe059d8
added config options pg_bindir and pg_ctl_options
2014-01-09 14:44:34 +01:00
Christian Kruse
9f26254ac3
fix: added some missing initializers to avoid compiler warning
2014-01-09 13:33:22 +01:00
Christian Kruse
0e8ff1730e
added handling of a PID file
2014-01-09 13:04:40 +01:00
Christian Kruse
634fdff303
fix: do not call setup_event_handlers() on WIN32
...
If we put setup_event_handlers() in #ifdef WIN32, we have to do it for
the call and the declaration, too
2014-01-09 12:57:16 +01:00
Christian Kruse
cbce29f009
fixed typos
2014-01-08 11:55:03 +01:00
Christian Kruse
920f925e4b
added a new cli option --daemonize
...
This option forks the process and generates a new session. This
effectively detaches it from the shell. Don't forget to redirect stderr
or use syslog for logging!
2014-01-08 11:53:15 +01:00
Christian Kruse
9fe2d6886e
white space cleanup
2014-01-07 16:42:06 +01:00
Christian Kruse
0068dd573a
fix: do not compare pointers but the strings
2014-01-07 15:52:29 +01:00
Christian Kruse
d0f3cb59c7
fix: create data directory after sanity check
2014-01-07 14:42:55 +01:00
Christian Kruse
7428e92e10
fix: correctly check the return value of PQexec()
...
not only check if return value is not NULL but also check that the
returned result is a PGRES_COMMAND_OK (e.g. the INSERT was successful)
2014-01-07 14:27:31 +01:00
Christian Kruse
a97065113d
fix: remove own node earlier if force is set
...
We have to remove our own node before we check for a new master if force
is set; else master register would fail on the second time since there
already is a master (ourselves), even if we specify -F
2014-01-07 14:16:58 +01:00
Christian Kruse
9e2f276fcf
fix: do not exit after pg_start_backup() w/o pg_stop_backup()
2014-01-07 14:02:29 +01:00
Christian Kruse
b0cd2b5e43
fix: do not exit() in create_pgdir()
...
This could leave the database in a locked state (pg_start_backup()).
And since all calls to create_pgdir() handle the return value correctly
we simply replace the exit() by a return false
2014-01-07 14:01:46 +01:00
Jaime Casanova
9209248420
Fix oversight in the header of guc_setted_typed()
v2.0beta2
2013-12-19 11:09:08 -05:00
Jaime Casanova
6693b99288
Files to create the debian package
...
Patch by: Christian Kruse
2013-12-19 01:43:12 -05:00
Jaime Casanova
8e7b487838
Update debian control file
2013-12-19 01:41:24 -05:00
Jaime Casanova
7f796e2d15
Update history and credit files
2013-12-19 01:40:00 -05:00
Jaime Casanova
5e04ab6eae
Add a ssh_options parameter to allow ssh checking
...
to consider non-default values (ie: a different port)
Patch by Jay Taylor
2013-12-19 01:22:55 -05:00
Jaime Casanova
a1f4285e2b
Add guc_setted_typed() function to allow
...
wal_keep_segmeents to be checked as an integer instead
of text
Patch by Jay Taylor
2013-12-19 01:22:42 -05:00
Jaime Casanova
493133986d
Add timestamps to log line in stderr
...
Patch by Christian Kruse
2013-12-19 01:15:28 -05:00
Jaime Casanova
8b370dc581
Fix some typos
...
Patch by Krzysztof Gajdemski
2013-12-07 13:25:46 -05:00
Jaime Casanova
43af00aa12
Ignore pg_log when cloning, just like we ignore pg_xlog
2013-12-04 01:23:48 -05:00
Jaime Casanova
3c8df59eb9
Make repmgr compile in 9.3.
...
Patch provided by Shawn Ellis with some fixes by me.
2013-11-14 00:43:35 -05:00
Jaime Casanova
b410772627
Rework algorithm to coordinate voting
...
Make this by waiting for all nodes to finish a step, before starting
a new one. So everyone starts promoting or following in a coordinated
fashion.
Also make a few fixes.
2013-09-26 13:24:31 -05:00
Jaime Casanova
d99024ba11
Make repmgrd survive to the failover
...
To do this it needs to reconnect to the new master
2013-09-26 11:58:59 -05:00
Jaime Casanova
1afaa3a26f
Rearrange the logic in do_failover() for further improvements.
...
Specially, make this a more coordinated process by making all
nodes waiting for the others before going to the next step.
This is one step further in following Andres Freund advices
but there is still a lot to do in order to complete that,
specially it could be needed to add more fields to repl_nodes
and to the shm area.
2013-09-23 18:28:58 -05:00
Jaime Casanova
079a7c9f16
In a failover situation get the nodes in a well defined order.
...
When deciding which node will be the new master, we should get the
nodes in a well defined order otherwise two standbys could process
nodes with the same priority in different order and end up with
a two master situation.
2013-07-26 00:59:50 -05:00
Jaime Casanova
3b66a31ac9
In a failover situation get the nodes in a well defined order.
...
When deciding which node will be the new master, we should get the
nodes in a well defined order otherwise two standbys could process
nodes with the same priority in different order and end up with
a two master situation.
2013-07-26 00:52:31 -05:00
Jaime Casanova
bdf957ca52
Add a missing ')'. This is a typo introduced in commit
...
2bc8044fda
Per complaint from Carlos Chapi when compiling for a customer.
2013-07-13 12:39:13 -05:00
Jaime Casanova
ad3630e7a9
Add a missing ')'. This is a typo introduced in commit
...
2bc8044fda
Per complaint from Carlos Chapi when compiling for a customer.
2013-07-13 12:37:15 -05:00
Jaime Casanova
67b451aa45
If PQgetCancel() returns NULL we should also return false.
...
Noted by Andres Freund.
2013-07-12 08:03:36 -05:00
Jaime Casanova
0a70d907ae
Improve messages in wait_connection_availability, so we know what
...
error makes the failover procedure to start
By gripe from Andres Freund
2013-07-12 08:03:25 -05:00
Jaime Casanova
2e7acf03c4
If PQgetCancel() returns NULL we should also return false.
...
Noted by Andres Freund.
2013-07-12 08:01:01 -05:00
Jaime Casanova
2bc8044fda
Improve messages in wait_connection_availability, so we know what
...
error makes the failover procedure to start
By gripe from Andres Freund
2013-07-10 19:25:58 -05:00