pgpool2.git
4 years agoAdd new fields to show pool_nodes command and friends.
Tatsuo Ishii [Sat, 27 Feb 2021 07:34:49 +0000 (16:34 +0900)]
Add new fields to show pool_nodes command and friends.

pg_status: actual DB node status. Either "up" or "down". The status is
fetched by using pg_isready command while executing show
pool_nodes. Arguments for pg_isready are obtained from health check
parameters. The reason for this choice is, pgpool already checks the
availability of PostgreSQL by using health check parameters. If health
check is disabled (health_check_period = 0), the status will be
"unknown".

pg_role: actual DB node status. Only meaningful in streaming
replication mode. Either "primary" or "standby". If
pg_is_in_recovery() returns true, it will be represented as "standby",
otherwise "primary". In other clustering modes, same as "role" field.
Arguments for querying to backend are obtained from
sr_check_parameters. The reason for this choice is, pgpool already
checks the role of PostgreSQL by using sr_check parameters. If
sr_check is disabled (sr_check_period = 0), the status will be
"unknown". For other clustering mode, value of "role" field is copied
to pg_role field.

Modified commands/functions are: show poool_nodes, pcp_node_info and
pgpool_adm_pcp_node_info.

4 years agoDoc: fix typo.
Tatsuo Ishii [Wed, 24 Feb 2021 01:33:00 +0000 (10:33 +0900)]
Doc: fix typo.

4 years agoDoc: enhance pcp_detach_node manual.
Tatsuo Ishii [Sat, 20 Feb 2021 00:45:16 +0000 (09:45 +0900)]
Doc: enhance pcp_detach_node manual.

Add more detailed description when the command is executed.

4 years agoUpdate follow_primary.sh.sample due to the previous commit 7bd103a6a33a2a675bd37f996a...
Bo Peng [Wed, 17 Feb 2021 05:45:31 +0000 (14:45 +0900)]
Update follow_primary.sh.sample due to the previous commit 7bd103a6a33a2a675bd37f996ab46b7819a731d7.

4 years agoAdd release note.
Bo Peng [Wed, 17 Feb 2021 03:56:54 +0000 (12:56 +0900)]
Add release note.

4 years agoDoc: fix example in pgpool_adm pcp_node_info().
Tatsuo Ishii [Sun, 14 Feb 2021 01:09:39 +0000 (10:09 +0900)]
Doc: fix example in pgpool_adm pcp_node_info().

Per commit: https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=caf5215479ee7a5b55c1dcdeb00a2fccf0ed7133

4 years agoFix pcp_node_info() in pgpool_adm extension.
Tatsuo Ishii [Sun, 14 Feb 2021 00:28:38 +0000 (09:28 +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.

4 years agoFix follow_primary.sh.sample to avoid removing recovery.conf.
Bo Peng [Sat, 13 Feb 2021 17:27:56 +0000 (02:27 +0900)]
Fix follow_primary.sh.sample to avoid removing recovery.conf.

4 years agoFix follow_primary creation in pgpool_setup.
Tatsuo Ishii [Tue, 9 Feb 2021 06:12:02 +0000 (15:12 +0900)]
Fix follow_primary creation in pgpool_setup.

Since PostgreSQL 13 it is possible to reload the change of
recovery_conninfo, but it is not possible to reload
recovery_command. To fix this use pg_ctl restart regardless the
version of PostgreSQL.

Also fix an oversight: forgot to create standby.signal.

4 years agoFix watchdog leader sync process to start health check process.
Tatsuo Ishii [Mon, 8 Feb 2021 11:30:18 +0000 (20:30 +0900)]
Fix watchdog leader sync process to start health check process.

When watchdog receives status change request from other watchdog node
and calls sync_backend_from_watchdog() to sync with status of leader
node, it forgot to start health check process. For example,

1) initial pgpool_status file indicates DB node 1 is down.
2) pgpool starts up but only starts health check process for DB node 0
   because node 1 is in down status.
