Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
server:database:postgresql
pgpool-II
pgpool-II.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pgpool-II.changes of Package pgpool-II
------------------------------------------------------------------- Thu Sep 28 20:56:23 UTC 2023 - Marcus Rueckert <mrueckert@suse.de> - enable pg 16 ------------------------------------------------------------------- Thu May 11 14:28:16 UTC 2023 - Reinhard Max <max@suse.com> - Stop supporting postgresql10 ------------------------------------------------------------------- Wed Feb 1 09:14:17 UTC 2023 - Marcus Rueckert <mrueckert@suse.de> - Update to 4.4.2 https://www.pgpool.net/docs/latest/en/html/release-4-4-2.html ------------------------------------------------------------------- Sun Dec 25 10:55:57 UTC 2022 - Marcus Rueckert <mrueckert@suse.de> - Update to 4.4.1 https://www.pgpool.net/docs/latest/en/html/release-4-2-6.html https://www.pgpool.net/docs/latest/en/html/release-4-2-7.html https://www.pgpool.net/docs/latest/en/html/release-4-2-8.html https://www.pgpool.net/docs/latest/en/html/release-4-2-9.html https://www.pgpool.net/docs/latest/en/html/release-4-2-10.html https://www.pgpool.net/docs/latest/en/html/release-4-2-11.html https://www.pgpool.net/docs/latest/en/html/release-4-3-0.html https://www.pgpool.net/docs/latest/en/html/release-4-3-1.html https://www.pgpool.net/docs/latest/en/html/release-4-3-2.html https://www.pgpool.net/docs/latest/en/html/release-4-3-3.html https://www.pgpool.net/docs/latest/en/html/release-4-3-4.html https://www.pgpool.net/docs/latest/en/html/release-4-4-0.html https://www.pgpool.net/docs/latest/en/html/release-4-4-1.html ------------------------------------------------------------------- Thu Dec 2 11:44:22 UTC 2021 - Marcus Rueckert <mrueckert@suse.de> - fix postgresql_has_llvm usage ------------------------------------------------------------------- Tue Nov 30 17:24:02 UTC 2021 - Marcus Rueckert <mrueckert@suse.de> - switch to %{pg_name}-llvmjit-devel ------------------------------------------------------------------- Sun Nov 14 02:43:34 UTC 2021 - Marcus Rueckert <mrueckert@suse.de> - Update to 4.2.5 http://www.pgpool.net/docs/latest/en/html/release-4-2-4.html http://www.pgpool.net/docs/latest/en/html/release-4-2-5.html - port to postgresql macros - add postgresql 14 - drop unsupported pg versions - drop non systemd distros ------------------------------------------------------------------- Tue Jul 6 22:39:19 UTC 2021 - Marcus Rueckert <mrueckert@suse.de> - Update to 4.2.3 http://www.pgpool.net/docs/latest/en/html/release-4-2-1.html http://www.pgpool.net/docs/latest/en/html/release-4-2-2.html http://www.pgpool.net/docs/latest/en/html/release-4-2-3.html - refreshed patches: pgpool-II_conf.patch - update pgpool-admin to 4.2.0 ------------------------------------------------------------------- Tue Dec 1 11:13:33 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - refreshed patches: - pgpool-II-3.6.1_implicit.patch - pgpool-II_conf.patch ------------------------------------------------------------------- Tue Dec 1 11:03:48 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - update to 4.2.0 http://www.pgpool.net/docs/latest/en/html/release-4-2-0.html ------------------------------------------------------------------- Fri Nov 20 01:03:56 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - update to 4.1.5 http://www.pgpool.net/docs/latest/en/html/release-4-1-5.html ------------------------------------------------------------------- Fri Sep 25 16:03:51 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - enable pg13 - add proper requires on the pg version dependent packages ------------------------------------------------------------------- Wed Sep 23 21:58:52 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - update to 4.1.4 http://www.pgpool.net/docs/latest/en/html/release-4-1-4.html ------------------------------------------------------------------- Fri Aug 28 17:23:20 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - update to 4.1.3 http://www.pgpool.net/docs/latest/en/html/release-4-1-2.html http://www.pgpool.net/docs/latest/en/html/release-4-1-3.html ------------------------------------------------------------------- Tue May 5 00:53:37 UTC 2020 - Marcus Rueckert <mrueckert@suse.de> - update to 4.1.1 and pgpooladmin to 4.1.0 http://www.pgpool.net/docs/latest/en/html/release-4-1-1.html ------------------------------------------------------------------- Tue Apr 21 01:12:05 CEST 2020 - ro@suse.de - add sample scripts to filelist in mainpackage to fix build ------------------------------------------------------------------- Mon Nov 11 13:22:52 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - update to 4.1.0 http://www.pgpool.net/docs/latest/en/html/release-4-1-0.html - refresh pgpool-II_conf.patch ------------------------------------------------------------------- Wed Oct 23 20:41:59 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - refresh pgpool-II_conf.patch ------------------------------------------------------------------- Tue Oct 22 17:54:16 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - update to 4.0.6 http://www.pgpool.net/docs/latest/en/html/release-4-0-6.html ------------------------------------------------------------------- Tue Oct 22 15:34:14 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - adding postgresql12 to _multibuild ------------------------------------------------------------------- Thu Jun 6 18:43:24 UTC 2019 - Marcus Rueckert <mrueckert@suse.de> - update to 4.0.5 http://www.pgpool.net/docs/latest/en/html/release-4-0-1.html http://www.pgpool.net/docs/latest/en/html/release-4-0-2.html http://www.pgpool.net/docs/latest/en/html/release-4-0-3.html http://www.pgpool.net/docs/latest/en/html/release-4-0-4.html http://www.pgpool.net/docs/latest/en/html/release-4-0-5.html - update pgpoolAdmin to 4.0.1 The purpose of this release is to address CVE-2018-16203, which allow an attacker to login without properly checking the authorization. Once getting into gpoolAdmin, the attacker can control Pgpool-II. Also it may be possible to obtain the superuser role of a PostgreSQL database. ------------------------------------------------------------------- Sat Oct 27 02:39:34 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - update pgpool-II and pgpoolAdmin to 4.0.0 - Add SCRAM and Certificate authentication support. - Detecting "false" primary server of PostgreSQL. - Improvement of load balancing: - More load balancing fine control after write queries. - Load balancing control for specific queries. - Allow to specify load balance weight ratio for load balance parameters. - Add last state change timestamp to SHOW POOL NODES. - Import PostgreSQL 11 SQL parser. - Logging client messages. For all details see https://www.pgpool.net/docs/latest/en/html/release-4-0.html - refresh patches to apply cleanly: pgpool-II-3.6.1_implicit.patch pgpool-II_conf.patch - build core against pg11 now ------------------------------------------------------------------- Thu Oct 25 14:14:45 UTC 2018 - Reinhard Max <max@suse.com> - Add build for PostgreSQL 11 and drop 9.3. - BuildRequire server-devel instead of devel. ------------------------------------------------------------------- Mon Sep 17 21:15:56 UTC 2018 - Marcus Rueckert <mrueckert@suse.de> - update to 3.7.5 - Allow not to use pool_passwd in raw mode. (bug 411) (Tatsuo Ishii) Since in raw there's only 1 backend is actually involved, there's no need to use pool_passwd with md5 authentication. - Fix "write on backend 0 failed with error :"Success"" error. (bug 403) (Tatsuo Ishii) Don't treated it as an error if write() returns 0. - Fix for 0000409: worker process is not restarted after failover on standby Pgpool-II. (bug 409) (Muhammad Usama) Patch contributed by Yugo Nagata. - Fix for 0000406: failover called with wrong old-primary. (bug 406) (Muhammad Usama) - Fixed that the health check process was not started after failed back. (bug 407) (Tatsuo Ishii) - Fix memory leaks related to pool_extract_error_message(). (Tatsuo Ishii) - Fix an incorrect declare as bool, rather than int in pool_extract_error_message(). (Tatsuo Ishii) This led to a segfault issue mentioned on certain platform. - Fix segfault in per_node_error_log() on armhf architecture. (Tatsuo Ishii) Patch provided by Christian Ehrhardt. - Fix for wrong backend roles on standby after the failover. (Muhammad Usama) - Doc: Improve documents of "MD5 Password Authentication", "Installing Pgpool-II" and "pg_md5".(Bo Peng) Patch provided by Takuma Hoshiai. - Test: Fix 006.memqcache test failure. (Tatsuo Ishii) ------------------------------------------------------------------- Wed Jun 27 00:27:55 UTC 2018 - mrueckert@suse.de - update to 3.7.4 - Fix Pgpool-II hung if replication delay is too much, when query cache enabled in extended query mode. (Tatsuo Ishii) See [pgpool-general-jp: 1534] for more details. - Doc: Fix document typo of PCP commands option "-U". (Bo Peng) - Delete some debug code. (Bo Peng) - In extended query mode, do not set writing tx flag with SET TRANSACTION READ ONLY. (Tatsuo Ishii) - Fix wrong parameter %P (old primary node id) passed to failover script in 3.7.3 and 3.7.2. (Tatsuo Ishii) - Doc: Clarify that failover_require_consensus requires that health check is enabled. (Tatsuo Ishii) - Doc: Update outdated pcp_proc_info manual. (Tatsuo Ishii) - Test: Fix test.sh in extended_query_test. (Tatsuo Ishii) - Add missing health_check_timeout in pgpool_setup. (Tatsuo Ishii) - Doc: Enhance online recovery document to Clarify that recovery_2nd_stage_command is only required in native replication mode. (Tatsuo Ishii) - Prevent pcp_recovery_node from recovering "unused" status node. (Tatsuo Ishii) This allowed to try to recovery a node without configuration data, which leads to variety of problems. See [pgpool-general: 5963] for more details. Also I fixed pgpool_recovery function so that it quotes an empty string argument with double quotes. ------------------------------------------------------------------- Tue May 1 22:59:09 UTC 2018 - mrueckert@suse.de - update to 3.7.3 - Disable health check per node parameters by default. (Bo Peng) - Fix pcp_detach_node hung when -g option is specified. (bug 391) (Tatsuo Ishii) - Test: Add new regression test for node 0 is down. (Tatsuo Ishii) - Make calls to to_regclass fully schema qualified. (Tatsuo Ishii) - Fix pgpool child process segfault when ALWAYS_MASTER is on. (Tatsuo Ishii) If following conditions are all met pgpool child segfaults: - Streaming replication mode. - fail_over_on_backend_error is off. - ALWAYS_MASTER flag is set to the master (writer) node. - pgpool_status file indicates that the node mentioned in #3 is in down status. - Doc: Improve watchdog documents. (Tatsuo Ishii) - Doc: Add a document for adding new config parameter. (Tatsuo Ishii) - Test: Improve test script 003.failover. (Bo Peng) - Deal with "unable to bind D cannot get parse message "S1" error. (Tatsuo Ishii) - Doc: Mention that users can avoid failover using backend_flag even PostgreSQL admin shutdown. (Tatsuo Ishii) - Doc: Fix document typos. (Bo Peng) - Test: Add new regression test for node 0 not being primary. (Tatsuo Ishii) - Fix pgpool_setup failure in replication mode. (Tatsuo Ishii) - Allow to support pgpool_switch_xlog PostgreSQL 10. (Tatsuo Ishii) - Revert "Fix pgpool child process segfault when ALWAYS_MASTER is on." (Tatsuo Ishii) - With the commit, write queries are always sent to node 0 even if the primary node is not 0 because PRIMARY_NODE_ID macro returns REAL_MASTER_NODE_ID, which is usually 0. Thus write queries are failed with: ERROR: cannot execute INSERT in a read-only transaction - Test: Enhance extended query test. (Tatsuo Ishii) - Doc: Fix pgpool_adm family functions examples. (Tatsuo Ishii) ------------------------------------------------------------------- Fri Mar 9 19:11:53 UTC 2018 - mrueckert@suse.de - update to 3.7.2 - Changes - Allow to build with libressl. (Tatsuo Ishii) - See [pgpool-hackers: 2714] for more details. Patch by Sandino Araico Sanchez. - Set TCP_NODELAY and non blocking to frontend socket. (Tatsuo Ishii) - TCP_NODELAY is employed by PostgreSQL, so do we it. - Change systemd service file to use STOP_OPTS=" -m fast". (Bo Peng) - Change pgpool_setup to add restore_command in recovery.conf. (Bo Peng) - Bug fixes - Fix writing transaction flag is accidentally set at commit or rollback. (Tatsuo Ishii) - Throw a warning message when failover consensus settings on watchdog nodes differs. (Muhammad Usama) - Doc: Fix document typo. (Bo Peng) - Fix bug with socket writing. (Tatsuo Ishii) - pool_write_flush() is responsible for writing to sockets when pgpool's write buffer is full (this function was introduced in 3.6.6 etc). When network write buffer in kernel is full, it does retrying but it forgot to update the internal buffer pointer. As a result, broken data is written to the socket. This results in variety of problems including too large message length. - Fix pgpool child process segfault when ALWAYS_MASTER is on. (Tatsuo Ishii) - If following conditions are all met pgpool child segfaults: 1. Streaming replication mode. 2. fail_over_on_backend_error is off. 3. ALWAYS_MASTER flags is set to the master (writer) node. 4. pgpool_status file indicates that the node mentioned in #3 is in down status. - See [pgpool-hackers: 2687] and [pgpool-general: 5881] for more details. - Fix segfault when %a is in log_line_prefix and debug message is on. (bug 376) (Tatsuo Ishii) - Fix per node health check parameters types. (Tatsuo Ishii) - Fix queries hanging in parse_before_bind with extended protocol and replication + load-balancing. (bug 377) (Tatsuo Ishii) ------------------------------------------------------------------- Mon Feb 5 18:25:22 UTC 2018 - mrueckert@suse.de - use _fillupdir macro ------------------------------------------------------------------- Mon Feb 5 18:24:09 UTC 2018 - mrueckert@suse.de - update to 3.7.1 http://www.pgpool.net/docs/latest/en/html/release-3-7-1.html ------------------------------------------------------------------- Mon Feb 5 18:22:04 UTC 2018 - mrueckert@suse.de - guard build flavor block with a nil to fix the build on TW ------------------------------------------------------------------- Fri Nov 24 01:49:59 UTC 2017 - mrueckert@suse.de - refresh pgpool-II_conf.patch - include series file as quilt setup is broken atm ------------------------------------------------------------------- Thu Nov 23 19:41:21 UTC 2017 - mrueckert@suse.de - update to 3.7.0 of the base package and admin: http://www.pgpool.net/docs/latest/en/html/release-3-7.html ------------------------------------------------------------------- Fri Sep 8 23:14:03 UTC 2017 - mrueckert@suse.de - dont own the %{_datadir}/postgresql*/extension/ ------------------------------------------------------------------- Fri Aug 4 13:38:28 UTC 2017 - mrueckert@suse.de - finalize multibuild ------------------------------------------------------------------- Fri Aug 4 00:00:01 UTC 2017 - mrueckert@suse.de - multibuild ------------------------------------------------------------------- Thu Aug 3 17:54:22 UTC 2017 - mrueckert@suse.de - update to 3.6.5 http://www.pgpool.net/docs/latest/en/html/release-3-6-5.html http://www.pgpool.net/docs/latest/en/html/release-3-6-4.html http://www.pgpool.net/docs/latest/en/html/release-3-6-3.html http://www.pgpool.net/docs/latest/en/html/release-3-6-2.html - update pgpoolAdmin to 3.6.1 - refreshed patches to apply cleanly again pgpool-II-3.6.1_implicit.patch pgpool-II_conf.patch ------------------------------------------------------------------- Fri Feb 10 01:01:24 UTC 2017 - mrueckert@suse.de - added pgpool-II-3.6.1_implicit.patch ------------------------------------------------------------------- Fri Feb 10 00:28:17 UTC 2017 - mrueckert@suse.de - update to 3.6.1 - Improve the behavior of fail-over. In the steaming replication mode, client sessions will not be disconnected when a fail-over occurs any more if the session does not use the failed standby server. If the primary server goes down, still all sessions will be disconnected. Also it is possible to connect to Pgpool-II even if it is doing health checking retries. Before all attempt of connecting to Pgpool-II failed while doing health checking retries. - New PGPOOL SET command has been introduced. Certain configuration parameters now can be changed on the fly in a session. - Watchdog is significantly enhanced. It becomes more reliable than previous releases. - Handling of extended query protocol (e.g. used by Java applications) in streaming replication mode speeds up if many rows are returned in a result set. - Import parser of PostgreSQL 9.6. - In some cases pg_terminate_backend() now does not trigger a fail-over. - Change documentation format from raw HTML to SGML. For all the details see /usr/share/doc/packages/pgpool-II/NEWS ------------------------------------------------------------------- Mon Oct 3 14:21:35 UTC 2016 - mrueckert@suse.de - update to 3.5.4 - Fix buffer over run problem in "show pool_nodes". (Tatsuo Ishii) While processing "show pool_nodes", the buffer for hostname was too short. It should be same size as the buffer used for pgpool.conf. Problem reported by a twitter user who is using pgpool on AWS (which could have very long hostname). - Fix usage of wait(2) in pgpool main process. (Tatsuo Ishii) The usage of wait(2) in pgpool main could cause infinite wait in the system call. Solution is, to use waitpid(2) instead of wait(2). - Save and restore errno in each signal handler. (Tatsuo Ishii) - Fix handling of pcp_listen_addresses config parameter. (Muhammad Usama) - Fix "kind mismatch" error message in pgpool. (Muhammad Usama) Many of "kind mismatch..." errors are caused by notice/warning messages produced by one or more of the DB nodes. In this case now Pgpool-II forwards the messages to frontend, rather than throwing the "kind mismatch..." error. This would reduce the chance of "kind mismatch..." errors. See [pgpool-hackers: 1501] for more details. - Replace "MAJOR" macro to prevent occasional failure. (Tatsuo Ishii) The macro calls pool_virtual_master_db_node_id() and then access backend->slots[id]->con using the node id returned. In rare cases, it could point to 0 (in case when the DB node is not connected), which gives access to con->major, then it causes a segfault. See bug 225 for related info. - Fixing a coding mistake in watchdog code. (Muhammad Usama) wd_issue_failover_lock_command() function is supposed to forward command type passed in as an argument to the wd_send_failover_sync_command() function instead it was passing the NODE_FAILBACK_CMD command type. The commit also contains some log message enhancements. - doc : Fixing a typo in english doc (Muhammad Usama) - Fix for bun 215 that pgpool doesn't escalate ip in case of another node inavailability. (Muhammad Usama) The heartbeat receiver fails to identify the heartbeat sender watchdog node when the heartbeat destination is specified in terms of an IP address while wd_hostname is configured as a hostname string or vice versa. See bug 215 for related info. - Fix for bug of inconsistent status of Postgresql nodes in Pgpool instances after restart.(Muhammad Usama) Watchdog does not synchronize status. See bug 218 for related info. - SIGUSR1 signal handler should be installed before watchdog initialization. (Muhammad Usama) Since there can be a case where a failover request from other watchdog nodes arrive at the same time when the watchdog has just been initialized, and if we wait any longer to install a SIGUSR1 signal handler, it can result in a potential crash. - Fix for bug 228 that pgpool doesn't de-escalate IP in case network restored. (Muhammad Usama) See bug 228 for related info. - Fix hang when portal suspend received. (Tatsuo Ishii) See bug 230 for related info. - test : Add regression test for bug 230. (Tatsuo Ishii) - Fixing a typo in the log message. (Muhammad Usama) - Fixing the error messages when the socket operation fails. (Muhammad Usama) - Tighten up health check timer expired condition in pool_check_fd(). (Muhammad Usama) - doc : Add comment to the document about connection_cache. (Tatsuo Ishii) - Fix Handling of pcp_socket_dir was missing from pool_get_config(). (Muhammad Usama) - doc : Fix Japanese document typo. (Bo Peng) - Fix "out of memory" by using "pg_md5 -m".(Muhammad Usama) See bug 236 for related info. - Fix for 237 that Pgpool-II fails to start if listen_addresses is empty string. (Muhammad Usama) The socket descriptor array (fds[]) was not getting the array end marker when TCP listen addresses are not used. See bug 237 for related info. ------------------------------------------------------------------- Thu Jul 7 13:31:32 UTC 2016 - mrueckert@suse.de - update to 3.5.3 - New features - Allow to access to pgpool while doing health checking (Tatsuo Ishii) Currently any attempt to connect to pgpool fails if pgpool is doing health check against failed node even if fail_over_on_backend_error is off because pgpool child first tries to connect to all backend including the failed one and exits if it fails to connect to a backend (of course it fails). This is a temporary situation and will be resolved before pgpool executes failover. However if the health check is retrying, the temporary situation keeps longer depending on the setting of health_check_max_retries and health_check_retry_delay. This is not good. Attached patch tries to mitigate the problem: - When an attempt to connect to backend fails, give up connecting to the failed node and skip to other node, rather than exiting the process if operating in streaming replication mode and the node is not primary node. - Mark the local status of the failed node to "down". - This will let the primary node be selected as a load balance node and every queries will be sent to the primary node. If there's other healthy standby nodes, one of them will be chosen as the load balance node. - After the session is over, the child process will suicide to not retain the local status. Per [pgpool-hackers: 1531]. - Bug fixes - Fix is_set_transaction_serializable() when SET default_transaction_isolation TO 'serializable'. (Bo Peng) SET default_transaction_isolation TO 'serializable' is sent to not only primary but also to standby server in streaming replication mode, and this causes an error. Fix is, in streaming replication mode, SET default_transaction_isolation TO 'serializable' is sent only to the primary server. See bug 191 for related info. - Fix Chinese documetation bug about raw mode (Yugo Nagata, Bo Peng) Connection pool is avalilable in raw mode. - Fix confusing comments in pgpool.conf (Tatsuo Ishii) - Fix extended protocol handling in raw mode (Tatsuo Ishii) Bug152 reveals that extended protocol handling in raw mode (actually other than in stream mode) was wrong in Describe() and Close(). Unlike stream mode, they should wait for backend response. See bug 152 for related info. - Permit pgpool to support multiple SSL cipher protocols (Muhammad Usama) Currently TLSv1_method() is used to initialize the SSL context, that puts an unnecessary limitation to allow only TLSv1 protocol for SSL communication. While postgreSQL supports other ciphers protocols as well. The commit changes the above and initializes the SSLSession using the SSLv23_method() (same is also used by PostgreSQL). Because it can negotiate the use of the highest mutually supported protocol version and remove the limitation of one specific protocol version. - If statement timeout is enabled on backend and do_query() sends a (Tatsuo Ishii) query to primary node, and all of following user queries are sent to standby, it is possible that the next command, for example END, could cause a statement timeout error on the primary, and a kind mismatch error on pgpool-II is raised. This fix tries to mitigate the problem by sending sync message instead of flush message in do_query(), expecting that the sync message reset the statement timeout timer if we are in an explicit transaction. We cannot use this technique for implicit transaction case, because the sync message removes the unnamed portal if there's any. Plus, pg_stat_statement will no longer show the query issued by do_query() as "running". See bug 194 for related info. - Deal with the case when the primary is not node 0 in streaming replication mode. (Tatsuo Ishii) http://www.pgpool.net/mantisbt/view.php?id=194#c837 reported that if primary is not node 0, then statement timeout could occur even after bug194-3.3.diff was applied. After some investigation, it appeared that MASTER macro could return other than primary or load balance node, which was not supposed to happen, thus do_query() sends queries to wrong node (this is not clear from the report but I confirmed it in my investigation). pool_virtual_master_db_node_id(), which is called in MASTER macro returns query_context->virtual_master_node_id if query context exists. This could return wrong node if the variable has not been set yet. To fix this, the function is modified: if the variable is not either load balance node or primary node, the primary node id is returned. - Fix a posible hang during health checking (Yugo Nagata) Helath checking was hang when any data wasn't sent from backend after connect(2) succeeded. To fix this, pool_check_fd() returns 1 when select(2) exits with EINTR due to SIGALRM while health checkking is performed. Reported and patch provided by harukat and some modification by Yugo. See bug 204 for related info. - change the Makefile under this directory src/sql/,that is proposed by (Bo Peng) [pgpool-hackers: 1611] - fix for 0000197: pgpool hangs connections to database.. (Muhammad Usama) The client connection was getting stuck when backend node and remote pgpool-II node becomes unavailable at the same time. The reason was a missing command timeout handling in the function that sends the IPC commands to watchdog. - Fix bug with load balance node id info on shmem (Tatsuo Ishii) There are few places where the load balance node was mistakenly put on wrong place. It should be placed on: ConnectionInfo *con_info[child id, connection pool_id, backend id].load_balancing_node]. In fact it was placed on: *con_info[child id, connection pool_id, 0].load_balancing_node]. As long as the backend id in question is 0, it is ok. However while testing pgpool-II 3.6's enhancement regarding failover, if primary node is 1 (which is the load balance node) and standby is 0, a client connecting to node 1 is disconnected when failover happens on node 0. This is unexpected and the bug was revealed. It seems the bug was there since long time ago but it had not found until today by the reason above. - Fixing coverity scan reported issues. (Muhammad Usama) ------------------------------------------------------------------- Mon May 9 23:48:19 UTC 2016 - mrueckert@suse.de - update to 3.5.2 - Bug fixes - Fix for segfault during trusted_servers check (Muhammad Usama) PostgreSQL's memory and exception manager APIs adopted by the pgpool 3.4 are not thread safe and are causing the segmentation fault in the watchdog lifecheck process, as it uses the threads to ping configured trusted hosts for checking the upstream connections. Fix is to remove threads and use the child process approach instead. See [pgpool-general: 4569] for more details. - Removing the limit on the maximum number of items in the black_function_list and white_function_list lists (Muhammad Usama) extract_string_tokens in pool_config uses the fixed size malloc on the array to hold the black_function_list/white_function_list items. This imposes a limit of maximum items in these lists. The fix is to use realloc to increase the array size when it gets full. - Fix check "PCP Directory" in "Parameter Setting" in install (Nozomi Anzai) The command "pcp_system_info" was discarded in 3.5, but pgpoolAdmin still confirmed if it existed. Per bug #187. - Fix extended protocol hang with empty query (Tatsuo Ishii) The fixes related to extended protocol cases in 3.5.1 broke the case of empty query. In this case backend replies with "empty query response" which is same meaning as a command complete message. Problem is, when empty query response is received, pgpool does not reset the query in progress flag thus keeps on waiting for backend. However, backend will not send the ready for query message until it receives a sync message. Fix is, resetting the in progress flag after receiving the empty query response and reads from frontend expecting it sends a sync message. Per bug #190. - Redirect all user queries to primary server (Tatsuo Ishii) Up to now some user queries are sent to other than the primary server even if load_balance_mode = off. This commit changes the behavior: if load_balance_mode = off in streaming replication mode, now all the user queries are sent to the primary server only. Per bug #189. - Change the PID length of pcp_proc_count command result to 6 characters long (Bo Peng) If the pgpool process ID are over 5 characters, the 6th character of each process ID will be removed. This commit changes the process ID length of pcp_proc_count command result to 6 characters long. Per bug #188. ------------------------------------------------------------------- Mon Apr 25 13:59:53 UTC 2016 - mrueckert@suse.de - update to 3.5.1 - Bug fixes - Add some warning messages for wd_authkey hash calculation failure (Yugo Nagata) Sometimes wd_authkey calculation fails for some reason other than authkey mismatch. The additional messages make these distingushable for each other. - test: Fix regression test to check timeout of each test (Yugo Nagata) - test: Allow timeout value to be specified by the command option (Yugo Nagata) - Fix compile issue on FreeBSD (Muhammad Usama) Added missing include files. Per bug #166. The patch is contributed by the bug reporter and enhanced a little by Usama. - test: Fix test/regression/clean.sh to remove binary files of 010.rewrite_timestamp test (Yugo Nagata) - Fix memorry leak reported by Coverity (CID 1350095) (Yugo Nagata) - Fixing pgpool-recovery module compilation issue with PostgreSQL 9.6 (Muhammad Usama) Incorporating the change of function signature for GetConfigOption..() functions in PostgreSQL 9.6. - Fix to properly process an empty query that has only comments (Tatsuo Ishii) Pgpool-II recognized an empty query, for example "/* DBD::Pg ping test v3.5.3 */" (note that it has no ';') as an error and emits message "Unable to parse the query". This is because raw_parser() cannot distinguish an empty query from an error query due to the poor API design. To fix this new out parameter "*error" added to the function. If an error occurred, the variable is set to true and caller can know the reason why raw_parser() returns NIL is because of an error query or an empty query. Per bug #154. See [pgpool-hackers: 1359] for additional information. - Fix a reset query stuck problem (Muhammad Usama) The solution is to report FRONTEND_ERROR instead of simple ERROR when pool_flush on front-end socket fails. The original report is [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL The patch was generated by Usama and Pawel Ufnalewski<archon@foap.com>, and Gerhard Wiesinger <lists@wiesinger.com> helped to verify and test the fix. - Fix a reset query stuck problem (Tatsuo Ishii) After receiving X message from frontend, if pgpool-II detects EOF on the connection before sending reset query, pgpool-II could wait for a response from backend which had not received the reset query. To fix this, if EOF received, treat this as FRONTEND_ERROR, rather than ERROR. See "[pgpool-hackers: 1440] Yet another reset query stuck problem" for more details. - Fix query stuck problems in streaming replication mode with extended protocol queries (Tatsuo Ishii) This fix is for both bug #167 and #168. - Fix pgpool hung after receiving error state from backend (Tatsuo Ishii) This could happend if we execute an extended protocol query and it fails. Per bug #169. - Fix bug that child processes exit and are not re-spawned (Muhammad Usama) The problem was due to a logical mistake in the code for checking the exiting child process type when the watchdog is enabled. Also the severity of the message emitted for child exits due to max connection reached from FATAL to LOG. Per [pgpool-general: 4519] Worker Processes Exit and Are Not Re-spawned - Fix typo in configure (Tatsuo Ishii) Patch provided by Thomas Munro. - doc: Change description of backend_flag (Tatsuo Ishii) It is pointed out that restarting pgpool-II is not necessary. Per [pgpool-general-jp: 1394]. - doc: Fix installation procedure. (Tatsuo Ishii) With PostgreSQL 9.4 or later, installing pgpool_regclass is not needed. - test: Fix pgpool_setup to not confuse log output (Tatsuo Ishii) Before it simply redirects stdout and stderr of pgpool processes to a log file. This could cause the log contents being garbled or even missed because of race condition caused by multiple process being writing concurrently. To fix this, pgpool_setup now generates startall script in which pgpool sends stdout/stderr to cat command by pipe, and cat writes to the log file. - Fix to validate the PCP packet length (Muhammad Usama) Without the validation check, a malformed PCP packet can crash the PCP child and/or can run the server out of memory by sending the packet with a very large data size. - update admin to 3.5.1 - Show the path to .pcppass (Nozomi Anzai) - Fix not to confirm the status of "pcp_systemdb_info" command if the version is 3.5 [pgpool-general: 4427] (Nozomi Anzai) - Add chinese templates help (pengbo) - Change the chinese message catalog (pengbo) - Fix the argument's name (Nozomi Anzai) http://www.pgpool.net/mantisbt/view.php?id=171 - drop to pgpool-II-3.5.0_no_dev_rpath.patch ------------------------------------------------------------------- Thu Feb 4 16:48:47 UTC 2016 - mrueckert@suse.de - update pgpool-II_conf.patch fix pcp socket path ------------------------------------------------------------------- Wed Feb 3 16:05:24 UTC 2016 - mrueckert@suse.de - drop pgpool-II-3.4.2_64bit_issue.patch: included upstream - added pgpool-II-3.5.0_no_dev_rpath.patch: drop prefix statement from pgpool_adm/Makefile which leads to unwanted/broken rpath ------------------------------------------------------------------- Wed Feb 3 15:52:11 UTC 2016 - mrueckert@suse.de - update to version 3.5.0: - Improved performance in extended query protocol - Overcoming the thundering herd problem - watchdog feature enhancements to be more robust and adaptable - PCP command enhancements - Import PostgreSQL 9.5 parser for all details see http://pgpool.net/mediawiki/index.php?title=pgpool-II_3.5_features http://www.pgpool.net/docs/pgpool-II-3.5.0/NEWS.txt - update pgpooladmin to version 3.5.0: pgpoolAdmin 3.5 adopts pgpool-II 3.5. - New features - Add new parameters for pgpool-II 3.5 (Nozomi Anzai) if_cmd_path, health_check_database, pcp_listen_addresses, search_primary_node_timeout, serialize_accept, sr_check_database, wd_de_escalation_command, wd_ipc_socket_dir, wd_priority, wd_monitoring_interfaces_list - Adopt to new pcp command usage (Nozomi Anzai) - Adopt pcp_watchdog_info in ver3.5 (Nozomi Anzai) - Add Chinese message catalogs (pengbo) - Adopt Spanish translation (Nozomi Anzai) Patch contributed by Rodrigo Ramirez Norambuena - Bug fixes - Add selected attribute to <select> of "pgpool-II version" (Nozomi Anzai) - Modified installer to check if pgsql extension is loaded (Nozomi Anzai) Patch contributed by Rodrigo Ramirez Norambuena - Define a new error code "e1013" and fix to return it if pcp_watchdog_info failed (Nozomi Anzai) http://www.pgpool.net/mantisbt/view.php?id=149 ------------------------------------------------------------------- Thu Aug 13 12:41:49 UTC 2015 - mrueckert@suse.de - use the pgpool version for the subpackage ------------------------------------------------------------------- Thu Aug 13 12:27:12 UTC 2015 - mrueckert@suse.de - split out the extension building in another spec file, so we can build for multiple postgresql versions. ------------------------------------------------------------------- Thu Aug 13 11:54:21 UTC 2015 - mrueckert@suse.de - update to version 3.4.3 - Fix "cannot find xlog functions" error in pgpool-recovery (Muhammad Usama) The argument data type of PostgreSQL's pg_xlogfile_name() function has been changed from text to pg_lsn since PostgreSQL 9.4. And pgpool-recovery was still trying to locate the function by old signature. - Fix problem with memory cache invalidation (Muhammad Usama) The internal buffer for storing the table oids needs to be homed in long living memory context as it has to survive throughout the child life. See [pgpool-general: 3643] for details. - Pass empty string parameters in failover command when pgpool-II does not have a value for any particular parameter (Muhammad Usama) Instead of omitting the values for the parameters when pgpool-II does not have any value for a particular parameter, it now passes an empty string to the failover command. This makes sure that failover script will always receive the exact number of expected parameters. - pgpool-II should use the local definition of snprintf functions only if they are not provided by OS (Muhammad Usama) - Add debug info to show how much shared memory is allocated (Tatsuo Ishii) - Downgrading the error level for EOF on backend connection for main process (Muhammad Usama) Throwing the FATAL error when EOF is encountered with backend is very harsh in pgpool main process and can cause undesirable behavior. Downgrading it to simple ERROR. - doc: Clarify load balancing condition (Tatsuo Ishii) - doc: Clarify description of pcp_promote_node (Tatsuo Ishii) It does not actually promote PostgreSQL standby. - doc: Fix outdated limitation description about load balancing using JDBC driver (Tatsuo Ishii) Even if autocommit is false, load balancing is possible in certain conditions. - Fix a misplaced code which makes a log code unreachable and rephrase the log message (Muhammad Usama) - Fix a problem in elog.c when forwarding a message to frontend clients (Muhammad Usama) Error while forwarding the message to the frontend client can potentially cause the infinite recursion and terminate the child with ERRORDATA_STACK_SIZE exceeded error. Fix is to check the recursion depth of send_message_to_frontend() function and pulling the plug if it is more than two levels deep. - Fix "select() system call interrupted" error (Tatsuo Ishii) The health check process complains above and then: ERROR: failed to make persistent db connection DETAIL: connection to host:"x.x.x.x:5432 failed However, the healthchek triggers neither fail over nor retrying. So, except the annoying messages above, everything goes well. This could occur more easily if 1) num_init_children is big and 2) pgpool children go into idle state (no query arrived from client for child_life_time seconds). Original bug report is [pgpool-general: 3756] Connection Interrupted. Patch created by Tatsuo Ishii. Enhancement from Usama. - Fix the case when user table includes spaces (Tatsuo Ishii) For example if table names including spaces are used, pgpool-II cannot be handled correctly by the internal functions which access system catalogs and it results in SQL errors. Solution is, to always use delimited identifier. Per bug #136. http://www.pgpool.net/mantisbt/view.php?id=136 Also see [pgpool-general: 3818]. - Allow to use in-memory query cache size more than 4GB (Tatsuo Ishii) This should have been allowed since in memory query cache was born. - Do not send a query for checking insert lock in non replication mode with extended query (Tatsuo Ishii) - Save pgpool_status to disk each time when it is changed (Tatsuo Ishii) Previously, pgpool-II saves pgpool_status file when pgpool-II explicitly is going shutdown. This is fine in most cases and it saves slight CPU cycles. But if pgpool-II killed abnormally or the system forces pgpool-II to go down by OOM killer, next pgpool-II restarting could load obsolete status file. ------------------------------------------------------------------- Mon May 11 15:42:17 UTC 2015 - mrueckert@suse.de - update to 3.4.2 - rpm: Fix %tmpfiles_create to not be executed in RHEL/CentOS 6 (Nozomi Anzai) - Fix to reset on_exit call back functions in exec_if_cmd and exec_ping worker processes (Muhammad Usama) exec_if and exec_ping child processes were inheriting the parent exit callback functions which could result in undesired behavior if one of these commands fails. Fixed by adding on_exit_reset() at child start-up in both processes. - Fix to use void * type for receiving return value of thread function (Yugo Nagata) Previously int type was used and this could occur stack buffer overflow. This caused an infinity loop of ping error at bringing up or down VIP. - Fix to set SIGCHLD to SIG_DFL instead of SIG_IGN in watchdog processes (Yugo Nagata) When using waitpid, it isn't necessary to set SIGCHLD to SIG_IGN. Rather, it is harmful, and due to this it was regarded that ping command exited abnormally in error even when this succeeded. - Fix to use waitpid instead of wait in exec_ifconifg (Yugo Nagata) - Remove an unnecessary include directive (Yugo Nagata) - Enlarge POOLCONFIG_MAXDESCLEN to 80 (Tatsuo Ishii) This is used in show pool_status command and limits the length of parameter description. Unfortunately recovery_timeout description is 64 chars, which is 1 byte longer than former definition of the macro. - doc: Update document of condition for load balancig (Yugo Nagata) Load balancing is possible in an explicit transaction block even in replication mode since 3.3.0. - Support SSL certificate chains in the certificate file for incoming frontend connections (Muhammad Usama) - Use to_regclass if available in time stamp rewriting in replication mode (Tatsuo Ishii) - Fix to not emits a fatal error message when clear text password auth is used (Muhammad Usama) The problem was introduced in pgpool-II after inclusion of exception manager. EOF on the frontend connection during client authentication should not be treated as an error when the password authentication method is used. psql disconnects from the server in such case to get the password from the terminal, reconnects and sends the read password to server. - previous session for the same child had exited because of some ERROR. (Muhammad Usama) - Fix a hang when an error occurs in a transaction block with replication mode (Yugo Nagata) When an error occurs at a backend node in a transaction block with replication mode, pgpool-II sends an invalid query to other backends to sync transaction states. However, previously, this was not sent to master node, and pgpool-II was waiting for master's response forever. - Fix a problem with pcp_detach_node about graceful node detach (Muhammad Usama) When graceful node detach is requested gracefully, pcp_detach_node should check if it is allowed to process detach_node command on the particular node before blocking the incoming connections and closing the existing connections. - doc: Update table and flowchart of where a query should be sent to (Yugo Nagata) - rpm: pgpool.spec is required only in RHEL/CentOS 7 (Nozomi Anzai) - Fix a compilation issue about sighandler_t type on BSD variants (Muhammad Usama) - changes from 3.4.1 - RPM: Add to support for memcached. (Tatsuo Ishii) - Fix number of parameters of pgpool_recovery from 3 to 4. (Tatsuo Ishii) This really should be done before releasing 3.4.0. - test: Allow pgpool_setup to set configuration file directory by setting environment variable PGPOOLDIR (Tatsuo Ishii) - RPM: Rename RPM file (Yugo Nagata) Rename filename to include the RHEL version number like PostgreSQL's official RPM file. (e.g. pgpool-II-pg93-3.4.0-2pgdg.rhel6.x86_64.rpm) - Fix node id range check bug in trigger_failover_command(). (Tatsuo Ishii) The node id should be lower than NUM_BACKENDS. Probably harmless since callers never pass node ids greater or equal to NUM_BACKENDS. - Fix occasional stuck that occures when a NOTIFY message is sent from a backend. (Muhammad Usama) The issue happens in master slave mode with load balancing when the client is doing extended query messaging. per bug #116 http://www.pgpool.net/mantisbt/view.php?id=116 - test: Fix failover script of pgpool_setup to use absolute path to the database cluster (Tatsuo Ishii) - test: Reorganize port numbers assigned in pgpool_setup (Tatsuo Ishii) Assign base port (11000 by default) to pgpool, base port + 1 to pcp, port + 2 to PostgreSQL node0, port + 3 to PostgreSQL node1 and so on. - Fix a bug that pgpool-II 3.4 can't cancel query (Muhammad Usama) - test: Add regression test for cancelling query (Muhammad Usama) - Fix to not use non-thread-safe APIs in thread functions (Muhammad Usama) pgpool-II has borrowed the Memory and Exception managers from PostgreSQL which never utilizes the threads so its APIs are not thread safe. Previously, those API functions which manipulate the global variables in thread functions, and it caused to undefined behavior or a segmentation fault. Especially, the main process could die silently. - test: Add memory leak regression test (Tatsuo Ishii) - Fix a memory leak with long-lived connections (Muhammad Usama) Problem reporeted in [pgpool-general: 3325]. - Change the log level of "Frontend Terminated" message to DEBUG1 from LOG (Muhammad Usama) - Fix ill signal befavior of SIGCHLD in exec_ifconfig() (Tatsuo Ishii) For some reason SIGCHLD was set to SIG_IGN *and* tries to wait child process which always fails because SIGCHLD is never delivered. Due to this "ifconfig up" fails when switching to watchdog master. See "[pgpool-general: 3310] for more details. - Allow $_IP_$ having address prefix in if_up_cmd and if_down_cmd (Muhammad Usama) Previously, it is assumed that "$_IP_$" keyword will always have a white space at the end, and when "$_IP_$" has address prefix (e.g. $_IP_$/24), this prefix was ignored. Per bug #122. http://www.pgpool.net/mantisbt/view.php?id=122 - Fix to not send signal to init process (Muhammad Usama) This is more of a guard against a situation where a crash of the pgpool main process can make the child processes to send the signal to system's init process. Per bug #119. http://www.pgpool.net/mantisbt/view.php?id=119 - RPM: Fix "error: Installed (but unpackaged) file(s) found" while creating RPMs for PostgreSQL 9.4 (Tatsuo Ishii) - Allow "show pool_nodes" to print node ids having more than one digits (Muhammad Usama) Problem reported in [pgpool-general: 3374]. - Prevent "WARNING: failed to execute regex matching, pattern is NULL" message that could happen when application name is not set in the old clients (Tatsuo Ishii) - Fix pgpool main process to shutdown in case of child process start-up failures (Muhammad Usama) Problem rported in [pgpool-general: 3358]. - Fix a segmentation fault that could happen in child process error (Muhammad Usama) Problem reported in [pgpool-general: 3377]. - Fix occasional failure in regression test '004.watchdog' (Yugo Nagata) The patch provided by uehara in bug #127. http://www.pgpool.net/mantisbt/view.php?id=127 - Fix client connection leak (Tatsuo Ishii) Since 3.4.0 pgpool-II child does not close the connection to client when it ends the session. This leads to serious "CLOSE_WAIT" flood, which makes pgpool-II unusable since no new connection from clients accepted. Problem reported by Pablo Sanchez in [pgpool-general: 3394]. - Restore SIGCHLD handler to its original after executing if_up/down_cmd (Yugo Nagata) Previously SIGCHLD was set to SIGIGN always after if_up/down_cmd. This led to a incorrect error handling of ping or other commands execution, and warning messages were output to log even when the command exited successfully. - RPM: Add pgpool.service for systemd in RHEL/CentOS 7 (Nozomi Anzai) - Fix process termination after several reload with enabled_pool_hba (Muhammad Usama) - Tighten up checking for app_name_redirect_preference_list and database_redirect_preference_list (Tatsuo Ishii) Before empty application name or database name or invalid DB node number were silently accepted. Now they are strictly checked and let raise fatal error when starting up. Problem reported in [pgpool-general-jp: 1337]. - RPM: Change to use systemd if it is available (Nozomi Anzai) - Fix the behavior of "client_min_messages" configuration parameter (Muhammad Usama) This parameter controls the minimum message levels to be sent to the frontend. Previously, regardless of the value of the parameter all the messages with severity less than NOTICE level were not being forwarded to the client. - update pgpooladmin to 3.4.1 - Fix installer to allow to choose 3.4 version (Tatsuo Ishii) - dropped pgpool-II-3.4.0_build_failed_with_memcached.patch - replaced pgpool-II-3.4.0_64bit.patch with pgpool-II-3.4.2_64bit_issue.patch ------------------------------------------------------------------- Mon Feb 23 13:52:11 UTC 2015 - mrueckert@suse.de - add buildrequires on postgresqlXY-server for directory ownership ------------------------------------------------------------------- Tue Dec 2 01:42:18 UTC 2014 - mrueckert@suse.de - make sure also pcp is only bound to localhost by default ------------------------------------------------------------------- Mon Dec 1 21:36:21 UTC 2014 - mrueckert@suse.de - forgot the systemd requires ------------------------------------------------------------------- Mon Dec 1 15:01:18 UTC 2014 - mrueckert@suse.de - add reload support to the systemd file - set restart=always for the service ------------------------------------------------------------------- Mon Dec 1 13:59:27 UTC 2014 - mrueckert@suse.de - run as restricted user pgpool:pgpool also with systemd ------------------------------------------------------------------- Fri Nov 28 18:35:10 UTC 2014 - mrueckert@suse.de - Update to 3.4.0 see /usr/share/doc/packges/pgpool-II/NEWS for the details - pgpool-II-3.4.0_64bit.patch fixes 2 64bit build issues: missing header file for postgresql function and some weird data type handling with pointers and integers - Added pgpool-II-3.4.0_build_failed_with_memcached.patch: pulled from git: fixes issue with libmemcached on newer distros - clean up - install pam file - cleaned up duplicated documentation files - add systemd support ------------------------------------------------------------------- Wed Jul 23 17:15:51 UTC 2014 - darin@darins.net - Add libmemcache support for openSUSE ------------------------------------------------------------------- Mon Jun 2 16:55:13 UTC 2014 - darin@darins.net - Update to 3.3.3 see /usr/share/doc/packges/pgpool-II/NEWS for the details - Update pgpoolAdmin to 3.3.1 - Build against postgresql 9.3 - spec cleanup ------------------------------------------------------------------- Tue Aug 27 22:24:44 UTC 2013 - mrueckert@suse.de - remove -o from the useradd cmdline to fix installation on 12.3 ------------------------------------------------------------------- Sat Dec 22 16:38:41 UTC 2012 - mrueckert@suse.de - added the web frontend as a seperate subpackage pgpoolAdmin ------------------------------------------------------------------- Wed Dec 19 23:19:07 UTC 2012 - mrueckert@suse.de - update to 3.2.1 see /usr/share/doc/packges/pgpool-II/NEWS for the details - use postgresql 9.2 to build against ------------------------------------------------------------------- Thu Nov 3 18:18:29 UTC 2011 - mrueckert@suse.de - reworked the pgpool-II_conf.patch: 1. reverted most values back to normal 2. patch also the other example config files 3. re-add the chunk to patch pool.h ------------------------------------------------------------------- Thu Nov 3 17:48:32 UTC 2011 - mrueckert@suse.de - re-enable the building of the extensions ------------------------------------------------------------------- Thu Nov 3 17:40:46 UTC 2011 - mrueckert@suse.de - put preamble order back to the old way - drop the blocker for post-build-checks ------------------------------------------------------------------- Wed Sep 14 10:28:18 UTC 2011 - eastman@edss.ee - update to 3.1 * Incompatible changes - Change the lock method of insert_lock. The previous insert_lock uses row locking against the sequence relation, but the current one uses row locking against pgpool_catalog.insert_lock table. The reason is that PostgreSQL core developers decided to disallow row locking against the sequence relation to avoid an internal error which it leads. So creating insert_lock table in all databases which are accessed via pgpool-II beforehand is required. If does not exist insert_lock table, pgpool-II locks the insert target table. This behavior is same as pgpool-II 2.2 and 2.3 series. If you want to use insert_lock which is compatible with older releases, you can specify lock method by configure options: --enable-sequence-lock, --enable-table-lock(Kitagawa) - Deprecate backend_socket_dir. Instead, if backend_hostname starts with '/' it is regarded the as path to Unix domain. If backend_hostname is left empty, then default Unix domain path(/tmp) is used. This follows the convention of libpq interface. Patch contributed by Jehan-Guillaume (ioguix) de Rorthais. - Now "pgpool_walrecrunning()" was not used. pgpool-II used to consider the node that is promoted a primary node using the function. Now, pgpool-II waits for completing of the promotion to primary node because it did not work as we intended. But we still have a problem that pgpool-II waits while recovery_timeout, when there is no primary node(Kitagawa) - Add node_id to each PostgreSQL DB node info in the output of show pool_nodes(Jean-Paul Argudo) - Change the handling of sequence functions(nextval, setval) so that they completely obey setting of black/white_function_list. They were always handled as write functions before(Kitagawa) * New features - Add syslog support. Patch contributed by Gilles Darold. Review and editing by Guillaume Lelarge. - Adapt application_name introduced in PostgreSQL 9.0. When reusing connection, send application_name in the startup packet to backend and send parameter status to frontend(Tatsuo) - Add relcache_expire directive to control the expiration of the internal system catalog cache. ALTER TABLE might make these cache values obsoleted and the new directive will make the risk lower(Tatsuo). - Add follow_master_command directive. This directive specifies a command to run in master/slave streaming replication only after a master failover. Patch contributed by Gilles Darold. - Add pcp_promote_node command. This command promotes a new master node to pgpool-II. This can use in master/slave streaming replication only. Patch contributed by Gilles Darold. - Add pcp_pool_status command which produces similar output of show pool_status. Also C API for this command is added. Patch contributed by Jehan-Guillaume (ioguix) de Rorthais. - Add new per backend directive "backend_flag". This controls per backend behavior. Currently "ALLOW_TO_FAILOVER" or "DISALLOW_TO_FAILOVER" are allowed(Tatsuo) - Add health_check_password directive(Nicolas Thauvin) - Add sr_check_period, sr_check_user and sr_check_password directives. These are used for streaming replication delay checking and determining primary node(Tatsuo) - Add --username(or -u) option to pg_md5 command. This allows to manage users which do not have UNIX accounts. Japanese document change by Tatsuo Ishii(Nicolas Thauvin) - Add pgpool_adm functions to pgpool_adm/. These are user-defined functions written in C language which work like pcp commands (Jehan-Guillaume (ioguix) de Rorthais) - Add Simplified Chinese version of documents(Huang Jian, Sun Peng) - Add SQL files to uninstall functions to sql/(Nicolas Thauvin) - In master/slave mode, SELECTs to unlogged table execute only on master/primary(Kitagawa) * Bug fixes - Fix bug which cannot use the cursors of JDBC driver on standby node. The transaction commands come to be sent to all nodes by this fix in master/slave mode(Kitagawa) - Fix bug with the handling of empty queries. The empty queries come to be handled the same as SELECT queries. This fix allows load-balance after the empty query(Kitagawa) - Fix insert_lock so that it works correctly even if the column definition such as "DEFAULT nextval(('"x_seq"'::text)::regclass)" (Kitagawa) - Fix pcp_attach_node command so that it emits error message while doing failover(Kitagawa) - Fix log message which is emitted when pgpool-II cannot parse the query in the extended query protocol so that it shows the query (Kitagawa) - Fix description about backend_weight inpgpool-II manual. It can be changed by reloading pgpool.conf(Tatsuo) - Fix and enhance wording in English tutorial document. Fix suggested by Huang Jian(Tatsuo) - Fix bug which does not update the node status when reattaching the node in raw mode(Guillaume Lelarge) - Fix incorrect calculation of the replication delay in streaming replication mode(Tatsuo) - Replace wrong function name "notice_backend_error" with correct one "degenerate_backend_set" in the failover log message(Tatsuo) - Remove unnecessary logging at the end of pgpool.conf parsing(Tatsuo) - Fix possible crash of pgpool/worker child after attaching new backend. Fix suggested by Gurjeet Singh(Tatsuo) - Fix bug that SELECTs which have subquery with FOR SHARE/UPDATE clause are sent to slave/standby(Tatsuo) - Fix bug which rewriting timestamp of default value fails in PREPARE statements. This used to work but was broken in 3.0(Kitagawa) - Fix fail to compile pcp commands on the environment without getopt_long()(Tatsuo) - Fix crash of pgpool child when frontend connects if in raw mode, enable_hba is off and more than 2 backends(Kitagawa) - Fix some memory leaks(Kitagawa) * Enhancements - Enhance online recovery in streaming replication mode. Now restarting pgpool-II children is avoided when recovery finished. So existing sessions can be continued while doing online recovery(Tatsuo) - pcp_attach_node does not diconnect existing sessions in streaming replication mode. In other mode, pcp_attache_node still disconnects existing sessions(Tatsuo). - Import PostgreSQL 9.0 parser. This allows to use CREATE INDEX with implicit index name, which is new in 9.0. Patch contributed by Akio Ishida. - Allow to use regular expressions in black and white function list. Patch contributed by Gilles Darold. Patch reviewed by Guillaume Lelarge. - Reorganize pgpool.conf sample files so that they are easier to read (Guillaume Lelarge) - Add <a name="..."> tags into all parameters in the pgpool-II user manual(Haruka Takatsuka) - Enhance online recovery documents in streaming replication(Tatsuo) - Change the function to check the replication delay in streaming replication mode. Currently, pgpool uses pg_last_xlog_replay_location() instead of pg_last_xlog_receive_location(). Fix suggested by Anton Yuzhaninov (Tatsuo) - Allow time stamp rewriting to work with arbitrary expression in default value of a column. Before we detected anything including now() then simply replaced it to now(). This will lead to wrong rewriting of default value. for example, timezone('utc'::text, now()). Note that, however, this only adopts to simple queries. Extended protocols(for example Java, PHP PDO) or SQL "PREPARE" still remain same(Tatsuo) - Enhance the error message which is emitted when failed to check replication delay(Nicolas Thauvin) - Change error message "do_md5: read_password_packet failed" into debug level(Kitagawa) - Allow to compile pgpool-regclass() against PostgreSQL 9.1(Tatsuo) - Update and sync pgpool-II manuals of English version and Japanese version(Tatsuo) - rewritten patches for 3.1: old name: pgpool2-debian-config.patch new name: pgpool-II_conf.patch ------------------------------------------------------------------- Fri Mar 18 15:39:36 UTC 2011 - mrueckert@suse.de - simplify building of the pgsql extensions. ------------------------------------------------------------------- Thu Mar 17 22:58:40 UTC 2011 - mrueckert@suse.de - added pgpool2-debian-config.patch: (taken from ubuntu) patch is slightly modified to use /var/run/pgpool - move binaries to _sbindir - added init script and sysconfig file - create empty pool_password file ------------------------------------------------------------------- Thu Mar 17 22:34:19 UTC 2011 - mrueckert@suse.de - create an user + group and tighten up the permissions on the config to root:pgpool - build extensions with debug symbols - dont move the sample config files. just copy them. ------------------------------------------------------------------- Thu Mar 17 22:09:57 UTC 2011 - mrueckert@suse.de - build and package the pgsql extensions shipped in pgpool - split out the shared library - install config in /etc/pgpool-II ------------------------------------------------------------------- Thu Mar 17 15:44:53 UTC 2011 - mrueckert@suse.de - update to version 3.0.3 - Now installing C function "pgpool-walrecrunning()" is recommended if you plan to use streaming replication mode. This is necessary for better use of online recovery in the mode. Also new variable "%P" can be used in the online recovery script. If you do not install the function, these functionalities cannot be used(Tatsuo). - In raw mode if there's only one DB node and if a problem arises with the DB node, it will be brought to down status. However if the DB node goes into good condition again, you can use the DB node without restarting pgpool. This change has been included in 3.0, but did not work(Tatsuo, Kitagawa) - Fix non portable code in password authentication. Bug report from a FreeBSD user(Tatsuo) - Fix bug that insert_lock locks all rows in user table (Tatsuo, Kitagawa) - Fix bug with password authentication. If user name is 32 bytes long, pgpool child segfaults.(Tatsuo) - Fix bug with md5 authentication. If raw mode or number of backend is 1, pgpool child segfaults. Patch contributed by Rob Shepherd(Tatsuo) - Fix long standing bug with timestamp rewriting against array and complex types. Patch contributed by Akio Ishida(Tatsuo) - Fix bug that debug_level directive doesn't work. Patch contributed by Gilles Darold(Tatsuo) - Fix possible crash of pgpool child while doing failover(Kitagawa) - Fix white/black_function_list so that it works correctly when user calls function with schema name(Tatsuo) - Fix bug that DROP DATABASE fails by connection cache(Kitagawa) - Fix bug that failover fails in raw mode(Kitagawa) - Fix possible termination of pgpool child when both simple query protocol and extended query protocol are used in one session (Kitagawa) - Fix possible hang up when an error occurs while using extended query protocol(Kitagawa) - Fix pgpool-regclass() so that it doesn't use PG_TRY/CATCH. It appeared that using PG_TRY/CATCH is not safe, sometimes backend dies with PANIC: ERRORDATA_STACK_SIZE exceeded.(Tatsuo) - Fix bug that select query isn't sent to master node when it meets the following conditions(Kitagawa) - in MASTER/SLAVE mode - use extended query protocol - started transaction explicitly - after write queries - Fix bug with load_balance that JDBC driver sends BEGIN to master node many times(Kitagawa) - Fix pool_status so that failback_command and fail_over_on_backend_error show correct values(Kitagawa) - Remove parameters from pool_status: recovery_password, system_db_password(Kitagawa) - Fix online recovery problem in the streaming replication mode(Tatsuo). Consider following scenario. Suppose node 0 is the initial primary server and 1 is the initial standby server. 1) Node 0 going down and node 1 promotes to new primary. 2) Recover node 0 as new standby. 3) pgpool-II assumes that node 0 is the new primary. This problem happens because pgpool-II regarded unconditionally the youngest node to be the primary. pgpool-II 3.0.3 now checks each node by using pgpool-walrecrunning() to see if it is a actually primary or not and is able to avoid the problem and regards node as standby correctly. Also you can use new variable "%P" to be used in the recovery script. If you do not install the function, the above problem is not resolved. - Fix backend complaining "unexpected EOF on client connection" while doing failover in streaming replication mode(Tatsuo) - Rewrite and review english document(Marc Cousin, Gleu) - Emit log if particular backend is down status while reading the status file(Tatsuo) ------------------------------------------------------------------- Thu Nov 18 20:57:09 UTC 2010 - bitshuffler@opensuse.org - Initial package.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor