Tatsuo Ishii [Sun, 14 Feb 2021 01:17:08 +0000 (10:17 +0900)]
Doc: fix example in pgpool_adm pcp_node_info().
Per commit: https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=
caf5215479ee7a5b55c1dcdeb00a2fccf0ed7133
Tatsuo Ishii [Sun, 14 Feb 2021 00:41:15 +0000 (09:41 +0900)]
Fix pcp_node_info() in pgpool_adm extension.
The weight info was mistakenly handled by Float8GetDatum although the
function prototype is float4. The oversight made the weight value to 0
or certain insane value. Change it to Float4GetDatum. It is amazing
that nobody (including me) did not notice it until today.
Tatsuo Ishii [Thu, 4 Feb 2021 02:28:57 +0000 (11:28 +0900)]
Fix that DB cluster path was not correct in watchdog_setup installation.
In the watchdog_setup installation generated path to DB clusters did
not correctly point to pgpool0/data0 etc. Correct them by using sed
command.
Tatsuo Ishii [Wed, 3 Feb 2021 08:01:23 +0000 (17:01 +0900)]
Fix typos in message emitted by sync_backend_from_watchdog().
Tatsuo Ishii [Tue, 2 Feb 2021 14:12:37 +0000 (23:12 +0900)]
Enhance pgpool_setup.
"shutdownall" script unconditionally waited for the pgpool.pid file is
gone after "pgpool stop". But if invalid pgpool.pid file exists, it
waits forever. To avoid this check the exit status of "pgpool stop"
and only wait if the exit status is 0.
Bo Peng [Mon, 1 Feb 2021 15:50:43 +0000 (00:50 +0900)]
Doc: update failover command parameter order.
Tatsuo Ishii [Sun, 24 Jan 2021 02:55:12 +0000 (11:55 +0900)]
Fix pgpool_setup so that it creates separate archive directory for each DB node.
pgpool_setup created single archive directory for all PostgreSQL
nodes. This only works with streaming replication because only the
primary node produces archive log. However for native replication and
snapshot isolation mode this does not work as each node produces WAL.
In this fix dedicated archive directories like archivedir/data0
archivedir/data1 and so on are created.
Tatsuo Ishii [Fri, 22 Jan 2021 04:33:07 +0000 (13:33 +0900)]
Fix pgpool_recovery_pitr generation pgpool_setup.
It generated redundant psql definition line.
Tatsuo Ishii [Thu, 14 Jan 2021 10:38:35 +0000 (19:38 +0900)]
Fix to use proper data type for shared memory size.
pool_shared_memory_create() should use data type size_t for a variable
to store shared memory size. The data type used was int and it would
overflow if the size is big.
Tatsuo Ishii [Wed, 13 Jan 2021 09:49:51 +0000 (18:49 +0900)]
Fix error while allocating shared memory.
If num_init_children * max_pool is huge, pool_coninfo_size() failed to
calculate the size of required shared memory because the data type
used for the variable to store shared memory size was int and it
overflows for too large shared memory size. To fix this change
pool_coninfo_size() to size_t and use appropriate size_t for the
variable used within the function.
Also fix to use proper format qualifier in
pool_shared_memory_create().
Tatsuo Ishii [Fri, 1 Jan 2021 02:29:04 +0000 (11:29 +0900)]
Fix bug child_max_connections is not respected if ERROR occurs.
When frontend aborts, the counter for child_max_connections is rewound
because ereport(ERROR) issues long jump. Fix is declaring the variable
with volatile qualifier. This is a long standing bug, probably since
child_max_connections was introduced.
Bo Peng [Sun, 27 Dec 2020 12:44:00 +0000 (21:44 +0900)]
Doc: fix typos.
Bo Peng [Sun, 27 Dec 2020 12:40:31 +0000 (21:40 +0900)]
Doc: fix typos.
Tatsuo Ishii [Sat, 26 Dec 2020 05:47:11 +0000 (14:47 +0900)]
Doc: fix a few typos in Japanese release notes.
Muhammad Usama [Fri, 25 Dec 2020 18:25:10 +0000 (23:25 +0500)]
Doc: few typo fixes.
Tatsuo Ishii [Tue, 15 Dec 2020 10:38:04 +0000 (19:38 +0900)]
Fix segfault when ALWAYS_PRIMARY is set but DISALLOW_TO_FAILOVER.
If a primary node (for example node 0) has ALWAYS_PRIMARY but does
have DISALLOW_TO_FAILOVER, segfault happens in following step:
1) node 0 stops
2) failover happens. all children restart. The primary node is still 0
because ALWAYS_PRIMARY is set.
2) node 0 starts and it becomes online by using pcp_attach_node.
3) failback process is executed but child process do not restart.
4) child process accesses node 0 because Req_info->primary_node_id is
0 but connection to node 0 does not exist and this causes segfault.
To fix this, do additional check to make sure that failback node is
not former primary node. If it is, do full restart of child process.
Per bug 672.
Tatsuo Ishii [Sun, 13 Dec 2020 02:29:36 +0000 (11:29 +0900)]
Fix segfault in child pgpool process in certain failback case.
When previous primary node id is 0 and then it went down, restarted,
re-attached without promotion. Then existing child process loses
connection slot to node 0 and keeps on using it when node 0 comes
back. This could result in segfault later on in the child process
because there's no connection to node id 0. In summary we need to
restart all pgppol children in this case.
Per bug 672.
Muhammad Usama [Tue, 8 Dec 2020 10:15:50 +0000 (15:15 +0500)]
Delete any pre-existing watchdog command socket file at startup
Abnormal termination of Pgpool leaves behind the dangling socket files
and prevent Pgpool-II from starting up.
The solution is to delete any pre-existing watchdog command socket
file before binding a watchdog command socket.
Patch provided by Masaya Kawamoto
Tatsuo Ishii [Fri, 4 Dec 2020 08:04:30 +0000 (17:04 +0900)]
Fix compiler error on FreeBSD.
Per bug report 670.
https://www.pgpool.net/mantisbt/view.php?id=670
Patch provided by ajs.
Bo Peng [Tue, 24 Nov 2020 05:19:48 +0000 (14:19 +0900)]
Fix pgpool_setup to extract correct PostgreSQL version.
Tatsuo Ishii [Fri, 20 Nov 2020 01:10:45 +0000 (10:10 +0900)]
Doc: fix log_standy_delay description.
The description failed to explain actual behavior when
log_standy_delay = always is set. In fact it does not log if the
streaming delay is not greater than 0. Also added that 'none' is the
compiled default. Removed duplicate description in Japanese doc.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-November/003849.html
Bo Peng [Wed, 18 Nov 2020 05:13:08 +0000 (14:13 +0900)]
Prepare 3.6.24.
Bo Peng [Wed, 18 Nov 2020 05:08:16 +0000 (14:08 +0900)]
Doc: update doc version.
Bo Peng [Tue, 17 Nov 2020 08:23:53 +0000 (17:23 +0900)]
Doc: add release note.
Bo Peng [Tue, 17 Nov 2020 03:45:37 +0000 (12:45 +0900)]
Fix query rewrite syntax error of "INSERT ... ON CONFLICT" in native replication mode.
per bug 654.
Tatsuo Ishii [Thu, 29 Oct 2020 20:59:23 +0000 (05:59 +0900)]
Fix connection count when query is canceled.
Connection counter was not counted down when a query is canceled.
Per bug 656.
Tatsuo Ishii [Sat, 3 Oct 2020 01:29:30 +0000 (10:29 +0900)]
Doc: mention that GSSAPI is not supported.
Tatsuo Ishii [Sat, 3 Oct 2020 00:09:41 +0000 (09:09 +0900)]
Deal with GSSAPI encrypted connection request from frontend.
If GSSAPI connection request comes from frontend, Pgpool-II responded
in inappropriate way. For example,
psql: error: could not connect to server: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
or even:
FATAL: client authentication failed
DETAIL: no pool_hba.conf entry for host "x.x.x.x", user "", database "", SSL off
(https://www.pgpool.net/pipermail/pgpool-general/2020-September/007353.html)
With this commit Pgpool-II responds better. i.e. replies back to
frontend with "we don't support GSSAPI" and expects that the frontend
falls back to SSL connection (if frontend's param: gssencmode=prefer
(default) and SSL is configure when Pgpool-II was built) or fals back
to non-SSL connection.
Patch by me, reviewed and tested by Umar Hayat.
Tatsuo Ishii [Wed, 30 Sep 2020 04:44:20 +0000 (13:44 +0900)]
Doc: fix usable versions of PostgreSQL.
Make usable versions of PostgreSQL to be 7.4 or later.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-September/003836.html
Bo Peng [Wed, 16 Sep 2020 08:20:46 +0000 (17:20 +0900)]
Doc: add more release note.
Bo Peng [Wed, 16 Sep 2020 08:29:04 +0000 (17:29 +0900)]
Doc: fix the incorrect description regarding the running modes of Pgpoo-II in which online recovery is available.
Bo Peng [Wed, 16 Sep 2020 02:02:00 +0000 (11:02 +0900)]
Prepare 3.6.23.
Bo Peng [Wed, 16 Sep 2020 01:46:37 +0000 (10:46 +0900)]
Doc: Add relesae note 3.5.27 - 4.1.4.
Tatsuo Ishii [Sun, 13 Sep 2020 23:09:18 +0000 (08:09 +0900)]
Remove unnecessary checks in some code path.
Patch contributed by Hou, Zhijie.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-September/003805.html
Tatsuo Ishii [Sun, 13 Sep 2020 11:14:42 +0000 (20:14 +0900)]
Follow the guide line of PostgreSQL 12.4 regarding extensions.
CREATE OR REPLACE FUNCTION should be avoided. Use CREATE FUNCTION instead.
Tatsuo Ishii [Sun, 6 Sep 2020 10:52:56 +0000 (19:52 +0900)]
Fix relcache query sometimes sent to other than primary.
In streaming replication mode, relcache queries are supposed to be
sent to the primary node. But actually they were not sent the primary
node if primary node was not the master node. Typically this could
happen when the primary is not node 0.
Tatsuo Ishii [Tue, 1 Sep 2020 03:40:18 +0000 (12:40 +0900)]
Fix connection_life_time not working when serialize_accept is enabled.
If serialize_accept is enabled, pgpool child process tries to acquire
semaphore locking so that there's only one process which can issue
accept(2). Unfortunately if connection_life_time is enabled, an alarm
is set right before the semaphore locking. So when the alarm fires,
nothing happened because the process was in acquiring semaphore lock
loop by using pool_semaphore_lock().
To fix this new pool_semaphore_lock_allow_interrupt() is introduced,
which immediately returns if interrupted by a signal. The caller:
wait_for_new_connections() checks whether connection_life_time alarm
is fired. If so, call backend_timer() to close expired backend
connection cache.
Discussion: https://www.pgpool.net/pipermail/pgpool-general/2020-August/007233.html
Bo Peng [Mon, 31 Aug 2020 01:56:30 +0000 (10:56 +0900)]
Add .gitignore file.
Tatsuo Ishii [Sun, 30 Aug 2020 02:35:14 +0000 (11:35 +0900)]
Display more informative error message in authentication process.
When backends offers mistakenly different authentication methods,
pgpool just showed:
"unable to read message length"
"message length (%d) in slot %d does not match with slot 0(%d)", length, i, length0)));
because pool_read_message_length() called ereport(ERROR) in this
case. Actually the caller pool_do_auth() prepared more informative
message:
ereport(ERROR,
(errmsg("invalid authentication packet from backend"),
errdetail("failed to get the authentication packet length"),
errhint("This is likely caused by the inconsistency of auth method among DB nodes. \
Please check the previous error messages (hint: length field) \
from pool_read_message_length and recheck the pg_hba.conf settings.")));
Change ereport(ERROR) to ereport(LOG) in pool_read_message_length() so
that the informative message actually shows up.
Bo Peng [Mon, 24 Aug 2020 12:39:38 +0000 (21:39 +0900)]
Replace "PGBIN" and "LPATH" in pgpool_setup and watchdog_setup using PostgreSQL's bin path and lib path.
Tatsuo Ishii [Fri, 21 Aug 2020 10:51:04 +0000 (19:51 +0900)]
Fix sefault in pgpool child process in certain case.
When all backend go down, pgpool refuses to accept connection from
clients and try to send a message in
validate_backend_connectivity(). For this purpose it connects to the
client and try to read the startup packet. This is done in a PG_TRY
block. The startup packet is read in memory pointed to by "sp", which
is declared as "StartupPacket *volatile". This is fine. But it was
forgotten to initialize the value with NULL. As a result, if reading
startup packet fails, sp would be garbage a pointer and segfaults later
in pool_free_startup_packet(sp).
Fix is, initialize "sp" with NULL.
I have found this accidentally in following way:
1) shutdown all backends.
2) connect to pgpool with invalid client. I have used pcp_attach_node
with pgpool's port number, not pcp's.
Bo Peng [Thu, 20 Aug 2020 06:47:33 +0000 (15:47 +0900)]
Fix src/redhat/pcp_unix_domain_path.patch error.
Bo Peng [Thu, 20 Aug 2020 00:03:31 +0000 (09:03 +0900)]
Fix pgpool.spec.
Bo Peng [Wed, 19 Aug 2020 22:58:38 +0000 (07:58 +0900)]
Fix pgpool.spec.
Bo Peng [Wed, 19 Aug 2020 15:25:04 +0000 (00:25 +0900)]
Fix pgpool.spec.
Bo Peng [Wed, 19 Aug 2020 12:47:48 +0000 (21:47 +0900)]
Prepare 3.6.22.
Bo Peng [Tue, 18 Aug 2020 02:07:46 +0000 (11:07 +0900)]
Doc: add release note.
Tatsuo Ishii [Tue, 18 Aug 2020 03:05:58 +0000 (12:05 +0900)]
Doc: mention that pgpool_setup needs to configure ssh log into localhost without password.
Bo Peng [Mon, 17 Aug 2020 07:45:17 +0000 (16:45 +0900)]
Doc: fix indent.
Bo Peng [Mon, 17 Aug 2020 06:02:59 +0000 (15:02 +0900)]
Doc: change repository rpm urls.
Bo Peng [Mon, 17 Aug 2020 04:46:36 +0000 (13:46 +0900)]
Use pg_config to get PostgreSQL lib path and add this path to LD_LIBRARY_PATH environment paramater in regress.sh.
Bo Peng [Sun, 16 Aug 2020 04:15:56 +0000 (13:15 +0900)]
Fix pgpool_setup to get correct PostgreSQL version.
Tatsuo Ishii [Sat, 15 Aug 2020 09:14:11 +0000 (18:14 +0900)]
Fix pgpool_setup so that native replication mode and SI mode works with PostgreSQL 12.
In these mode, it created recovery.conf which is not allowed in
PostgreSQL 12.
Tatsuo Ishii [Sat, 15 Aug 2020 03:37:39 +0000 (12:37 +0900)]
Fix oversight in connection_life_time fix.
Commit
39eb90fe199d03253b99bec38d85c40f66aa55ab did not consider the case
when node is down connection struct is NULL. As a result, segfault occurred.
Tatsuo Ishii [Fri, 14 Aug 2020 05:15:22 +0000 (14:15 +0900)]
Check panic or fatal error by using 'V' token if available.
To identify panic or fatal message in is_panic_or_fatal_error(), 'S'
token was used. However 'S' could be localized and simply comparing
"PANIC" or "FATAL" with the message may not work. Instead 'V' should be
used if possible because it's not localized.
Bo Peng [Fri, 14 Aug 2020 02:18:25 +0000 (11:18 +0900)]
Fix 031.connection_life_time regression test failure.
Bo Peng [Thu, 13 Aug 2020 06:35:34 +0000 (15:35 +0900)]
Before running regression test clean the remaining processes and sockets.
Tatsuo Ishii [Wed, 12 Aug 2020 11:17:44 +0000 (20:17 +0900)]
Doc: mention that ssl_ciphers only affects to TLS 1.2 and lower.
The changes are imported from PostgreSQL manual.
Bo Peng [Wed, 12 Aug 2020 07:07:04 +0000 (16:07 +0900)]
At pgpool startup, if pid file exists, truncate pid file to zero length before writing.
Patch is created by maliangzhu.
Bo Peng [Tue, 11 Aug 2020 14:58:51 +0000 (23:58 +0900)]
Doc: fix failback_command documetation error.
Bo Peng [Tue, 11 Aug 2020 09:40:34 +0000 (18:40 +0900)]
Make RPMs to include pcp.conf and pool_hba.conf sample files.
Tatsuo Ishii [Tue, 11 Aug 2020 01:26:43 +0000 (10:26 +0900)]
Fix connection_life_time does not work.
If master node is not 0 (this could happen in the case when primary
node is not 0 in streaming replication mode for example), pgpool
failed to find connection_life_time timer because the timer was set
only in virtual_master_node, which could be changed after session ends
since query context is not there any more.
To fix this, connection_life_time timer is set to all valid nodes.
Regression test is also added.
Discussion: https://www.pgpool.net/pipermail/pgpool-general/2020-August/007242.html
Tatsuo Ishii [Fri, 7 Aug 2020 00:45:09 +0000 (09:45 +0900)]
Revert "Fix pgpool_setup problem with -r option and PostgreSQL 12."
This reverts commit
566a48e8c5a1ed8efbcef143322ac1bea54882f9.
Since pg_rewind is supported in Pgpool-II 3.7 or before, the fix is
not necessary.
Tatsuo Ishii [Wed, 5 Aug 2020 05:42:18 +0000 (14:42 +0900)]
Fix query cache bug.
If EXPLAIN ANALYZE takes data-modifying SQL, it must invalidate query
cache, but actually it was missed.
Author: Hou, Zhijie
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-August/003767.html
Tatsuo Ishii [Wed, 5 Aug 2020 01:47:06 +0000 (10:47 +0900)]
Fix pgpool_setup problem with -r option and PostgreSQL 12.
pgpool_setup -r uses pg_rewind if it's possible. After rewinding,
pgpool_setup failed to create standby.signal file, which is required in
PostgreSQL 12 or later, on the recovered target node. As a result, the
recovered node booted up as a primary server, rather than a standby
server.
Discussion: https://www.pgpool.net/mantisbt/view.php?id=624
Bo Peng [Fri, 31 Jul 2020 00:45:39 +0000 (09:45 +0900)]
Change PCP UNIX_DOMAIN_PATH of RPM package to "/var/run/postgresql".
Tatsuo Ishii [Tue, 28 Jul 2020 02:36:11 +0000 (11:36 +0900)]
Doc: clarify what the command actual does.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-July/003744.html
Reviewed-by: Bo Peng
Bo Peng [Mon, 27 Jul 2020 02:46:49 +0000 (11:46 +0900)]
Rename src/redhat/pgpool_rhel7.sysconfig to src/redhat/pgpool_rhel.sysconfig to make this file available on RHEL8/CentOS8.
Bo Peng [Wed, 22 Jul 2020 01:23:13 +0000 (10:23 +0900)]
Fix typos.
Patch is created by Lu, Chenyang.
Tatsuo Ishii [Thu, 16 Jul 2020 10:46:33 +0000 (19:46 +0900)]
Doc: fix typo in memqcache doc.
Patch contributed by Hou, Zhijie.
Discussion: https://www.pgpool.net/pipermail/pgpool-general/2020-July/007204.html
Tatsuo Ishii [Tue, 14 Jul 2020 13:07:59 +0000 (22:07 +0900)]
Prevent data modifying CTE to be cached.
Data modifying CTE was mistakenly treated as normal read only CTE and
result query was created. As a result subsequent CTE was not
executed.
Problem reported and patch created by Hou, Zhijie.
Subtle changes to the regression test by me.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-July/003705.html
Tatsuo Ishii [Thu, 9 Jul 2020 00:11:03 +0000 (09:11 +0900)]
Fix pgpool hang in a corner case.
It is possible that an "out of band" message from backend has been
read into buffer at the time when a ready for query message is
processed. If the messages are from all backends, there should be no
problem because ProcessBackendResponse() will read the messages from
all backends by using read_kind_from_backend(). However there could be
a corner case: 1) If the message is coming from only one of backend
(this could happen when recovery conflict or backend receiving SIGTERM
and so on) and 2) the message is already in the backend read
buffer. In this case pgpool will hang in pool_read() called by
read_kind_from_backend() at either: 1)
read_kind_from_one_backend(frontend, backend, (char *) &kind,
MASTER_NODE_ID) (the message is not coming from master backend) or 2)
pool_read(CONNECTION(backend, i), &kind, 1) (the message is not coming
from other than master).
Note If the message is not in the buffer, there should be no problem
since read_packets_and_process() will take care that "out of band"
messages.
The solution is, read and discard such a message in ReadyforQuery(),
emitting log to make sure that the read buffer is empty after
returning from ReadyForQuery(). (remember that unless the ready for
query message is returned to frontend, the frontend will not issue
next query and there's should be no response from backend except the
out of band messages).
If the message was FATAL, the backend will disconnect to pgpool. So
next time pgpool should notice that the connection is closed anyway.
For the master branch, probably we should treat that kind of FATAL
message in a same way as read_packets_and_process() already does. This
requires some code refactoring and I would like to leave the job
separated from this commit.
Tatsuo Ishii [Wed, 8 Jul 2020 01:25:12 +0000 (10:25 +0900)]
Fix per_node_error_log() so that it respects unread parameter.
per_node_error_log() unconditionally set the "unread" parameter to
true when it should have respected the unread parameter given by user.
It seems all callers to per_node_error_log() set the unread parameter
to true anyway. The only exception is pool_do_auth. As far as testing
test 03[0-4] regression tests, the change is ok.
In summary this change will not affect to Pgpool-II but bug is bug.
Tatsuo Ishii [Tue, 7 Jul 2020 03:35:10 +0000 (12:35 +0900)]
Fix lazy coding of ereport in pgpool_adm extension.
Before it was coded that ereport's "domain" parameters were just "0".
This generated lots of compiler warning. To fix this give plausible
error codes to each ereport call.
Tatsuo Ishii [Mon, 29 Jun 2020 23:07:12 +0000 (08:07 +0900)]
Doc: fix typo in the explanation of pgpool_adm.
Patch provided by sherlockcpp.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-June/003679.html
Tatsuo Ishii [Mon, 29 Jun 2020 00:35:23 +0000 (09:35 +0900)]
Fix typo in query cache module.
Tatsuo Ishii [Fri, 26 Jun 2020 11:46:33 +0000 (20:46 +0900)]
Fix startup packet reading process.
If there are parameters other than "user", "database" and
"application_name", reading startup packet resulted in failing to
extract user: "no PostgreSQL user name specified in startup
packet". This was found while a frontend was trying to speak
replication protocol by using "replication=database".
Discussion: https://www.pgpool.net/pipermail/pgpool-general/2020-June/007162.html
Takuma Hoshiai [Mon, 22 Jun 2020 02:41:12 +0000 (11:41 +0900)]
Fix miscount of connection_count
There is a possibility that pgpool duplicate the count down of conections
when query cancel such as pg_terminate_backend() commmand.
Tatsuo Ishii [Thu, 4 Jun 2020 02:32:28 +0000 (11:32 +0900)]
Merge branch 'V3_6_STABLE' of ssh://git.postgresql.org/pgpool2 into V3_6_STABLE
Tatsuo Ishii [Thu, 4 Jun 2020 02:29:33 +0000 (11:29 +0900)]
Fix segmentation fault when application name is included in log_line_prefix.
In Pgpool-II 4.1 or before log_line_prefix unconditionally tried to
fetch the application name from backend info (slots array).
Unfortunately in certain corner cases this was not possible. When
connection_cache is off, pgpool resets connection slots
(session->backend->slots[]) at the time when clients sends termination
request to pgpool. If log_min_messages is DEBUG5, pgpool wants to emit
this log message:
DEBUG: RESET ALL CONFIG VARIABLE
which caused a segfault because pgpool tried to refer NULL pointer.
Fix is, if session->backend->slots[] is NULL, do not try to fetch
application name from the variable.
Per bug 615.
Takuma Hoshiai [Tue, 2 Jun 2020 08:09:04 +0000 (17:09 +0900)]
Fix incorrect execution of failover process
This problem happen by executing pg_terminate_backend command with native replication.
In addition, add regression test for pg_terminate_backend command.
Bo Peng [Fri, 22 May 2020 07:32:27 +0000 (16:32 +0900)]
Doc: Improve the description of wd_priority.
Patch is provided by Kenichiro Tanaka.
Tatsuo Ishii [Fri, 22 May 2020 01:58:48 +0000 (10:58 +0900)]
Add mention about hostssl/hostnossl to pool_hba.conf sample file.
Although hostssl/hostnossl are supported, pool_hba.conf comment did
not mention about it.
Bo Peng [Tue, 19 May 2020 09:40:06 +0000 (18:40 +0900)]
Prepare 3.6.21
Bo Peng [Mon, 18 May 2020 20:16:27 +0000 (05:16 +0900)]
Doc: Add release-note.
Tatsuo Ishii [Sat, 16 May 2020 00:14:09 +0000 (09:14 +0900)]
Remove more duplicate global data.
This causes a link error on some system (Fedra 32).
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-April/003593.html
Tatsuo Ishii [Thu, 23 Apr 2020 12:32:28 +0000 (21:32 +0900)]
Fix unnecessary checks.
Patch contributed by sherlockcpp.
Discussion: https://www.pgpool.net/pipermail/pgpool-general/2020-April/007062.html
Tatsuo Ishii [Thu, 23 Apr 2020 05:41:10 +0000 (14:41 +0900)]
Doc: fix typo.
Patch contributed by Umar Hayat.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-April/003587.html
Muhammad Usama [Thu, 16 Apr 2020 10:09:14 +0000 (15:09 +0500)]
Fix for segmentation fault in PCP processor: Bug 598
The crash was caused by an unconditionally pfree on buf without verifyingif it
was actually allocated or not. And freeing the but was not actually required at
the first places since the associated MemoryContext always gets resets anyway
after each loop iteration.
reference: https://www.pgpool.net/mantisbt/view.php?id=598
Tatsuo Ishii [Sun, 12 Apr 2020 09:15:05 +0000 (18:15 +0900)]
Doc: fix typo in failover.sgml.
Patch provided by sherlockcpp.
Tatsuo Ishii [Sat, 11 Apr 2020 05:34:40 +0000 (14:34 +0900)]
Fix pool show command code.
Enhance common function send_complete_and_ready() so that it uses
local variable in more sane way.
Also fix unnecessary limitation of number of rows affected by the
command.
Patch provided by sherlockcpp and Tatsuo Ishii.
Muhammad Usama [Tue, 7 Apr 2020 16:01:16 +0000 (21:01 +0500)]
Minor improvement in configure script
While checking for libpq the configure script was not honoring the LDFLAGS
settings.This sometimes breaks the configure when libraries are not present at
the defaultlocations# Please enter the commit message for your changes
Bo Peng [Sun, 5 Apr 2020 16:10:37 +0000 (01:10 +0900)]
Doc: fix document typos.
Patch is provided by sherlockcpp@foxmail.com.
Tatsuo Ishii [Wed, 11 Mar 2020 04:13:18 +0000 (13:13 +0900)]
Merge branch 'V3_6_STABLE' of ssh://git.postgresql.org/pgpool2 into V3_6_STABLE
Tatsuo Ishii [Wed, 11 Mar 2020 04:05:43 +0000 (13:05 +0900)]
Fix possible data inconsistency in native replication mode.
There is a long standing bug with native replication mode. As reported
in pgpool-general, it is possible to lost sync of database if slave
DB's postgres process is killed. This is due to an oversight in
read_packets_and_process().
In replication mode if slave server's postgres is killed, then local
backend status is set to down.
*(my_backend_status[i]) = CON_DOWN;
So next DDL/DML in the same session is only issued to master node (and
other slave if there are multiple slave nodes). Of course this leads
to serious data inconsistency problem because in native replication
mode all DB nodes must receive DDL/DML at the same time.
Fix is triggering failover in thiscase.
Discussions:
https://www.pgpool.net/pipermail/pgpool-general/2020-March/006954.html
https://www.pgpool.net/pipermail/pgpool-hackers/2020-March/003540.html
pengbo@sraoss.co.jp [Thu, 5 Mar 2020 22:49:14 +0000 (07:49 +0900)]
Fix watchdog ping probes fail with long hostnames due to small buffer.
per 516.
Bo Peng [Sat, 22 Feb 2020 00:59:10 +0000 (09:59 +0900)]
Update copyright year.
Bo Peng [Wed, 19 Feb 2020 07:44:35 +0000 (16:44 +0900)]
Update pgpool.spec file.
Bo Peng [Wed, 19 Feb 2020 06:38:44 +0000 (15:38 +0900)]
Prepare 3.6.20.
Bo Peng [Wed, 19 Feb 2020 06:24:56 +0000 (15:24 +0900)]
Doc: Update doc version.