3) pcp_attach_node is issued to other than leader pgpool node.
4) leader node updates the node status for DB node 1 and other node
   syncs the status. Since sync_backend_from_watchdog() does not start
   health check process, only on pgpool leader node starts health
   check process but other nodes do not.

To fix this starts health check process if necessary in
sync_backend_from_watchdog().

4 years agoDoc: enhance "3.7. Temporarily Shutting Down PostgreSQL".
Tatsuo Ishii [Sat, 6 Feb 2021 11:42:35 +0000 (20:42 +0900)]
Doc: enhance "3.7. Temporarily Shutting Down PostgreSQL".

Explain that pcp_detach_node can immediate failover regardless
watchdog and health check settings. Also to enhance readability split
the chapter into two sections.

4 years agoDoc: fix watchdog_setup manual.
Tatsuo Ishii [Sat, 6 Feb 2021 08:48:09 +0000 (17:48 +0900)]
Doc: fix watchdog_setup manual.

Add snapshot isolation mode to the "mode" parameter which was
forgotten when adding the mode.

4 years agoFix follow_primary.sh creation in pgpool_setup.
Tatsuo Ishii [Fri, 5 Feb 2021 07:36:41 +0000 (16:36 +0900)]
Fix follow_primary.sh creation in pgpool_setup.

While creating the script, it did not update restore_command to point
to the primary's archive directory.

4 years agoDoc: enhance "5.3. Clustering mode".
Tatsuo Ishii [Thu, 4 Feb 2021 06:48:45 +0000 (15:48 +0900)]
Doc: enhance "5.3. Clustering mode".

- Reorder each clustering mode so that recommended clustering modes
  come first.

- Add drawbacks to each clustering mode.

4 years agoDoc: enhance "3.3.2. Clustering mode of Pgpool-II".
Tatsuo Ishii [Thu, 4 Feb 2021 04:31:26 +0000 (13:31 +0900)]
Doc: enhance "3.3.2. Clustering mode of Pgpool-II".

Add link to "backend clustering mode". Change title of this section
from "3.3.2. Running mode of Pgpool-II" to 23.3.2. Clustering mode of
Pgpool-II".

4 years agoAdd support for snapshot isolation mode.
Tatsuo Ishii [Thu, 4 Feb 2021 03:23:58 +0000 (12:23 +0900)]
Add support for snapshot isolation mode.

Also add "wal_level = archive" to all modes except streaming
replication mode to deal with online recovery enhancement.

4 years agoFix that DB cluster path was not correct in watchdog_setup installation.
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.

4 years agoFix typos in message emitted by sync_backend_from_watchdog().
Tatsuo Ishii [Wed, 3 Feb 2021 08:01:23 +0000 (17:01 +0900)]
Fix typos in message emitted by sync_backend_from_watchdog().

4 years agoFix pgpool_setup failure on raw mode.
Bo Peng [Wed, 3 Feb 2021 06:03:31 +0000 (15:03 +0900)]
Fix pgpool_setup failure on raw mode.

4 years agoEnhance pgpool_setup.
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.

4 years agoDoc: enhance "3.3.2. Running mode of Pgpool-II".
Tatsuo Ishii [Tue, 2 Feb 2021 09:35:22 +0000 (18:35 +0900)]
Doc: enhance "3.3.2. Running mode of Pgpool-II".

Arrange the order of each clustering mode to give more focus on
snapshot isolation mode.  Remove the limitations in snapshot isolation
mode because actually they are not the limitations.

4 years agoFix missing displaying of backend_clustering_mode mode in "show pool_status" command.
Bo Peng [Tue, 2 Feb 2021 02:54:56 +0000 (11:54 +0900)]
Fix missing displaying of backend_clustering_mode mode in "show pool_status" command.

4 years agoFix messages when health check process starts.
Tatsuo Ishii [Tue, 2 Feb 2021 00:56:23 +0000 (09:56 +0900)]
Fix messages when health check process starts.

Fix when health check process was restarted by reaper(), incorrect
"child process with pid: 14639 exited with success and will not be
restarted" was emitted.

Also enhance worker_fork_a_child() to emit a message that new worker
process started.

