2.3.3 (tomiteboshi) 2010/04/23 * Version 2.3.3 This version fixes various bugs since 2.3.2.2. * Incompatible changes - Please note that this version of pgpool consumes more shared memory than before. If you encounter problems when starting up pgpool, please look into pgpool log. If you find messages something like "could not create shared memory segment: Cannot allocate memory", please increase the shared memory on your system. - Now parallel mode requires replication mode or load balance mode turned on. parallel mode without replication mode or load balance mode turned on has been broken since pgpool-II was born anyway(Kitagawa) - Change default value for insert_lock to false since there's no point in turning this on in master/slave mode. Fix suggested by Fujii Masao(Tatsuo) * Newly added documents - README.online-recovery, which is an internal document of online recovery, added(Tatsuo) * Bug fixes - Fix long standing bug since pgpool-II 1.0 which causes segfault of pgpool child process. This was caused by miscalculation of shmem size in pgpool parent. Bug analysis by Kitagawa patch created by Tatsuo - Add restriction for parallel mode(Kitagawa) - The Natural Join is not supported - The USING CLAUSE is converted to ON CLAUSE by query rewrite process - Fix possible crash during rewriting JOIN syntax that have USING in parallel query mode(Kitagawa) This fix is supporting such as following JOIN syntax. example: - SELECT * FROM a JOIN b USING (aid) JOIN c USING (cid); - SELECT * FROM a JOIN b USING (aid) JOIN c USING (cid) JOIN d USING (did) - Fix parallel query so that it can parse INSERT statements that have current_time before a partitioning key column(Kitagawa) - Fix SimpleForwardToBackend() so that pgpool doesn't keep waiting for reply from a backend, when clients using the extended query protocol cause a command error such as bind error. This bug occur in master/slave, raw, and connection pool mode. This fix is, sending SYNC message to recover error after command error(Kitagawa) - Fix SIGINT/SIGQUIT is ignored if pgpool child is in select(). In this case pgpool retries select() thus the signal is ignored(Tatsuo) - Fix connect_inet_domain_socket_by_port/ connect_unix_domain_socket_by_port so that they check if SIGTERM/SIGINT/SIGQUIT signal has been delivered. Per bug report from Daniel Codina(Tatsuo) - Fix possible crash during creating "kind mismatch" error message. This used to work but was broken in 2.3.2(Tatsuo) - Fix bug with healh checking. If a network problem such as unplugged wire happens while calling connect(), health checking does not work since connect_unix_domain_socket()/connect_inet_domain_socket() do retry if connect() is interrupted by ALARM signal. Added new retry argument which controls the retrying behavior to those functions. Per bug report and problem analysis by Daniel Codina(Tatsuo) - Fix enbug in 2.3.2.2 with time stamp rewriting in SimpleForwardToBackend. Per bug report from Bugtrack #1010771. Report from Peter Pramberge(Tatsuo) - Fix rewriting "*" in paralell query. Patch conributed by sho-san(Kitagawa) - Fix connect_inet_domain_socket_by_port() so that it print out error message by using hstrerror(), rather than strerror()(Tatsuo) 2.3.2.2 (tomiteboshi) 2010/02/22 * Version 2.3.2.2 This version fixes various bug in 2.3.x. - When rewriting timestamp in extended query, it allocated less than what it actually needed. This causes random problematic behavior, typically "message: invalid string in message" error in backend(Tatsuo). - In extended query, if one of parameters contains NULL, ppool crashes(Tatsuo). - If in previous status file all nodes were marked down status, it is regarded that this file is bogus. This will prevent "all node down" syndrome(Tatsuo). 2.3.2.1 (tomiteboshi) 2010/02/11 * Version 2.3.2.1 This version fixes bug in 2.3.x. It is identfied that pgpool-II 2.3.x has a problem with erroneous query processing(Akio Ishida). 2.3.2 (tomiteboshi) 2010/02/07 * Version 2.3.2 This version includes various fixes for bugs in 2.3.1 or before. All 2.3.x users are encouraged to upgrade to 2.3.2 as soon as possible. Also this version enables long awaited SSL support and large object replication support. * Enhancements - SSL support(Sean Finney) - Large object replication support. You need PostgreSQL 8.1 or later, however(Tatsuo) - Emit statement log when error or notice message comes from query parsing process. This is usefull because PostgreSQL does not log particular statement if the error was detected *before* raw parser get executed. This typlically happens when encoding error was found(Tatsuo) - Display original query to log if kind mismatch error was caused by DEALLOCATE(Tatsuo) - While health checking and recovery use postgres database if possible. If postgres database does not exist, use template1 as it stands now. While connecting template1, certain commands, for example DROP DATABASE cannot used. Using postgres database allows to use these commands while recovery(Tatsuo) * Bug fixes - Fix errors in timestamp rewriting which occasionaly cause broken packet sentto slave nodes(Tatsuo) - Fix errors when timestamp rewriting is used with V2 protocol(Toshihiro Kitagawa) - Propagate Bind, Describe and Close messages to only master node if running in master/slave and in transaction (Tatsuo) - Fix do_child() so that check_stop_request() exits immediately when smart shutdown signal has been sent. This has been used to work in 2.2(Toshihiro Kitagawa) - Fix ProcessFrontendResponse not to accept invalid frotend packet(Xavier Noguer) - Use %dz for sizeof in fprintf for more portability(Tatsuo) - Fix compiler warnings(Tatsuo) - Do not force replication of DEALLOCATE if operated in master/slave mode. Now that pgpool do not execute PARSE in all nodes, this was pointless and caused problem (kind mismatch when executing DEALLOCATE)(Tatuso) 2.3.1 (tomiteboshi) 2009/12/18 * Version 2.3.1 This version includes various fixes for bugs in 2.3 or before. All 2.3 users are encouraged to upgrade to 2.3.1 as soon as possible. * Bug fixes - If all of following conditions met, incorrect data is written to DB(Tatsuo) - pgpool is running in replication mode - pgpool is running on 64bit OS - INSERT or UPDATE are used which explicitly include now(), - CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME. Or the target - Table's default value use above functions - The SQL statement inclludes out of 32bit integer value(-2147483648 to 2147483647 in decimal) Example SQL: INSERT INTO t1(id, regdate) VALUES(98887776655, NOW()); - Fix crush in case of more than 18 DB nodes are used(Tatsuo) - Enhance kind mismatch error message. If kind is ERROR or NOTICE, the error or notice message from PostgreSQL will be printed(Tatsuo) 2.3 (tomiteboshi) 2009/12/07 * Version 2.3 This version enhances replication, especially CURRENT_TIMESTAMP, CURRENT_DATE, now() etc. now can be properly replicated. Also perforance of replication when num_init_children == 1 is enhanced. Pgpool-II now records the status of down nodes, and remember when it restarts to ensure that keep the node status as before. Also some logs are enhanced and more fine fail over controls are added. Please note that pgpool-II 2.3 includes all of enhancements and fixes of pgpool-II 2.2.1 to 2.2.6. * Incompatibilities from 2.2.x - pgpool_status file is created under logdir. So you need to give write permission to the directory so that pgpool-II can read/write pgpool_status file. * Enhancements - Enable proper replication of results of temporal functions (CURRENT_TIMESTAMP, CURRENT_DATE, now() etc.). Now applications can execute INSERT/UPDATE tables which include defaut values using those temporal functions. There are small limitations. See restriction sections of docs for more details (Akio Ishida) - Use PostgreSQL 8.4's SQL parser(Akio Ishida) - Enhance the performance 20% to 100% of replication when num_init_children == 1(Tatsuo) - Add new directive log_per_node_statement which is similar to log_statement except that prints info for each DB node to make it easier which query is sent to which DB node(Tatsuo) - Add new directive fail_over_on_backend_error to control the behaviro of fail over(Tatsuo) - Record DB node status and remember when pgpool-II restarts(Tatsuo) - EXPLAIN and EXPLAIN ANALYZE for SELECT query are now load balanced. This will prevent unwanted kind mismatch errors when EXPLAIN produces slightly different plan(Tatsuo) - Enhance CSS of pgpool-ja.html(Tatsuo) - Add sample configuration file for replication mode and master/slave mode(Tatsuo) - Add test for temporal data(Akio Ishida) 2.2.7 (urukiboshi) 2010/04/15 * Version 2.2.7 This version enhances displaying error messages when kind mismatch error occurs. Also it includes various fixes for bugs in 2.2.6 or before as usual. * Bug fixes - Fix occasional hangup in extend protocol + master/slave mode, row mode or connection pool mode. Back patch from 2.3 tree(Kitagawa) - Fix long standing bug since pgpool-II 1.0 which causes segfault of pgpool child process. This was caused by miscalculation of shmem size in pgpool parent. Bug analysis by Kitagawa patch created by Tatsuo - Send Parse, Bind, Describe and Close message to only master node if operated in explicit transaction and master/slave mode(Tatsuo). - Emit a log when postmaster goes down(Tatsuo) - Fix memory leak in make_persistent_db_connection(Xavier Noguer) - Do not force replication of DEALLOCATE if operated in master/slave mode. Now that pgpool do not execute PARSE in all nodes, this was pointless and caused problem (kind mismatch when executing DEALLOCATE) (Tatsuo) - Fix crash with show pool_status when there many (more than 18) DB nodes(Tatsuo) - Enhance "kind mismatch" message. If kind is ERROR or NOTICE, print the ERROR/NOTICE message to help users to find what's going on(Tatsuo) 2.2.6 (urukiboshi) 2009/12/01 * Version 2.2.6 This version enhances handling of backend weight. Also it allows to use temp tables in master/slave mode. It includes various fixes for bugs in 2.2.5 or before as usual. * Bug fixes - Do not allow to load balance DECLARE, CLOSE, FETCH and MOVE. If data gets updated and CLOSE issued after transaction commit(i.e. holdbale cursor), this will cause data inconsistency since CLOSE is executed one of the severs, rather than all(Tatsuo) - In master/slave mode, execute Parse message on only master node. In previous versions Parse executed on all nodes, which grabbed unneccessary lock(Tatsuo) - Remove init script from all runlevels before uninstall(Devrim) - Fix pgpoo.spec(Devrim) - Do not execute REINDEX DATABASE or SYSTEM, CREATE/DROP TABLE SPACE inside a transaction block(Tatsuo) * Enhancements - Allow to change weight by reloading pgool.conf. This will take effect for next client sessions(Tatsuo) - Reply with usefull error messages, rather than "server closed the connection unexpectedly" when authentication fails(Glyn Astill) - Add info to logs when writing to sockets falis to know if it was for backend or frontend(Tatsuo) - Do not complain when writing to socket of frontend fails(Tatsuo) - Allow to use temp tables in master/slave mode. INSERT/UPDATE/DELETE will automatically be sent to master only. Still SELECT you need to add /*NO LOAD BALANCE*/ comment(Tatsuo) - Add temp table test to test/jdbc(Tatsuo) 2.2.5 (urukiboshi) 2009/10/4 * Version 2.2.5 This version fixes various bugs in 2.2.4 or before. * Bug fixes - Fix connection_count_down(). It decrements the connection counter too much in some corner cases and causes online recover never completes(Tatsuo) - Detect frontend exiting while waiting for commands complete in other cases such as internal locks are issued and Parse (Tatsuo) - Fix inifinit loop in reset_backend(Xavier Noguer, Tatsuo) - Fix Parse() to print actual query when it detects kind mismatch error(Tatsuo) - Document enhancements(Tatsuo) 2.2.4 (urukiboshi) 2009/8/24 * Version 2.2.4 This version fixes various bugs in 2.2.3 or before. * Bug fixes - Fix possible bug introduced in pgpool-II 2.2.2. Load balance control variables may remain not be restored and subsequent DML/DDL call might sent to only master node(Tatsuo) - Send NOTICE message to frontend periodically if V2 protocol is used. This is ifdef out since it affectes visible change to applications. 2.2.3 unconditionaly sends param packet to client even it uses version 2 protocol, which is apparentlt wrong. Also tweak checking period from 1 second to 30 seconds since 1 second seems too aggressive(Tatsuo) - Block signals before forking children rather after. Otherwise parent will be killed by failover signal if it receives a signal before establishing signal handler(Tatsuo) - Remove unnecessary spaces and tabs at the end of line(Jun Kuriyama) 2.2.3 (urukiboshi) 2009/8/11 * Version 2.2.3 This version fixes various bugs in 2.2.2 or before. * Bug fixes - Fix child process death if one of backends is not available(Tatsuo). - Fix various parallel query bugs(Yoshiharu Mori) - Fix message corruption for kid mismatch error(Akio Ishida) - Now stetmemt_time works(Tatsuo) - Enhance health checking to detect postmaster stopping by SIGSTOP(Tatsuo) - Detect frontend abnormal exiting while waiting for reply from backend. This only works with V3 protocol(Tatsuo) - Do not start internal transaction if command is CLUSTER without arguments(Tatsuo) - Fix bug with COPY FROM in that backend process remains after COPY failed(Tatsuo) * Enhancements - Show last query for extended protocol(Akio Ishida) - Allow to compile sql/pgpool-recovery/pgpool-recovery.c with PostgreSQL 8.4(Tatsuo) 2.2.2 (urukiboshi) 2009/5/5 * Version 2.2.2 This version fixes various bugs in 2.2.1 or before. Please note that an importan fix is made to avoid data incositency risk, which could happen when client does not exit gracely(without sending "X" packet) while pgpool is trying to send data to it. This could happen with all version of pgpool-II. * Bug fixes - Ignore write error on frontend connection. This is needed to continue processing with backend, otherwise we risk data incositency(Tatsuo) - Fix bug introduced in 2.2.1 (In master slave mode, sometimes DEALLOCATE fails). If prepared statement reused, pgpool hangs(Toshihiro) - Fix pgpool crash when SQL command PREPARE and protocol level EXECUTE are mixed. The bug was introduced in 2.2(Tatsuo) - Avoid "unexpected EOF on client connection" error in PostgreSQL when reset query fails(Tatsuo) 2.2.1 (urukiboshi) 2009/4/25 * Version 2.2.1 This version fixes various bugs in 2.2. * Bug fixes - In master slave mode, sometimes DEALLOCATE fails. This is caused by that the first PREPARE was not executed on the slave(Toshihiro) - Update pgpool.spec along with related files(Devrim) - Fix inser_lock so that it is ignored when protocol version is 2(Tatsuo) - Remove excessive log messages regarding parameter change notice(Tatsuo) - Add missing files to doc(Tatsuo) 2.2 (urukiboshi) 2009/2/28 * Version 2.2 This version enhances SERIAL data type handling and on line recovery. Also an important bug, serializable transactions could cause data inconsistency among DB nodes, is fixed. Query cancelation, which never worked since pgpool-II was born, is finally fixed. * New features/enhancements - With insert_lock, now a table is locked only if it has SERIAL data type and now the default value for insert_lock is true(Tatsuo) - Start internal transaction other than INSERT, UPDATE, DELETE and SELECT to keep node consistency(Tatsuo) - Add client_idle_limit_in_recovery directive. This will prevent 2nd stage of on line recovery from not going forward by idle clients sitting forever(Tatsuo) - Add pid_file_name directive which specifies a path to the file containing pgpool process id. "logdir" is no more used(Tatsuo) - Allow to load balance DECLARE, FETCH and CLOSE(Tatsuo) - Add -d option to pcp commands(Jun Kuriyama) - Enahnce kind mismatch error message to include originarl query string(Tatsuo) * Bug fixes - Close all file descriptors when running in daemon mode. Otherwise we inherit sockets from apache when it's started by pgpoolAdmin. This results in that port 80 is occupied for example. Patch provided by Akio Ishida. Also add chdir("/"). This is always good for daemon programs(Tatsuo) - Allow MD5 authentication in raw mode as stated in docs(Tatsuo) - Check transaction serialization failure error in serializable mode and abort all nodes if so. Otherwise we allow data inconsistency among DB nodes(Tatsuo). See following scenario: (M:master, S:slave) M:S1:BEGIN; M:S2:BEGIN; S:S1:BEGIN; S:S2:BEGIN; M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; M:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; S:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; M:S1:UPDATE t1 SET i = i + 1; S:S1:UPDATE t1 SET i = i + 1; M:S2:UPDATE t1 SET i = i + 1; <-- blocked S:S1:COMMIT; M:S1:COMMIT; M:S2:ERROR: could not serialize access due to concurrent update S:S2:UPDATE t1 SET i = i + 1; <-- success in UPDATE and data becomes inconsistent! - avoid kind mismatch error caused by "SET TRANSACTION ISOLATION LEVEL must be called before any query"(Tatsuo). This could happen in following scenario: M:S1:BEGIN; S:S1:BEGIN; M:S1:SELECT 1; <-- only sent to MASTER M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; M: <-- error S: <-- ok since no previous SELECT is sent. kind mismatch error occurs! - Process status display has extra space on FreeeBSD(Jun Kuriyama) - Fix incorrect kind mismatch detection case. e.g: BEGIN; BEGIN; (Tatsuo) - If PostgreSQL sends lots of DEBUG message, sometimes pgpool complains: 2008-11-08 22:41:53 ERROR: pid 23744: do_command: backend does not return ReadyForQuery. This due to a wrong assumption for the client/server protocol(Tatsuo) - Fix the case when sending an erronous query to abort transaction. It assumed that after sending an error query, always ReadyForQuery came right after that. If some debugging or logging verboseness is set, PostgreSQL might sends NOTICE before ReadyForQuery(Tatsuo) - Query cancelation now works. It never worked since pgpool-II was born(Tatsuo) - Fix online recovery to wait for failback done before allowing to accept connections from clients. It was supposed to work like this but actually was not since the day 0 when online recovery was born. Without the fix there could be potential data inconsistency among DB nodes(Tatsuo) - Fix pgpool-II crash after on line recovery. This happens after the failback process adds a recovered node which has no connection to the node(Tatsuo) - Fix pgpool-II errors when postgresql.conf is reloaded. This was caused by parameter status packet sent asynchronously from backend, which indicates the internal setting of backend has been changed(Tatsuo) * Incompatible changes - Always fail over and restart all children. Before we do restart only if master has not been changed. This is wrong. If we have trouble with network cable or something, TCP/IP stack keeps on retrying for long time and the only way to prevent it is restarting process(Tatsuo) - "logdir" is no more used. Instead use "pid_file_name"(Tatsuo) - Default value for insert_lock is now true(Tatsuo) 2.1 (inamiboshi) 2008/7/25 * Version 2.1 * New feature - Add '%m' format to failover_command and failback_command to obtain new master node ID. (Yoshiyuki) - Add '%m' format to failover_command and failback_command to obtain old master node ID. (Yoshiyuki) - Add new directive "recovery_timeout" to specify recovery timeout in second. (Taiki) - Add optino '-v' to print pgpool version. (Yoshiyuki) * Incompatibility - Restrict pgpool_recovery() and pgpool_remote_start() functions to superusers. (Yoshiyuki) - Do not create a connection pool to standby node in raw mode. (Yoshiyuki) - Remove "replication_timeout" parameter. (Yoshiyuki) - This enabled if replication_strict was false. However, replication_strict was already removed. - Ignore timeout argument of pcp commands. (Taiki) - Do not replicate "COPY TO STDOUT" when replicate_select is false. (Yoshiyuki) * Bug fix ** General - Fix crash when CloseComplete message was received. (Yoshiyuki) - Improve network I/O routine. (Yoshiyuki) - Fix compile errors on Solaris 10. (Yoshiyuki) - Improve log messages of health check and recovery. (Tatsuo) - Change error level of the "failed to read kind from frontend" message from ERROR to LOG. (Yoshiyuki) - Fix failover failure in raw mode. (Taiki) - Fix zombie process bug. (Yoshiyuki) - Fix health_check_timeout to work correctly. (Kenichi Sawada) - Support ps status on FreeBSD. (ISHIDA Akio) - Improve bind(2) failure report. (Jun Kuriyama) - Improve error message when client authentication failed. (Tatsuo) ** Replication - Fix replicate_select to work correctly. (Tatsuo) - Fix a wrong rollback bug with extended query. (Yoshiyuki) - Fix a bug with asynchronous query. (Yoshiyuki) - Fix hint clause handling like /*REPLICATION*/ with extended query. (Yoshiyuki) - Fix crash of "DEALLOCATE ALL". (Yoshiyuki) - Fix hang up when a backend node does immediate shutdown. (Yoshiyuki) - Fix hang up online recovery in high load. (Yoshiyuki) - Fix hang up with extended query protocol when SELECT is failed inside a transaction block. (Yoshiyuki) ** Master Slave - Fix load balancing to work correctly. (Yoshiyuki) - Fix crash if SET, PREPARE or DEALLOCATE is executed inside a transaction block. (Yoshiyuki) ** Parallel query - Fix INSERT failure. (Yoshiharu) - Fix syntax error when a query contains "AS" in FROM clause. (sho) - Fix Hung up when two or more statment was executed in parallel mode (Yoshiharu) - Fix Query rewriting of Join Expression and DISTINCT ON (Yoshiharu) 2.0.1 (hikitsuboshi) 2007/11/21 * Version 2.0.1 * Fix process down with UPDATE or DELETE query.(Yoshiyuki) * Send a syntax query only to a master node if master_slave is true.(Yoshiyuki) 2.0 (hikitsuboshi) 2007/11/16 * Version 2.0 * Incompatibility since pgpool-II 1.x - the default value for ignore_leading_white_space is now true(Yoshiyuki) - replicate_strict is removed. The value is always true(Yoshiyuki) * General - Allow to reload pgpool.conf(Yoshiyuki) - The paraser is now compatible with PostgreSQL 8.3(Yoshiyuki) - Add new directive "failover_command" to specify command when a node is detached(Yoshiyuki) - Add new directive "client_idle_limit" to specify the time out since the last command is arrived from a client(Tatsuo) * Replication - Always start a new transaction even if the query is not in an explicit transaction to enhance the reliabilty of replication(Yoshiyuki) - Enhance the performance of replication for write queries. Now the worst case is 1/2 compared with single DB node regardless the number of DB nodes. Previous release tends to degrade according to the numer of DB nodes(Yoshiyuki) - Add "online recovery" which allows to add a DB node and sync with other DB nodes without stopping the pgpool server(Yoshiyuki) - Abort a transaction if INSERT, UPDATE and DELETE reports different number of result rows(Yoshiyuki) x=# update t set a = a + 1; ERROR: pgpool detected difference of the number of update tuples HINT: check data consistency between master and other db node - If the results from DB nodes do not match, select the possible correct result by "decide by majority". Previous release always trust the result of the master DB node(Yoshiyuki) - Allow load balance in V2 frontend/backend protocol(Yoshiyuki) * Parallel query - Allow "partial replication" to enhance the performance of the parallel query(Yoshiharu) 1.3 (sohiboshi) 2007/10/23 * Version 1.3 * Add new "authentication_timeout" directive, being the default value is 60. (Yoshiyuki) - Maximum time in seconds to complete client authentication. * Reject a connection when startup packet length is greater than 10,000 byte. (Yoshiyuki) * Fix invalid memory access when pgpool processed DEALLOCATE statement. (Yoshiyuki) * Fix hang up in load balance mode. (Yoshiyuki) - This was introduced in V1.2. * Fix segmentation fault in 64-bit environment when query cache is enable. (Yoshiyuki) 1.2.1 (tomoboshi) 2007/09/28 * Version 1.2.1 * Fix deadlock while processing Parse message. (Yoshiyuki) * Fix memory leak in reset_prepared_list(). (Yoshiyuki) * Fix compile error on FreeBSD 4.11. (Yoshiyuki) * SET, PREPARE and DEALLOCATE statements are replicated in master/slave mode. (Yoshiyuki) 1.2 (tomoboshi) 2007/08/01 * Version 1.2 * Add new "replicate_select" directive, being the default value is false. (Yoshiyuki) - If it is true, SELECT query is replicated. This behavior is same as V3.2 or earlier. * Improve signal handling. (Yoshiyuki) - Occasionaly, zombie processes were remained. Or processes were unstable. * Fix hang up when SELECT was error inside a transaction block. The bug was introduced in V3.3. (Yoshiyuki) * Fix PREPARE/EXECUTE handling in master slave mode. (Yoshiyuki) * Fix "kind mismatch error" when deadlock error * Fix hang up and SEGV in extended query protocol when a warning SQL like "SELECT '\'';" executed. (Yoshiyuki) * Fix hang up when postmaster did fast or immediate shutdown. (Yoshiyuki) * Fix memory leak when connection cache was full. (Yoshiyuki) * Load balancing node is selected when a session starts. (Yoshiyuki) * Fix buffer overrun if connection_life_time was set. (Yoshiyuki) 1.1.1 (amiboshi) 2007/6/15 * Version 1.1.1 * Fix "kind mismatch" bug when load_balance_mode is true introduced in 1.1 (Yoshiyuki) * Fix deadlock with extended query protocol(Yoshiyuki) * Fix numerous bugs with protocol V2(Yoshiyuki) 1.1 (amiboshi) 2007/5/25 * Version 1.1 * Support HBA authentication(Taiki) * Support log_connections(Taiki) * Support log_hostname(Taiki) * Show pgpool status in ps command(Taiki) * Fix compile error on MacOS X(Yoshiyuki) * Allow load balancing with extended protocol(Yoshiyuki) * Improve replication. SELECT nextval() and SELECT setval() are now replicated. (Yoshiyuki) * Change SELECT query is only sent to the master node. (Yoshiyuki) - Use /*REPLICATION*/ comment to repliate a SELECT query. * Fix unexpected failover error due to receiving an interrupt signal while connecting to the backend. (Yoshiyuki) * Add "pgpool.pam" file, for PAM configuration file, to be installed under "$PREFIX/share/pgpool-II/". (Taiki) * Fix core dump when executing large SQL. (Yoshiyuki) 1.0.2 (suboshi) 2007/02/12 * Version 1.0.2 * Fix bug when executing large SQL to prevent pgpool goes into infinite loop(Yoshiyuki) * Fix bug with extended protocol handling(Yoshiyuki) * Enhance log for failover and failback(Tatsuo) * Add backend status info to show pool_status(Tatsuo) * Fix UPDATE/DELETE returns wrong number of rows(Tatsuo) * Fix configure fails to link libpq when used with older version of gcc(Yoshiyuki) * Fix DEALLOCATE treatment when used with PHP:PDO DBD-Pg(Yoshiyuki) * Do not load balance SELECT FOR UPDATE, SELECT INTO and SELECT with comments. This behavior is compatible with pgpool-I(Yoshiyuki) * Obtain path to libpq using pg_config. --with-pgsql will be removed in next version(Yoshiyuki) * When reusing connection pool, reconnect to backend if the socket is broken(Yoshiyuki) * Fix error with configure when used with PostgreSQL 7.4(Yoshiyuki) 1.0.1 (suboshi) 2006/09/22 * Version 1.0.1 * This version fixes bugs including master/slave not being working, deadlock problem in COPY FROM STDIN. Also documents are improved. 1.0.0 (suboshi) 2006/09/08 * Initial release Local Variables: mode: outline End: