Ian Barwick
9093a9d1ce
Update copyright to 2015
2015-01-03 08:06:09 +09:00
Warren Moore
d93d42fadb
fix: witness creation and monitoring
...
While reading node entries from master use a separate PGresult when inserting into witness.
Witness monitoring supplies a null value for 'last_apply_time'.
2014-03-24 14:19:29 +00:00
József Kószó
b9ab9010c0
debian init script and config file documentation fixes
2014-03-22 22:13:33 +01:00
József Kószó
2a6c835a5a
debian init script and config file documentation fixes
2014-03-21 14:18:07 +01:00
Christian Kruse
91c29fe2a2
removed old comment
2014-03-06 18:34:41 +01:00
Christian Kruse
573f1d3b2e
no longer use global variable for SQL query buffer
2014-03-06 18:34:41 +01:00
Christian Kruse
0a6ff7faec
removed no-longer used variable
2014-03-06 18:34:41 +01:00
Christian Kruse
98b1f8d28a
rather big refactoring: use a naming scheme
...
In the past naming of functions, variables and such didn't really have a
naming scheme. Now they should have.
2014-03-06 18:34:40 +01:00
Christian Kruse
9eba986833
avoid usage of snprintf()
...
We have a nice little abstraction for snprintf with covering the case
that a string is too big for the target buffer – let's use that!
2014-03-06 18:34:40 +01:00
Christian Kruse
d8b8bf0e2a
pg_indent'ing all files…
2014-03-06 18:34:40 +01:00
Christian Kruse
98c7635fb5
fixing more compiler warnings
2014-03-04 17:58:36 +01:00
Christian Kruse
90ecb2b107
fix: check return values of freopen()
...
Some compiles complain about not checking the return value of freopen(),
so we check it
2014-03-04 15:32:48 +01:00
Christian Kruse
0ff14a2aa1
avoid compiler warnings
2014-02-21 13:47:29 +01:00
Christian Kruse
5215265694
fix: now CloseConnections() is much more safe
2014-02-18 17:06:36 +01:00
Christian Kruse
e45ac25348
fix: progname is const, do not free it
...
The leak is irrelevant
2014-02-18 16:45:35 +01:00
Christian Kruse
a1ce01f033
fix: fixed some leaks
2014-02-18 16:35:29 +01:00
Christian Kruse
10ca8037f8
added some more log messages
...
Now we should be able to distinguish different events more easily
2014-02-18 14:10:12 +01:00
Christian Kruse
0dc46f0dc8
fix: set connection to NULL when finishing it
...
This will avoid CloseConnections() to try to close an already closed connection.
2014-02-18 13:42:49 +01:00
Christian Kruse
c3b58658ad
fixing repmgr repl_status columns
...
repmgr repl_status had the column time_lag which was documented to be
the time a standby is behind master. In fact it only works like this
when viewed on the standby and not on the master: there it only was the
time of the last status update. We dropped that column and replaced it
by a new column „communication_time_lag“ which is the content of the
repl_status column on the master. On the standby we contain the time of
the last update in shared mem though refer always to the correct time
nonetheless where repl_status is queried. We also added a new column,
„replication_time_lag“, which refers to the apply delay.
2014-02-15 01:35:27 +01:00
Christian Kruse
680f23fb1d
copyright push
2014-01-23 10:37:49 +01:00
Christian Kruse
897daddcc7
removed not needed arguments to avoid compiler warnings
2014-01-22 15:17:28 +01:00
Christian Kruse
de58eff7c1
added a chdir() for proper daemonizing
2014-01-22 14:30:38 +01:00
Christian Kruse
e007a55967
fix: do not use fsync()
...
We do not need fsync(), the fflush() is enough to avoid concurrent
logs.
2014-01-22 11:47:50 +01:00
Christian Kruse
4ef6fbb5fe
do not close stderr but reopen it to /dev/null
...
We want stderr to be always a valid file descriptor
2014-01-21 16:25:57 +01:00
Christian Kruse
2e61d7b156
refactoring: daemonizing is now a function
2014-01-21 16:19:49 +01:00
Christian Kruse
4496a0761e
we now use a function and are more sophisticated
...
Refactoring part: we now use a function to generate the PID
file. Sophistication: we now check if the PID contained in the file is a
valid PID. We ignore the file if it doesn't.
2014-01-21 16:18:15 +01:00
Christian Kruse
3978ead184
use a second fork to avoid a terminal
...
after the setsid() we are the process leader. And as a process leader we
are able to open a new terminal, even if we currently don't own one. So
we do another fork and do not call setsid() and not become a process
leader to avoid that.
2014-01-21 15:51:33 +01:00
Christian Kruse
b36dbf61fe
reopening stdin and stdout to /dev/null now
...
stdin, stdout and stderr should always be valid file handles. Thus we
don't close them but reopen them to /dev/null
2014-01-21 15:31:38 +01:00
Christian Kruse
84466ecca5
log_crit() is more appropriate
2014-01-21 15:23:20 +01:00
Christian Kruse
649086e5e4
use unlink() instead of remove()
...
`remove()` will do a rmdir if necessary - we don't want that. So we use `unlink()`
2014-01-21 15:22:31 +01:00
Christian Kruse
7cf2eb440d
renamed config options to a much more descriptive name
2014-01-21 15:19:50 +01:00
Christian Kruse
1db61ce277
fix: fail when repmgr_funcs is not pre-loaded
...
when repmgr_funcs is not pre-loaded `repmgr_update_standby_location()`
will return false and `repmgr_get_last_standby_location()` will return
an empty string. Thus we may end in an endless loop. To avoid that we fail.
2014-01-21 13:54:10 +01:00
Christian Kruse
41abf9a7ef
fix: flushing and fsync()ing the log file
...
When not flushing and fsync()ing it the output may be garbled due to
concurrent writes to the file (system() spawns a child process with
stdin/stdout/stderr inherited from it's parent)
2014-01-21 13:52:27 +01:00
Christian Kruse
abebc53ddc
fix: sscanf() does not set variables to 0 on error
2014-01-21 13:48:41 +01:00
Christian Kruse
5fc4a0382f
added config options sleep_delay and sleep_monitor
...
sleep_monitor replaces the old SLEEP_MONITOR define and makes it
configurable; this is the interval in which we monitor
sleep_delay replaces the old sleep(300) when waiting for the master to
recover.
2014-01-17 14:35:50 +01:00
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
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
4c3d7f80ed
now code compiles with -ansi -pedantic and has less warnings
2014-01-09 14:45:07 +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
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