4 years agoDoc: update failover command parameters order.
Bo Peng [Mon, 1 Feb 2021 16:13:10 +0000 (01:13 +0900)]
Doc: update failover command parameters order.

4 years agoDoc: mention that the sample scripts doesn't support tablespaces in "Pgpool-II +...
Bo Peng [Mon, 1 Feb 2021 14:29:29 +0000 (23:29 +0900)]
Doc: mention that the sample scripts doesn't support tablespaces in "Pgpool-II + Watchdog Setup Example".

4 years agoRewrite introduction to Pgpool-II.
Tatsuo Ishii [Mon, 1 Feb 2021 10:25:24 +0000 (19:25 +0900)]
Rewrite introduction to Pgpool-II.

Change the meaning of "pool" and make it clear that what are the
essential features of Pgpool-II.

4 years agoFix pgpool_setup for pre PostgreSQL case.
Tatsuo Ishii [Sun, 31 Jan 2021 06:36:52 +0000 (15:36 +0900)]
Fix pgpool_setup for pre PostgreSQL case.

Now that native replication mode and snapshot isolation mode use
streaming replication for online recovery, unconditionally add
max_walsenders parameter to postgresql.conf.

4 years agoFix oversight in commit 3a36284c53c125389c999de5c6c4710973c4cb82.
Tatsuo Ishii [Sun, 31 Jan 2021 02:27:47 +0000 (11:27 +0900)]
Fix oversight in commit 3a36284c53c125389c999de5c6c4710973c4cb82.

When si_get_snapshot() is called, load balance node has not been
decided yet and we cannot use VALID_BACKEND macro.  Use
VALID_BACKEND_RAW instead.

4 years agoEnhance online recovery script for native replication and snapshot isolation mode...
Tatsuo Ishii [Sat, 30 Jan 2021 02:23:39 +0000 (11:23 +0900)]
Enhance online recovery script for native replication and snapshot isolation mode in pgpool_setup.

Use pg_stat_replication to get the log difference between main and
replica node while executing second stage so that reduces the number
of SQL issued.

4 years agoFix segfault in snapshot isolation mode.
Tatsuo Ishii [Thu, 28 Jan 2021 09:01:28 +0000 (18:01 +0900)]
Fix segfault in snapshot isolation mode.

If one DB nodes goes down, pgpool segfaulted in the mode. This
happened in si_get_snapshot(). This was caused because it did not
check whether DB node is alive or not.

4 years agoDoc: add initial Chinese documentation directory.
Bo Peng [Thu, 28 Jan 2021 00:38:22 +0000 (09:38 +0900)]
Doc: add initial Chinese documentation directory.

4 years agoEnhance native replication mode or snapshot isolation mode online
Tatsuo Ishii [Wed, 27 Jan 2021 12:24:03 +0000 (21:24 +0900)]
Enhance native replication mode or snapshot isolation mode online
recovery case.

Use streaming replication in the first stage and replays WAL generated
during base copy as much as possible. In the second stage, now it just
promotes the standby server. If there are little or zero WAL to
replay, this will significantly reduce the duration of the second
stage. This is important because while the system in the second stage,
frontend cannot connect to Pgpool-II.

4 years agoFix pgpool_setup so that it creates separate archive directory for each DB node.
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.

4 years agoDoc: enhance online recovery document.
Tatsuo Ishii [Fri, 22 Jan 2021 06:05:33 +0000 (15:05 +0900)]
Doc: enhance online recovery document.

Add explanation what should be done in the recovery first stage and
second stage. Also add mention about snapshot isolation mode where
native replication mode is explained.

Remove accidentally left caution of script timeout in the Japanese
document.

4 years agoFix pgpool_recovery_pitr generation pgpool_setup.
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.

4 years agoDoc: fix indent.
Bo Peng [Thu, 21 Jan 2021 07:46:05 +0000 (16:46 +0900)]
Doc: fix indent.

4 years agoFix some variable names in follow_primary.sh.sample.
Bo Peng [Thu, 21 Jan 2021 07:00:40 +0000 (16:00 +0900)]
Fix some variable names in follow_primary.sh.sample.

Fix some variable names of "main" to "primary" which should be used in streaming replication mode.

4 years agoEnhance follow_primary.sh generation in pgpool_setup.
Tatsuo Ishii [Wed, 20 Jan 2021 08:17:02 +0000 (17:17 +0900)]
Enhance follow_primary.sh generation in pgpool_setup.

In the generated follow primary script pcp_recovery_node was used to
sync standby with new primary node.  However it is sufficient in
follow primary process to just restart standby with new recovery
configuration redirected to the new primary because we use the
"latest" timeline in the configuration file.

Moreover, from PostgreSQL 13, even restarting standby is not
needed. Just changing the recovery configuration and reloading is
enough. With these changes it is expected that the follow primary
process could be significantly faster than before.

4 years agoDoc: add explanation about the shared memory required by shared relation cache.
Tatsuo Ishii [Sat, 16 Jan 2021 10:15:57 +0000 (19:15 +0900)]
Doc: add explanation about the shared memory required by shared relation cache.

Add description to "Memory requirement" section so that in Pgpool-II
4.1 and after require additional shared memory for shared relation
cache.

4 years agoAdjusting the allowed range and default value for log_rotation_size
Muhammad Usama [Wed, 13 Jan 2021 10:55:28 +0000 (15:55 +0500)]
Adjusting the allowed range and default value for log_rotation_size

4 years agoFix error while allocating shared memory.
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().

4 years agoDoc: fix typos.
Bo Peng [Wed, 13 Jan 2021 00:18:56 +0000 (09:18 +0900)]
Doc: fix typos.

4 years agoFix follow_primary script creation in pgpool_setup.
Tatsuo Ishii [Tue, 12 Jan 2021 01:40:06 +0000 (10:40 +0900)]
Fix follow_primary script creation in pgpool_setup.

There were some confusions in variable names due to recent language
fix.  This fixes some of "main" to "primary" which should be used in
streaming replication mode.

4 years agoFix bug child_max_connections is not respected if ERROR occurs.
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.

4 years agoDoc: fix typos in docs.
Bo Peng [Sun, 27 Dec 2020 12:24:54 +0000 (21:24 +0900)]
Doc: fix typos in docs.

4 years agoDoc: fix a few typos in Japanese release notes.
Tatsuo Ishii [Sat, 26 Dec 2020 05:41:27 +0000 (14:41 +0900)]
Doc: fix a few typos in Japanese release notes.

4 years agoApply mega typo fixes.
Tatsuo Ishii [Sat, 26 Dec 2020 04:34:21 +0000 (13:34 +0900)]
Apply mega typo fixes.

Fixes for source code files including *.[chl] and regression scripts,
not only for comments but variable names and function names.

Documents (sgml and some text files) are also fixed.
See:
https://github.com/pgpool/pgpool2/pull/38
for more details.

Patch contributed by Josh Soref. Fixes for Japanese sgml files by me.

4 years agoDoc: few typo fixes.
Muhammad Usama [Fri, 25 Dec 2020 18:25:10 +0000 (23:25 +0500)]
Doc: few typo fixes.

4 years agoDoc: fix typo in the 4.2.1 release note.
Tatsuo Ishii [Wed, 23 Dec 2020 11:41:23 +0000 (20:41 +0900)]
Doc: fix typo in the 4.2.1 release note.

4 years agoDoc: add 4.2.1 release note.
Bo Peng [Wed, 23 Dec 2020 06:09:36 +0000 (15:09 +0900)]
Doc: add 4.2.1 release note.

4 years agoChange all of the pgpool.conf samples socket path to "/var/run/postgresql".
Bo Peng [Tue, 22 Dec 2020 12:10:28 +0000 (21:10 +0900)]
Change all of the pgpool.conf samples socket path to "/var/run/postgresql".

4 years agoDoc: Add missing raw mode to "5.3. Clustering mode" and fix typos.
Bo Peng [Tue, 22 Dec 2020 04:52:01 +0000 (13:52 +0900)]
Doc: Add missing raw mode to "5.3. Clustering mode" and fix typos.

4 years agoDoc: fix indent.
Bo Peng [Tue, 22 Dec 2020 02:23:49 +0000 (11:23 +0900)]
Doc: fix indent.

4 years agoFix incorrect heartbeat related results of "pcp_pool_status" and "SHOW POOL_STATUS...
Bo Peng [Sun, 20 Dec 2020 15:45:41 +0000 (00:45 +0900)]
Fix incorrect heartbeat related results of "pcp_pool_status" and "SHOW POOL_STATUS" commands.

4 years agoDoc: fix installation tips section example.
Tatsuo Ishii [Fri, 18 Dec 2020 07:01:13 +0000 (16:01 +0900)]
Doc: fix installation tips section example.

Previous commit was not sufficient.

4 years agoDoc: fix usage of firewall-cmd in the installation tips section.
Tatsuo Ishii [Fri, 18 Dec 2020 06:54:48 +0000 (15:54 +0900)]
Doc: fix usage of firewall-cmd in the installation tips section.

firewall-cmd opened unnecessary ports in the example.

4 years agoFix segfault when ALWAYS_PRIMARY is set but DISALLOW_TO_FAILOVER.
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.

4 years agoDoc: fix missing configuration example of clustering mode.
Bo Peng [Tue, 15 Dec 2020 07:58:06 +0000 (16:58 +0900)]
Doc: fix missing configuration example of clustering mode.

4 years agoUse single shared memory segment for all shared variables in Pgpool parent process
Muhammad Usama [Mon, 14 Dec 2020 10:41:37 +0000 (15:41 +0500)]
Use single shared memory segment for all shared variables in Pgpool parent process

Shared memory segments is a limited resource and opening too many segments
should be avoided.
Also the default limit for on some operating systems like
OS/X (kern.sysv.shmmni: 32) is very small that you have to increase
shmmni just to run Pgpool-II. 
So to avoid creating too many shared memory segments, the commit creates a
single shared memory segment big enough to hold all required shared memory
and put all shared memory variables within that segment one after the other.

4 years agoDoc: more language fixes.
Tatsuo Ishii [Tue, 15 Dec 2020 01:50:04 +0000 (10:50 +0900)]
Doc: more language fixes.

4 years agoFix for inconsistent watchdog node_id problem in wd_cli
Muhammad Usama [Mon, 14 Dec 2020 14:50:08 +0000 (19:50 +0500)]
Fix for inconsistent watchdog node_id problem in wd_cli

In watchdog node_id = 0 was reserved for local watchdog node
before 'simplifying watchdog configuration' patch, Now the watchdog
node IDshave become consistent across the cluster, but a couple of
places in the code were still expecting that node_id = 0 would
mean local node.

4 years agoFix "no watchdog configuration for local pgpool node" error.
Tatsuo Ishii [Sun, 13 Dec 2020 08:08:08 +0000 (17:08 +0900)]
Fix "no watchdog configuration for local pgpool node" error.

If watchdog is disabled and wd_port is not defined (thus it's 0, which
is the default config value), the error occurred while checking
configured watchdog nodes. If watchdog is disabled, the check should
not be performed. Back patch to V4.2 stable when watchdog local node
was introduced.

4 years agoFix segfault in child pgpool process in certain failback case.
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.

4 years agoDoc: fix misleading description about reloading.
Tatsuo Ishii [Wed, 9 Dec 2020 02:48:57 +0000 (11:48 +0900)]
Doc: fix misleading description about reloading.

While taking care of this:
https://www.pgpool.net/mantisbt/view.php?id=671

I noticed our documentation gives misleading explanation about pgpool
behavior when pgpool.conf is reloaded:

https://www.pgpool.net/docs/latest/en/html/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE
The configuration file is reread whenever the main server process
receives a SIGHUP signal; this signal is most easily sent by running
pgpool reload from the command line. The main pgpool process also
propagates this signal to all its child processes, so that existing
sessions also adopt the new values. Some parameters can only be set at
server start; any changes to their entries in the configuration file
will be ignored until the server is restarted. Invalid parameter
settings in the configuration file are likewise ignored (but logged)
during SIGHUP processing.

The reality is, new parameter values will not be reflected to existing
sessions. They will be reflected when new session is
established. Reloading new config values is handled by
check_config_reload() in src/protocol/child.c. It's only called in the
beginning of establishing client sessions. It will not be called while
the session continues. Changing the place to call the function so that
it is called within a session maybe possible. But it will need
careful investigation to not break existing logic depending on
parameters.

Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-December/003856.html

4 years agoDelete any pre-existing watchdog command socket file at startup
Muhammad Usama [Tue, 8 Dec 2020 10:00:11 +0000 (15:00 +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

4 years agoFix compiler error on FreeBSD.
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.

4 years agoFix compiler error due to the previous commit.
Bo Peng [Wed, 2 Dec 2020 00:20:38 +0000 (09:20 +0900)]
Fix compiler error due to the previous commit.

4 years agoAdd error message to the previous commit.
Bo Peng [Mon, 30 Nov 2020 04:28:10 +0000 (13:28 +0900)]
Add error message to the previous commit.

4 years agoFix file swapping race condition in pool_passwd.
Tatsuo Ishii [Mon, 30 Nov 2020 04:01:52 +0000 (13:01 +0900)]
Fix file swapping race condition in pool_passwd.

Existing implementation first stats pool passwd file and then open the
file. To prevent file-swapping due to file race conditions, open the
key file before checking it by stat().

Patch by: Masaya Kawamoto

4 years agoUpdate version.
Bo Peng [Thu, 26 Nov 2020 10:32:20 +0000 (19:32 +0900)]
Update version.

4 years agoDoc: update release-note.
Bo Peng [Thu, 26 Nov 2020 00:55:23 +0000 (09:55 +0900)]
Doc: update release-note.

4 years agoDoc: update image files.
Bo Peng [Wed, 25 Nov 2020 16:19:34 +0000 (01:19 +0900)]
Doc: update image files.

4 years agoDoc: add documentation of "Pgpool-II on Kubernetes".
Bo Peng [Wed, 25 Nov 2020 15:55:55 +0000 (00:55 +0900)]
Doc: add documentation of "Pgpool-II on Kubernetes".

4 years agoRemoving strerror() call from ereports.
Muhammad Usama [Tue, 24 Nov 2020 16:39:26 +0000 (21:39 +0500)]
Removing strerror() call from ereports.

Call to ereport() resets the errno value and using the "strerror(errno)"
emmits the wrong error message. The right way is to use
%m format specifier instead.
 

4 years agoFix pgpool_setup to extract correct PostgreSQL version.
Bo Peng [Tue, 24 Nov 2020 05:19:48 +0000 (14:19 +0900)]
Fix pgpool_setup to extract correct PostgreSQL version.

4 years agoDoc: fix log_standy_delay description.
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

4 years agoDoc: add release note.
Bo Peng [Tue, 17 Nov 2020 08:23:53 +0000 (17:23 +0900)]
Doc: add release note.

4 years agoFix query rewrite syntax error of "INSERT ... ON CONFLICT" in native replication...
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.

4 years agoDoc: update "Aurora Configuration Example".
Bo Peng [Mon, 16 Nov 2020 15:04:53 +0000 (00:04 +0900)]
Doc: update "Aurora Configuration Example".

4 years agoSuppress a Coverity complain.
Tatsuo Ishii [Thu, 12 Nov 2020 06:23:17 +0000 (15:23 +0900)]
Suppress a Coverity complain.

Cid = 1395058 (Unused value).

4 years agoDoc: fix missing description of pgpool.conf samples.
Bo Peng [Sun, 8 Nov 2020 13:28:25 +0000 (22:28 +0900)]
Doc: fix missing description of pgpool.conf samples.

4 years agoFix connection count when query is canceled.
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.

4 years agoUpdate Makefile.
Bo Peng [Tue, 27 Oct 2020 05:22:30 +0000 (14:22 +0900)]
Update Makefile.

4 years agoDoc: update release note.
Bo Peng [Tue, 27 Oct 2020 05:04:47 +0000 (14:04 +0900)]
Doc: update release note.

4 years agoDoc: add escalation.sh sample script that is executed by wd_escalation_command.
Bo Peng [Tue, 27 Oct 2020 04:49:55 +0000 (13:49 +0900)]
Doc: add escalation.sh sample script that is executed by wd_escalation_command.

Patch is created by Kawamoto Masaya.

4 years agoUse list_delete_cell instead of list_delete_ptr in some places.
Bo Peng [Mon, 26 Oct 2020 11:08:08 +0000 (20:08 +0900)]
Use list_delete_cell instead of list_delete_ptr in some places.

Patch is created by Hou, Zhijie.

4 years agoDoc: fix incorrect description about load balancing.
Tatsuo Ishii [Sun, 25 Oct 2020 13:12:48 +0000 (22:12 +0900)]
Doc: fix incorrect description about load balancing.

4 years agoDoc: remove unnecessary sgml files.
Tatsuo Ishii [Sat, 24 Oct 2020 06:01:45 +0000 (15:01 +0900)]
Doc: remove unnecessary sgml files.

4 years agoDoc: remove unused SGML file entries.
Tatsuo Ishii [Sat, 24 Oct 2020 05:52:38 +0000 (14:52 +0900)]
Doc: remove unused SGML file entries.

4 years agoUpdate version to Pgpool-II 4.3 devel.
Bo Peng [Thu, 15 Oct 2020 03:53:33 +0000 (12:53 +0900)]
Update version to Pgpool-II 4.3 devel.

5 years agoDoc: fix typo in release 4.2 doc.
Tatsuo Ishii [Wed, 7 Oct 2020 10:32:07 +0000 (19:32 +0900)]
Doc: fix typo in release 4.2 doc.

Also change supposed-to-be-released month from October to November
because it is more likely to happen.

5 years agoEnable AM_MAINTAINER_MODE on master branch.
Bo Peng [Tue, 6 Oct 2020 06:00:12 +0000 (15:00 +0900)]
Enable AM_MAINTAINER_MODE on master branch.

5 years agoDisable AM_MAINTAINER_MODE.
Bo Peng [Tue, 6 Oct 2020 05:45:48 +0000 (14:45 +0900)]
Disable AM_MAINTAINER_MODE.

5 years agoDoc: update 4.2 release note.
Bo Peng [Tue, 6 Oct 2020 05:10:44 +0000 (14:10 +0900)]
Doc: update 4.2 release note.

5 years agoDoc: update watchdog related documentation and remove "8.2. Watchdog Configuration...
Bo Peng [Sun, 4 Oct 2020 14:49:33 +0000 (23:49 +0900)]
Doc: update watchdog related documentation and remove "8.2. Watchdog Configuration Example".

5 years agoDoc: mention that GSSAPI is not supported.
Tatsuo Ishii [Sat, 3 Oct 2020 01:29:30 +0000 (10:29 +0900)]
Doc: mention that GSSAPI is not supported.

5 years agoDeal with GSSAPI encrypted connection request from frontend.
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.

5 years agoAdd validation for pgpool_node_id file.
Bo Peng [Thu, 1 Oct 2020 05:22:32 +0000 (14:22 +0900)]
Add validation for pgpool_node_id file.

5 years agoFix test 032.dml_adaptive_load_balance failure.
Bo Peng [Wed, 30 Sep 2020 07:20:35 +0000 (16:20 +0900)]
Fix test 032.dml_adaptive_load_balance failure.

5 years agoDoc: fix index dupication.
Tatsuo Ishii [Wed, 30 Sep 2020 05:10:51 +0000 (14:10 +0900)]
Doc: fix index dupication.

This is caused by former slony mode was written as "native replication
mode".  This is obviously a mistake. Now we use the term "main replica
mode" (slony mode).