pgpool2.git / summary / log / commit / refs

commit    8e86363d08fa67492491b86c489da5d992d62bfe
Author:   Yugo Nagata <nagata@sraoss.co.jp>
Date:     Fri Oct 21 06:23:40 2016 +0000

    Fix typo
    
    This was explanation about PostgreSQL not Pgpool-II


doc/src/sgml/.installation.sgml.swp | Bin 0 -> 24576 bytes doc/src/sgml/HTML.index | 1262 ++++++++++++++ doc/src/sgml/bookindex.sgml | 1132 +++++++++++++ doc/src/sgml/html/LEGALNOTICE.html | 129 ++ doc/src/sgml/html/admin.html | 374 ++++ doc/src/sgml/html/appendixes.html | 191 +++ doc/src/sgml/html/auth-methods.html | 360 ++++ doc/src/sgml/html/auth-pool-hba-conf.html | 773 +++++++++ doc/src/sgml/html/bookindex.html | 1723 +++++++++++++++++++ doc/src/sgml/html/bug-reporting.html | 173 ++ doc/src/sgml/html/client-authentication.html | 248 +++ doc/src/sgml/html/config-setting.html | 376 ++++ doc/src/sgml/html/configuring-backend-info.html | 205 +++ doc/src/sgml/html/configuring-pcp-conf.html | 247 +++ doc/src/sgml/html/configuring-pgpool.html | 282 +++ doc/src/sgml/html/create-installlock-table.html | 221 +++ doc/src/sgml/html/example-aws.html | 166 ++ doc/src/sgml/html/example-basic.html | 928 ++++++++++ doc/src/sgml/html/example-configs.html | 237 +++ doc/src/sgml/html/example-watchdog.html | 714 ++++++++ doc/src/sgml/html/examples.html | 201 +++ doc/src/sgml/html/history.html | 227 +++ doc/src/sgml/html/index.html | 261 +++ doc/src/sgml/html/install-getsource.html | 202 +++ doc/src/sgml/html/install-pgpool-recovery.html | 231 +++ doc/src/sgml/html/install-pgpool-regclass.html | 266 +++ doc/src/sgml/html/install-pgpool.html | 310 ++++ doc/src/sgml/html/install-requirements.html | 360 ++++ doc/src/sgml/html/install-source.html | 178 ++ doc/src/sgml/html/installation.html | 214 +++ doc/src/sgml/html/intro-whatis.html | 338 ++++ doc/src/sgml/html/notation.html | 225 +++ doc/src/sgml/html/other-commands.html | 199 +++ doc/src/sgml/html/pcp-attach-node.html | 259 +++ doc/src/sgml/html/pcp-commands.html | 321 ++++ doc/src/sgml/html/pcp-common-options.html | 396 +++++ doc/src/sgml/html/pcp-detach-node.html | 277 +++ doc/src/sgml/html/pcp-node-count.html | 237 +++ doc/src/sgml/html/pcp-node-info.html | 327 ++++ doc/src/sgml/html/pcp-pool-status.html | 251 +++ doc/src/sgml/html/pcp-proc-count.html | 214 +++ doc/src/sgml/html/pcp-proc-info.html | 325 ++++ doc/src/sgml/html/pcp-promote-node.html | 277 +++ doc/src/sgml/html/pcp-recovery-node.html | 259 +++ doc/src/sgml/html/pcp-stop-pgpool.html | 279 +++ doc/src/sgml/html/pcp-watchdog-info.html | 357 ++++ doc/src/sgml/html/pg-md5.html | 305 ++++ doc/src/sgml/html/pgpool-ii-user.html | 197 +++ doc/src/sgml/html/pgpool-setup.html | 554 ++++++ doc/src/sgml/html/preface.html | 293 ++++ doc/src/sgml/html/process-diagram.gif | Bin 0 -> 43583 bytes doc/src/sgml/html/reference.html | 353 ++++ doc/src/sgml/html/release-3-6.html | 1787 ++++++++++++++++++++ doc/src/sgml/html/release.html | 196 +++ doc/src/sgml/html/resources.html | 232 +++ doc/src/sgml/html/restrictions.html | 473 ++++++ .../sgml/html/runtime-config-backend-settings.html | 437 +++++ .../html/runtime-config-connection-pooling.html | 803 +++++++++ doc/src/sgml/html/runtime-config-connection.html | 589 +++++++ doc/src/sgml/html/runtime-config-failover.html | 665 ++++++++ doc/src/sgml/html/runtime-config-health-check.html | 469 +++++ .../sgml/html/runtime-config-load-balancing.html | 926 ++++++++++ doc/src/sgml/html/runtime-config-logging.html | 630 +++++++ doc/src/sgml/html/runtime-config-runnung-mode.html | 1050 ++++++++++++ doc/src/sgml/html/runtime-config.html | 416 +++++ .../sgml/html/runtime-in-memory-query-cache.html | 874 ++++++++++ doc/src/sgml/html/runtime-misc.html | 395 +++++ doc/src/sgml/html/runtime-online-recovery.html | 740 ++++++++ doc/src/sgml/html/runtime-ssl.html | 371 ++++ .../html/runtime-streaming-replication-check.html | 435 +++++ doc/src/sgml/html/runtime-watchdog-config.html | 1614 ++++++++++++++++++ doc/src/sgml/html/runtime.html | 215 +++ doc/src/sgml/html/setting-up-pgpool-conf.html | 248 +++ doc/src/sgml/html/sql-commands.html | 257 +++ doc/src/sgml/html/sql-pgpool-reset.html | 307 ++++ doc/src/sgml/html/sql-pgpool-set.html | 282 +++ doc/src/sgml/html/sql-pgpool-show.html | 411 +++++ doc/src/sgml/html/sql-show-pgpool-status.html | 222 +++ doc/src/sgml/html/sql-show-pool-cache.html | 219 +++ doc/src/sgml/html/sql-show-pool-nodes.html | 232 +++ doc/src/sgml/html/sql-show-pool-pools.html | 595 +++++++ doc/src/sgml/html/sql-show-pool-processes.html | 312 ++++ doc/src/sgml/html/sql-show-pool-version.html | 212 +++ doc/src/sgml/html/stylesheet.css | 303 ++++ doc/src/sgml/html/tutorial-advanced-arch.html | 440 +++++ doc/src/sgml/html/tutorial-arch.html | 271 +++ doc/src/sgml/html/tutorial-install.html | 187 ++ doc/src/sgml/html/tutorial-replication.html | 269 +++ doc/src/sgml/html/tutorial-start.html | 206 +++ doc/src/sgml/html/tutorial-testing-failover.html | 299 ++++ .../sgml/html/tutorial-testing-load-balance.html | 217 +++ .../html/tutorial-testing-online-recovery.html | 258 +++ .../sgml/html/tutorial-testing-replication.html | 240 +++ ...al-watchdog-integrating-external-lifecheck.html | 617 +++++++ doc/src/sgml/html/tutorial-watchdog-intro.html | 525 ++++++ .../sgml/html/tutorial-watchdog-restrictions.html | 281 +++ doc/src/sgml/html/tutorial-watchdog.html | 307 ++++ doc/src/sgml/html/tutorial.html | 253 +++ doc/src/sgml/html/watchdog-setup.html | 699 ++++++++ doc/src/sgml/installation.sgml | 2 +- 100 files changed, 40421 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/.installation.sgml.swp b/doc/src/sgml/.installation.sgml.swp new file mode 100644 index 000000000..bc72f4c20 Binary files /dev/null and b/doc/src/sgml/.installation.sgml.swp differ diff --git a/doc/src/sgml/HTML.index b/doc/src/sgml/HTML.index new file mode 100644 index 000000000..9be91f192 --- /dev/null +++ b/doc/src/sgml/HTML.index @@ -0,0 +1,1262 @@ +INDEXTERM history.html +INDEXPOINT history.html#AEN100 +TITLE A Brief History of Pgpool-II +significance NORMAL +ZONE history.html +TITLE A Brief History of Pgpool-II +PRIMARY history +SECONDARY of Pgpool-II +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-COORDINATING-NODES +INDEXPOINT tutorial-watchdog-intro.html#AEN364 +TITLE Coordinating multiple Pgpool-II nodes +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-COORDINATING-NODES +TITLE Coordinating multiple Pgpool-II nodes +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-LIFECHECKING +INDEXPOINT tutorial-watchdog-intro.html#AEN378 +TITLE Life checking of other Pgpool-II nodes +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-LIFECHECKING +TITLE Life checking of other Pgpool-II nodes +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG +INDEXPOINT tutorial-watchdog-intro.html#AEN415 +TITLE Consistency of configuration parameters on all Pgpool-II nodes +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG +TITLE Consistency of configuration parameters on all Pgpool-II nodes +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-ACTIVE +INDEXPOINT tutorial-watchdog-intro.html#AEN422 +TITLE Changing active/standby state when certain fault is detected +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-ACTIVE +TITLE Changing active/standby state when certain fault is detected +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-AUTOMATIC-VIP +INDEXPOINT tutorial-watchdog-intro.html#AEN430 +TITLE Automatic virtual IP switching +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-AUTOMATIC-VIP +TITLE Automatic virtual IP switching +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY +INDEXPOINT tutorial-watchdog-intro.html#AEN437 +TITLE Automatic registration of a server as a standby in recovery +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY +TITLE Automatic registration of a server as a standby in recovery +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-START-STOP +INDEXPOINT tutorial-watchdog-intro.html#AEN442 +TITLE Starting/stopping watchdog +significance NORMAL +ZONE tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-START-STOP +TITLE Starting/stopping watchdog +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET +INDEXPOINT tutorial-watchdog-integrating-external-lifecheck.html#AEN466 +TITLE Watchdog IPC command packet format +significance NORMAL +ZONE tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET +TITLE Watchdog IPC command packet format +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-RESULT-PACKET +INDEXPOINT tutorial-watchdog-integrating-external-lifecheck.html#AEN494 +TITLE Watchdog IPC result packet format +significance NORMAL +ZONE tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-RESULT-PACKET +TITLE Watchdog IPC result packet format +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES +INDEXPOINT tutorial-watchdog-integrating-external-lifecheck.html#AEN522 +TITLE Watchdog IPC command packet types +significance NORMAL +ZONE tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES +TITLE Watchdog IPC command packet types +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC +INDEXPOINT tutorial-watchdog-integrating-external-lifecheck.html#AEN573 +TITLE External lifecheck IPC packets and data +significance NORMAL +ZONE tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC +TITLE External lifecheck IPC packets and data +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES +INDEXPOINT tutorial-watchdog-integrating-external-lifecheck.html#AEN578 +TITLE Getting list of configured watchdog nodes +significance NORMAL +ZONE tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES +TITLE Getting list of configured watchdog nodes +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-restrictions.html +INDEXPOINT tutorial-watchdog-restrictions.html#AEN603 +TITLE Restrictions on watchdog +significance NORMAL +ZONE tutorial-watchdog-restrictions.html +TITLE Restrictions on watchdog +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE +INDEXPOINT tutorial-watchdog-restrictions.html#AEN607 +TITLE Watchdog restriction with query mode lifecheck +significance NORMAL +ZONE tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE +TITLE Watchdog restriction with query mode lifecheck +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE +INDEXPOINT tutorial-watchdog-restrictions.html#AEN618 +TITLE Connecting to Pgpool-II whose watchdog status is down +significance NORMAL +ZONE tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE +TITLE Connecting to Pgpool-II whose watchdog status is down +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART +INDEXPOINT tutorial-watchdog-restrictions.html#AEN628 +TITLE Pgpool-II whose watchdog status is down requires restart +significance NORMAL +ZONE tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART +TITLE Pgpool-II whose watchdog status is down requires restart +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME +INDEXPOINT tutorial-watchdog-restrictions.html#AEN636 +TITLE Watchdog promotion to active takes few seconds +significance NORMAL +ZONE tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME +TITLE Watchdog promotion to active takes few seconds +PRIMARY WATCHDOG +/INDEXTERM +INDEXTERM installation.html +INDEXPOINT installation.html#AEN719 +TITLE Pgpool-II Installation from Source Code +significance NORMAL +ZONE installation.html +TITLE Pgpool-II Installation from Source Code +PRIMARY installation +/INDEXTERM +INDEXTERM install-requirements.html +INDEXPOINT install-requirements.html#AEN734 +TITLE Requirements +significance NORMAL +PRIMARY make +/INDEXTERM +INDEXTERM install-requirements.html +INDEXPOINT install-requirements.html#AEN767 +TITLE Requirements +significance NORMAL +PRIMARY flex +/INDEXTERM +INDEXTERM install-requirements.html +INDEXPOINT install-requirements.html#AEN769 +TITLE Requirements +significance NORMAL +PRIMARY lex +/INDEXTERM +INDEXTERM install-requirements.html +INDEXPOINT install-requirements.html#AEN771 +TITLE Requirements +significance NORMAL +PRIMARY bison +/INDEXTERM +INDEXTERM install-requirements.html +INDEXPOINT install-requirements.html#AEN773 +TITLE Requirements +significance NORMAL +PRIMARY yacc +/INDEXTERM +INDEXTERM install-pgpool.html +INDEXPOINT install-pgpool.html#AEN819 +TITLE Installing pgpool-II +significance NORMAL +PRIMARY OpenSSL +/INDEXTERM +INDEXTERM pgpool-ii-user.html +INDEXPOINT pgpool-ii-user.html#AEN941 +TITLE The Pgpool-II User Account +significance NORMAL +PRIMARY Pgpool-II user +/INDEXTERM +INDEXTERM configuring-pcp-conf.html +INDEXPOINT configuring-pcp-conf.html#AEN952 +TITLE Configuring pcp.conf +significance NORMAL +PRIMARY pcp configuration +/INDEXTERM +INDEXTERM configuring-pgpool.html +INDEXPOINT configuring-pgpool.html#AEN971 +TITLE Configuring pgpool +significance NORMAL +PRIMARY Pgpool-II configuration +/INDEXTERM +INDEXTERM runtime-config.html +INDEXPOINT runtime-config.html#AEN1012 +TITLE Server Configuration +significance NORMAL +PRIMARY configuration +SECONDARY of the server +/INDEXTERM +INDEXTERM config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE +INDEXPOINT config-setting.html#AEN1047 +TITLE Parameter Interaction via the Configuration File +significance NORMAL +PRIMARY pgpool.conf +/INDEXTERM +INDEXTERM config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE +INDEXPOINT config-setting.html#AEN1054 +TITLE Parameter Interaction via the Configuration File +significance NORMAL +PRIMARY SIGHUP +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1079 +TITLE Connection Settings +significance NORMAL +PRIMARY listen_addresses configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1092 +TITLE Connection Settings +significance NORMAL +PRIMARY port configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1103 +TITLE Connection Settings +significance NORMAL +PRIMARY socket_dir configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1116 +TITLE Connection Settings +significance NORMAL +PRIMARY pcp_listen_addresses configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1129 +TITLE Connection Settings +significance NORMAL +PRIMARY pcp_port configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1140 +TITLE Connection Settings +significance NORMAL +PRIMARY pcp_socket_dir configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1153 +TITLE Connection Settings +significance NORMAL +PRIMARY num_init_children configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1184 +TITLE Authentication Settings +significance NORMAL +PRIMARY enable_pool_hba configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1199 +TITLE Authentication Settings +significance NORMAL +PRIMARY pool_passwd configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS +INDEXPOINT runtime-config-connection.html#AEN1211 +TITLE Authentication Settings +significance NORMAL +PRIMARY authentication_timeout configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1236 +TITLE Master slave mode +significance NORMAL +PRIMARY master_slave_mode configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1250 +TITLE Master slave mode +significance NORMAL +PRIMARY master_slave_sub_mode configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1288 +TITLE Replication mode +significance NORMAL +PRIMARY replication_mode configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1302 +TITLE Replication mode +significance NORMAL +PRIMARY replication_stop_on_mismatch configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1321 +TITLE Replication mode +significance NORMAL +PRIMARY failover_if_affected_tuples_mismatch configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1337 +TITLE Replication mode +significance NORMAL +PRIMARY replicate_select configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1389 +TITLE Replication mode +significance NORMAL +PRIMARY insert_lock configuration parameter +/INDEXTERM +INDEXTERM runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE +INDEXPOINT runtime-config-runnung-mode.html#AEN1442 +TITLE Replication mode +significance NORMAL +PRIMARY lobj_lock_table configuration parameter +/INDEXTERM +INDEXTERM runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS +INDEXPOINT runtime-config-backend-settings.html#AEN1493 +TITLE Backend Connection Settings +significance NORMAL +PRIMARY backend_hostname configuration parameter +/INDEXTERM +INDEXTERM runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS +INDEXPOINT runtime-config-backend-settings.html#AEN1511 +TITLE Backend Connection Settings +significance NORMAL +PRIMARY backend_port configuration parameter +/INDEXTERM +INDEXTERM runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS +INDEXPOINT runtime-config-backend-settings.html#AEN1523 +TITLE Backend Connection Settings +significance NORMAL +PRIMARY backend_weight configuration parameter +/INDEXTERM +INDEXTERM runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA +INDEXPOINT runtime-config-backend-settings.html#AEN1537 +TITLE Backend Data Settings +significance NORMAL +PRIMARY backend_data_directory configuration parameter +/INDEXTERM +INDEXTERM runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA +INDEXPOINT runtime-config-backend-settings.html#AEN1549 +TITLE Backend Data Settings +significance NORMAL +PRIMARY backend_flag configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1583 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY connection_cache configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1595 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY max_pool configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1609 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY listen_backlog_multiplier configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1629 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY serialize_accept configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1671 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY child_life_time configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1694 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY client_idle_limit configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1711 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY child_max_connections configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1729 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY connection_life_time configuration parameter +/INDEXTERM +INDEXTERM runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS +INDEXPOINT runtime-config-connection-pooling.html#AEN1740 +TITLE Connection Pooling Settings +significance NORMAL +PRIMARY reset_query_list configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1785 +TITLE Where To Log +significance NORMAL +PRIMARY log_destination configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1805 +TITLE Where To Log +significance NORMAL +PRIMARY syslog_facility configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1816 +TITLE Where To Log +significance NORMAL +PRIMARY syslog_ident configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1831 +TITLE When To Log +significance NORMAL +PRIMARY client_min_messages configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1842 +TITLE When To Log +significance NORMAL +PRIMARY log_min_messages configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1856 +TITLE What To Log +significance NORMAL +PRIMARY log_statement configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1867 +TITLE What To Log +significance NORMAL +PRIMARY log_per_node_statement configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1879 +TITLE What To Log +significance NORMAL +PRIMARY log_hostname configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1890 +TITLE What To Log +significance NORMAL +PRIMARY log_connections configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1900 +TITLE What To Log +significance NORMAL +PRIMARY log_error_verbosity configuration parameter +/INDEXTERM +INDEXTERM runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG +INDEXPOINT runtime-config-logging.html#AEN1911 +TITLE What To Log +significance NORMAL +PRIMARY log_line_prefix configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN1974 +TITLE Load Balancing +significance NORMAL +PRIMARY load_balance_mode configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN1986 +TITLE Load Balancing +significance NORMAL +PRIMARY ignore_leading_white_space configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN1997 +TITLE Load Balancing +significance NORMAL +PRIMARY white_function_list configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN2014 +TITLE Load Balancing +significance NORMAL +PRIMARY black_function_list configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN2057 +TITLE Load Balancing +significance NORMAL +PRIMARY database_redirect_preference_list configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN2095 +TITLE Load Balancing +significance NORMAL +PRIMARY app_name_redirect_preference_list configuration parameter +/INDEXTERM +INDEXTERM runtime-config-load-balancing.html +INDEXPOINT runtime-config-load-balancing.html#AEN2153 +TITLE Load Balancing +significance NORMAL +PRIMARY allow_sql_comments configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2178 +TITLE Health Check +significance NORMAL +PRIMARY health_check_timeout configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2189 +TITLE Health Check +significance NORMAL +PRIMARY health_check_period configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2199 +TITLE Health Check +significance NORMAL +PRIMARY health_check_user configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2209 +TITLE Health Check +significance NORMAL +PRIMARY health_check_password configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2220 +TITLE Health Check +significance NORMAL +PRIMARY health_check_database configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2237 +TITLE Health Check +significance NORMAL +PRIMARY health_check_max_retries configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2251 +TITLE Health Check +significance NORMAL +PRIMARY health_check_retry_delay configuration parameter +/INDEXTERM +INDEXTERM runtime-config-health-check.html +INDEXPOINT runtime-config-health-check.html#AEN2262 +TITLE Health Check +significance NORMAL +PRIMARY connect_timeout configuration parameter +/INDEXTERM +INDEXTERM runtime-config-failover.html +INDEXPOINT runtime-config-failover.html#AEN2278 +TITLE Failover and Failback +significance NORMAL +PRIMARY failover_command configuration parameter +/INDEXTERM +INDEXTERM runtime-config-failover.html +INDEXPOINT runtime-config-failover.html#AEN2337 +TITLE Failover and Failback +significance NORMAL +PRIMARY failback_command configuration parameter +/INDEXTERM +INDEXTERM runtime-config-failover.html +INDEXPOINT runtime-config-failover.html#AEN2390 +TITLE Failover and Failback +significance NORMAL +PRIMARY follow_master_command configuration parameter +/INDEXTERM +INDEXTERM runtime-config-failover.html +INDEXPOINT runtime-config-failover.html#AEN2450 +TITLE Failover and Failback +significance NORMAL +PRIMARY fail_over_on_backend_error configuration parameter +/INDEXTERM +INDEXTERM runtime-config-failover.html +INDEXPOINT runtime-config-failover.html#AEN2467 +TITLE Failover and Failback +significance NORMAL +PRIMARY search_primary_node_timeout configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2519 +TITLE Online Recovery +significance NORMAL +PRIMARY recovery_user configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2529 +TITLE Online Recovery +significance NORMAL +PRIMARY recovery_password configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2540 +TITLE Online Recovery +significance NORMAL +PRIMARY recovery_1st_stage_command configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2579 +TITLE Online Recovery +significance NORMAL +PRIMARY recovery_2nd_stage_command configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2618 +TITLE Online Recovery +significance NORMAL +PRIMARY recovery_timeout configuration parameter +/INDEXTERM +INDEXTERM runtime-online-recovery.html +INDEXPOINT runtime-online-recovery.html#AEN2629 +TITLE Online Recovery +significance NORMAL +PRIMARY client_idle_limit_in_recovery configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2657 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY sr_check_period configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2667 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY sr_check_user configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2682 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY sr_check_password configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2694 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY sr_check_database configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2705 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY delay_threshold configuration parameter +/INDEXTERM +INDEXTERM runtime-streaming-replication-check.html +INDEXPOINT runtime-streaming-replication-check.html#AEN2720 +TITLE Streaming Replication Check +significance NORMAL +PRIMARY log_standby_delay configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-ENABLING +INDEXPOINT runtime-in-memory-query-cache.html#AEN2764 +TITLE Enabling in memory query cache +significance NORMAL +PRIMARY memory_cache_enabled configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CHOOSE-STORAGE +INDEXPOINT runtime-in-memory-query-cache.html#AEN2777 +TITLE Choosing cache storage +significance NORMAL +PRIMARY memqcache_method configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2812 +TITLE Common configurations +significance NORMAL +PRIMARY memqcache_expire configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2826 +TITLE Common configurations +significance NORMAL +PRIMARY memqcache_auto_cache_invalidation configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2841 +TITLE Common configurations +significance NORMAL +PRIMARY memqcache_maxcache configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2859 +TITLE Common configurations +significance NORMAL +PRIMARY white_memqcache_table_list configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2878 +TITLE Common configurations +significance NORMAL +PRIMARY black_memqcache_table_list configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2894 +TITLE Common configurations +significance NORMAL +PRIMARY memqcache_oiddir configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2915 +TITLE Configurations to use shared memory +significance NORMAL +PRIMARY memqcache_total_size configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2925 +TITLE Configurations to use shared memory +significance NORMAL +PRIMARY memqcache_max_num_cache configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2938 +TITLE Configurations to use shared memory +significance NORMAL +PRIMARY memqcache_cache_block_size configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2957 +TITLE Configurations to use memcached +significance NORMAL +PRIMARY memqcache_memcached_host configuration parameter +/INDEXTERM +INDEXTERM runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG +INDEXPOINT runtime-in-memory-query-cache.html#AEN2971 +TITLE Configurations to use memcached +significance NORMAL +PRIMARY memqcache_memcached_port configuration parameter +/INDEXTERM +INDEXTERM runtime-ssl.html +INDEXPOINT runtime-ssl.html#AEN2985 +TITLE Secure Sockect Layer (SSL) +significance NORMAL +PRIMARY ssl configuration parameter +/INDEXTERM +INDEXTERM runtime-ssl.html +INDEXPOINT runtime-ssl.html#AEN3006 +TITLE Secure Sockect Layer (SSL) +significance NORMAL +PRIMARY ssl_key configuration parameter +/INDEXTERM +INDEXTERM runtime-ssl.html +INDEXPOINT runtime-ssl.html#AEN3017 +TITLE Secure Sockect Layer (SSL) +significance NORMAL +PRIMARY ssl_cert configuration parameter +/INDEXTERM +INDEXTERM runtime-ssl.html +INDEXPOINT runtime-ssl.html#AEN3028 +TITLE Secure Sockect Layer (SSL) +significance NORMAL +PRIMARY ssl_ca_cert configuration parameter +/INDEXTERM +INDEXTERM runtime-ssl.html +INDEXPOINT runtime-ssl.html#AEN3042 +TITLE Secure Sockect Layer (SSL) +significance NORMAL +PRIMARY ssl_ca_cert_dir configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html +INDEXPOINT runtime-watchdog-config.html#AEN3056 +TITLE Watchdog +significance NORMAL +ZONE runtime-watchdog-config.html +TITLE Watchdog +PRIMARY configuring watchdog +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-ENABLE-WATCHDOG +INDEXPOINT runtime-watchdog-config.html#AEN3067 +TITLE Enable watchdog +significance NORMAL +PRIMARY use_watchdog configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG +INDEXPOINT runtime-watchdog-config.html#AEN3080 +TITLE Watchdog communication +significance NORMAL +PRIMARY wd_hostname configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG +INDEXPOINT runtime-watchdog-config.html#AEN3091 +TITLE Watchdog communication +significance NORMAL +PRIMARY wd_port configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG +INDEXPOINT runtime-watchdog-config.html#AEN3101 +TITLE Watchdog communication +significance NORMAL +PRIMARY wd_authkey configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS +INDEXPOINT runtime-watchdog-config.html#AEN3124 +TITLE Upstream server connection +significance NORMAL +PRIMARY trusted_servers configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS +INDEXPOINT runtime-watchdog-config.html#AEN3136 +TITLE Upstream server connection +significance NORMAL +PRIMARY ping_path configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3150 +TITLE Virtual IP control +significance NORMAL +PRIMARY delegate_IP configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3163 +TITLE Virtual IP control +significance NORMAL +PRIMARY if_cmd_path configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3175 +TITLE Virtual IP control +significance NORMAL +PRIMARY if_up_cmd configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3188 +TITLE Virtual IP control +significance NORMAL +PRIMARY if_down_cmd configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3199 +TITLE Virtual IP control +significance NORMAL +PRIMARY arping_path configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL +INDEXPOINT runtime-watchdog-config.html#AEN3211 +TITLE Virtual IP control +significance NORMAL +PRIMARY arping_cmd configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION +INDEXPOINT runtime-watchdog-config.html#AEN3229 +TITLE Behaivor on escalation and de-escalation +significance NORMAL +PRIMARY clear_memqcache_on_escalation configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION +INDEXPOINT runtime-watchdog-config.html#AEN3244 +TITLE Behaivor on escalation and de-escalation +significance NORMAL +PRIMARY wd_escalation_command configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION +INDEXPOINT runtime-watchdog-config.html#AEN3255 +TITLE Behaivor on escalation and de-escalation +significance NORMAL +PRIMARY wd_de_escalation_command configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK +INDEXPOINT runtime-watchdog-config.html#AEN3277 +TITLE Life checking Pgpool-II +significance NORMAL +PRIMARY wd_lifecheck_method configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK +INDEXPOINT runtime-watchdog-config.html#AEN3310 +TITLE Life checking Pgpool-II +significance NORMAL +PRIMARY wd_monitoring_interfaces_list configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK +INDEXPOINT runtime-watchdog-config.html#AEN3328 +TITLE Life checking Pgpool-II +significance NORMAL +PRIMARY wd_interval configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK +INDEXPOINT runtime-watchdog-config.html#AEN3339 +TITLE Life checking Pgpool-II +significance NORMAL +PRIMARY wd_priority configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK +INDEXPOINT runtime-watchdog-config.html#AEN3354 +TITLE Life checking Pgpool-II +significance NORMAL +PRIMARY wd_ipc_socket_dir configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3376 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY wd_heartbeat_port configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3390 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY wd_heartbeat_keepalive configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3403 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY wd_heartbeat_deadtime configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3417 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY heartbeat_destination configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3434 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY heartbeat_destination_port configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT +INDEXPOINT runtime-watchdog-config.html#AEN3449 +TITLE Lifecheck Heartbeat mode configuration +significance NORMAL +PRIMARY heartbeat_device configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY +INDEXPOINT runtime-watchdog-config.html#AEN3466 +TITLE Lifecheck Query mode configuration +significance NORMAL +PRIMARY wd_life_point configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY +INDEXPOINT runtime-watchdog-config.html#AEN3480 +TITLE Lifecheck Query mode configuration +significance NORMAL +PRIMARY wd_lifecheck_query configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY +INDEXPOINT runtime-watchdog-config.html#AEN3496 +TITLE Lifecheck Query mode configuration +significance NORMAL +PRIMARY wd_lifecheck_dbname configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY +INDEXPOINT runtime-watchdog-config.html#AEN3512 +TITLE Lifecheck Query mode configuration +significance NORMAL +PRIMARY wd_lifecheck_user configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY +INDEXPOINT runtime-watchdog-config.html#AEN3528 +TITLE Lifecheck Query mode configuration +significance NORMAL +PRIMARY wd_lifecheck_password configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION +INDEXPOINT runtime-watchdog-config.html#AEN3547 +TITLE Watchdog servers configurations +significance NORMAL +PRIMARY other_pgpool_hostname configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION +INDEXPOINT runtime-watchdog-config.html#AEN3558 +TITLE Watchdog servers configurations +significance NORMAL +PRIMARY other_pgpool_port configuration parameter +/INDEXTERM +INDEXTERM runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION +INDEXPOINT runtime-watchdog-config.html#AEN3569 +TITLE Watchdog servers configurations +significance NORMAL +PRIMARY other_wd_port0 configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3583 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY relcache_expire configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3597 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY relcache_size configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3612 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY check_temp_table configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3626 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY check_unlogged_table configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3640 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY pid_file_name configuration parameter +/INDEXTERM +INDEXTERM runtime-misc.html +INDEXPOINT runtime-misc.html#AEN3652 +TITLE Misc Configuration Parameters +significance NORMAL +PRIMARY logdir configuration parameter +/INDEXTERM +INDEXTERM client-authentication.html +INDEXPOINT client-authentication.html#AEN3662 +TITLE Client Authentication +significance NORMAL +ZONE client-authentication.html +TITLE Client Authentication +PRIMARY client authentication +/INDEXTERM +INDEXTERM auth-pool-hba-conf.html +INDEXPOINT auth-pool-hba-conf.html#AEN3677 +TITLE The pool_hba.conf File +significance NORMAL +ZONE auth-pool-hba-conf.html +TITLE The pool_hba.conf File +PRIMARY pool_hba.conf +/INDEXTERM +INDEXTERM auth-methods.html#AUTH-MD5 +INDEXPOINT auth-methods.html#AEN3844 +TITLE MD5 Password Authentication +significance NORMAL +PRIMARY MD5 +/INDEXTERM +INDEXTERM auth-methods.html#SETTING-MD5-AUTHENTICATION +INDEXPOINT auth-methods.html#AEN3858 +TITLE Setting md5 Authentication +significance NORMAL +ZONE auth-methods.html#SETTING-MD5-AUTHENTICATION +TITLE Setting md5 Authentication +PRIMARY MD5 +/INDEXTERM +INDEXTERM auth-methods.html#AUTH-PAM +INDEXPOINT auth-methods.html#AEN3873 +TITLE PAM Authentication +significance NORMAL +ZONE auth-methods.html#AUTH-PAM +TITLE PAM Authentication +PRIMARY PAM +/INDEXTERM +INDEXTERM pcp-common-options.html +INDEXPOINT pcp-common-options.html#AEN4212 +TITLE pcp_common_options +significance NORMAL +ZONE pcp-common-options.html +TITLE pcp_common_options +PRIMARY pcp_common_options +/INDEXTERM +INDEXTERM pcp-node-count.html +INDEXPOINT pcp-node-count.html#AEN4312 +TITLE pcp_node_count +significance NORMAL +ZONE pcp-node-count.html +TITLE pcp_node_count +PRIMARY pcp_node_count +/INDEXTERM +INDEXTERM pcp-node-info.html +INDEXPOINT pcp-node-info.html#AEN4340 +TITLE pcp_node_info +significance NORMAL +ZONE pcp-node-info.html +TITLE pcp_node_info +PRIMARY pcp_node_info +/INDEXTERM +INDEXTERM pcp-watchdog-info.html +INDEXPOINT pcp-watchdog-info.html#AEN4400 +TITLE pcp_watchdog_info +significance NORMAL +ZONE pcp-watchdog-info.html +TITLE pcp_watchdog_info +PRIMARY pcp_watchdog_info +/INDEXTERM +INDEXTERM pcp-proc-count.html +INDEXPOINT pcp-proc-count.html#AEN4452 +TITLE pcp_proc_count +significance NORMAL +ZONE pcp-proc-count.html +TITLE pcp_proc_count +PRIMARY pcp_proc_count +/INDEXTERM +INDEXTERM pcp-proc-info.html +INDEXPOINT pcp-proc-info.html#AEN4475 +TITLE pcp_proc_info +significance NORMAL +ZONE pcp-proc-info.html +TITLE pcp_proc_info +PRIMARY pcp_proc_info +/INDEXTERM +INDEXTERM pcp-pool-status.html +INDEXPOINT pcp-pool-status.html#AEN4525 +TITLE pcp_pool_status +significance NORMAL +ZONE pcp-pool-status.html +TITLE pcp_pool_status +PRIMARY pcp_pool_status +/INDEXTERM +INDEXTERM pcp-detach-node.html +INDEXPOINT pcp-detach-node.html#AEN4554 +TITLE pcp_detach_node +significance NORMAL +ZONE pcp-detach-node.html +TITLE pcp_detach_node +PRIMARY pcp_detach_node +/INDEXTERM +INDEXTERM pcp-attach-node.html +INDEXPOINT pcp-attach-node.html#AEN4603 +TITLE pcp_attach_node +significance NORMAL +ZONE pcp-attach-node.html +TITLE pcp_attach_node +PRIMARY pcp_attach_node +/INDEXTERM +INDEXTERM pcp-promote-node.html +INDEXPOINT pcp-promote-node.html#AEN4643 +TITLE pcp_promote_node +significance NORMAL +ZONE pcp-promote-node.html +TITLE pcp_promote_node +PRIMARY pcp_promote_node +/INDEXTERM +INDEXTERM pcp-stop-pgpool.html +INDEXPOINT pcp-stop-pgpool.html#AEN4692 +TITLE pcp_stop_pgpool +significance NORMAL +ZONE pcp-stop-pgpool.html +TITLE pcp_stop_pgpool +PRIMARY pcp_stop_pgpool +/INDEXTERM +INDEXTERM pcp-recovery-node.html +INDEXPOINT pcp-recovery-node.html#AEN4740 +TITLE pcp_recovery_node +significance NORMAL +ZONE pcp-recovery-node.html +TITLE pcp_recovery_node +PRIMARY pcp_recovery_node +/INDEXTERM +INDEXTERM pg-md5.html +INDEXPOINT pg-md5.html#AEN4784 +TITLE pg_md5 +significance NORMAL +ZONE pg-md5.html +TITLE pg_md5 +PRIMARY pg_md5 +/INDEXTERM +INDEXTERM pgpool-setup.html +INDEXPOINT pgpool-setup.html#AEN4841 +TITLE pgpool_setup +significance NORMAL +ZONE pgpool-setup.html +TITLE pgpool_setup +PRIMARY pgpool_setup +/INDEXTERM +INDEXTERM watchdog-setup.html +INDEXPOINT watchdog-setup.html#AEN4957 +TITLE watchdog_setup +significance NORMAL +ZONE watchdog-setup.html +TITLE watchdog_setup +PRIMARY watchdog_setup +/INDEXTERM +INDEXTERM sql-pgpool-show.html +INDEXPOINT sql-pgpool-show.html#AEN5085 +TITLE PGPOOL SHOW +significance NORMAL +ZONE sql-pgpool-show.html +TITLE PGPOOL SHOW +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-pgpool-set.html +INDEXPOINT sql-pgpool-set.html#AEN5161 +TITLE PGPOOL SET +significance NORMAL +ZONE sql-pgpool-set.html +TITLE PGPOOL SET +PRIMARY SET +/INDEXTERM +INDEXTERM sql-pgpool-reset.html +INDEXPOINT sql-pgpool-reset.html#AEN5201 +TITLE PGPOOL RESET +significance NORMAL +ZONE sql-pgpool-reset.html +TITLE PGPOOL RESET +PRIMARY RESET +/INDEXTERM +INDEXTERM sql-show-pgpool-status.html +INDEXPOINT sql-show-pgpool-status.html#AEN5252 +TITLE SHOW PGPOOL STATUS +significance NORMAL +ZONE sql-show-pgpool-status.html +TITLE SHOW PGPOOL STATUS +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-show-pool-nodes.html +INDEXPOINT sql-show-pool-nodes.html#AEN5277 +TITLE SHOW POOL NODES +significance NORMAL +ZONE sql-show-pool-nodes.html +TITLE SHOW POOL NODES +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-show-pool-processes.html +INDEXPOINT sql-show-pool-processes.html#AEN5299 +TITLE SHOW POOL_PROCESSES +significance NORMAL +ZONE sql-show-pool-processes.html +TITLE SHOW POOL_PROCESSES +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-show-pool-pools.html +INDEXPOINT sql-show-pool-pools.html#AEN5340 +TITLE SHOW POOL_POOLS +significance NORMAL +ZONE sql-show-pool-pools.html +TITLE SHOW POOL_POOLS +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-show-pool-version.html +INDEXPOINT sql-show-pool-version.html#AEN5400 +TITLE SHOW POOL_VERSION +significance NORMAL +ZONE sql-show-pool-version.html +TITLE SHOW POOL_VERSION +PRIMARY SHOW +/INDEXTERM +INDEXTERM sql-show-pool-cache.html +INDEXPOINT sql-show-pool-cache.html#AEN5419 +TITLE SHOW POOL_CACHE +significance NORMAL +ZONE sql-show-pool-cache.html +TITLE SHOW POOL_CACHE +PRIMARY SHOW +/INDEXTERM diff --git a/doc/src/sgml/bookindex.sgml b/doc/src/sgml/bookindex.sgml new file mode 100644 index 000000000..71f1b6fa3 --- /dev/null +++ b/doc/src/sgml/bookindex.sgml @@ -0,0 +1,1132 @@ +<index id='bookindex'> + +<!-- This file was produced by collateindex.pl. --> +<!-- Remove this comment if you edit this file by hand! --> +<!-- ULINK is abused here. + + The URL attribute holds the URL that points from the index entry + back to the appropriate place in the output produced by the HTML + stylesheet. (It's much easier to calculate this URL in the first + pass.) + + The Role attribute holds the ID (either real or manufactured) of + the corresponding INDEXTERM. This is used by the print backends + to produce page numbers. + + The entries below are sorted and collated into the correct order. + Duplicates may be removed in the HTML backend, but in the print + backends, it is impossible to suppress duplicate pages or coalesce + sequences of pages into a range. +--> + +<indexdiv><title>A</title> + +<indexentry> + <primaryie>allow_sql_comments configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN2153">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>app_name_redirect_preference_list configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN2095">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>arping_cmd configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3211">Virtual IP control</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>arping_path configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3199">Virtual IP control</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>authentication_timeout configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" role="AEN1211">Authentication Settings</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>B</title> + +<indexentry> + <primaryie>backend_data_directory configuration parameter, + <ulink url="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA" role="AEN1537">Backend Data Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>backend_flag configuration parameter, + <ulink url="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA" role="AEN1549">Backend Data Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>backend_hostname configuration parameter, + <ulink url="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" role="AEN1493">Backend Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>backend_port configuration parameter, + <ulink url="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" role="AEN1511">Backend Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>backend_weight configuration parameter, + <ulink url="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" role="AEN1523">Backend Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>bison, + <ulink url="install-requirements.html" role="AEN771">Requirements</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>black_function_list configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN2014">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>black_memqcache_table_list configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2878">Common configurations</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>C</title> + +<indexentry> + <primaryie>check_temp_table configuration parameter, + <ulink url="runtime-misc.html" role="AEN3612">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>check_unlogged_table configuration parameter, + <ulink url="runtime-misc.html" role="AEN3626">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>child_life_time configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1671">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>child_max_connections configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1711">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>clear_memqcache_on_escalation configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" role="AEN3229">Behaivor on escalation and de-escalation</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>client authentication, + <ulink url="client-authentication.html" role="client-authentication">Client Authentication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>client_idle_limit configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1694">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>client_idle_limit_in_recovery configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2629">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>client_min_messages configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" role="AEN1831">When To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>configuration + </primaryie> + <secondaryie>of the server, + <ulink url="runtime-config.html" role="AEN1012">Server Configuration</ulink> + </secondaryie> +</indexentry> + +<indexentry> + <primaryie>configuring watchdog, + <ulink url="runtime-watchdog-config.html" role="runtime-watchdog-config">Watchdog</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>connection_cache configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1583">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>connection_life_time configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1729">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>connect_timeout configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2262">Health Check</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>D</title> + +<indexentry> + <primaryie>database_redirect_preference_list configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN2057">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>delay_threshold configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2705">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>delegate_IP configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3150">Virtual IP control</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>E</title> + +<indexentry> + <primaryie>enable_pool_hba configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" role="AEN1184">Authentication Settings</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>F</title> + +<indexentry> + <primaryie>failback_command configuration parameter, + <ulink url="runtime-config-failover.html" role="AEN2337">Failover and Failback</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>failover_command configuration parameter, + <ulink url="runtime-config-failover.html" role="AEN2278">Failover and Failback</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>failover_if_affected_tuples_mismatch configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1321">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>fail_over_on_backend_error configuration parameter, + <ulink url="runtime-config-failover.html" role="AEN2450">Failover and Failback</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>flex, + <ulink url="install-requirements.html" role="AEN767">Requirements</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>follow_master_command configuration parameter, + <ulink url="runtime-config-failover.html" role="AEN2390">Failover and Failback</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>H</title> + +<indexentry> + <primaryie>health_check_database configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2220">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_max_retries configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2237">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_password configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2209">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_period configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2189">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_retry_delay configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2251">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_timeout configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2178">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>health_check_user configuration parameter, + <ulink url="runtime-config-health-check.html" role="AEN2199">Health Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>heartbeat_destination configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3417">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>heartbeat_destination_port configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3434">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>heartbeat_device configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3449">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>history + </primaryie> + <secondaryie>of Pgpool-II, + <ulink url="history.html" role="history">A Brief History of Pgpool-II</ulink> + </secondaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>I</title> + +<indexentry> + <primaryie>if_cmd_path configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3163">Virtual IP control</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>if_down_cmd configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3188">Virtual IP control</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>if_up_cmd configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" role="AEN3175">Virtual IP control</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ignore_leading_white_space configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN1986">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>insert_lock configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1389">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>installation, + <ulink url="installation.html" role="installation">Pgpool-II Installation from Source Code</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>L</title> + +<indexentry> + <primaryie>lex, + <ulink url="install-requirements.html" role="AEN769">Requirements</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>listen_addresses configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1079">Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>listen_backlog_multiplier configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1609">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>load_balance_mode configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN1974">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>lobj_lock_table configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1442">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>logdir configuration parameter, + <ulink url="runtime-misc.html" role="AEN3652">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_connections configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1890">What To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_destination configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" role="AEN1785">Where To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_error_verbosity configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1900">What To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_hostname configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1879">What To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_line_prefix configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1911">What To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_min_messages configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" role="AEN1842">When To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_per_node_statement configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1867">What To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_standby_delay configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2720">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>log_statement configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" role="AEN1856">What To Log</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>M</title> + +<indexentry> + <primaryie>make, + <ulink url="install-requirements.html" role="AEN734">Requirements</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>master_slave_mode configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" role="AEN1236">Master slave mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>master_slave_sub_mode configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" role="AEN1250">Master slave mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>max_pool configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1595">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>MD5, + <ulink url="auth-methods.html#AUTH-MD5" role="AEN3844">MD5 Password Authentication</ulink>, + <ulink url="auth-methods.html#SETTING-MD5-AUTHENTICATION" role="SETTING-MD5-AUTHENTICATION">Setting md5 Authentication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memory_cache_enabled configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-ENABLING" role="AEN2764">Enabling in memory query cache</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_auto_cache_invalidation configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2826">Common configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_cache_block_size configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" role="AEN2938">Configurations to use shared memory</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_expire configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2812">Common configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_maxcache configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2841">Common configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_max_num_cache configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" role="AEN2925">Configurations to use shared memory</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_memcached_host configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" role="AEN2957">Configurations to use memcached</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_memcached_port configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" role="AEN2971">Configurations to use memcached</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_method configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CHOOSE-STORAGE" role="AEN2777">Choosing cache storage</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_oiddir configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2894">Common configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>memqcache_total_size configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" role="AEN2915">Configurations to use shared memory</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>N</title> + +<indexentry> + <primaryie>num_init_children configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1153">Connection Settings</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>O</title> + +<indexentry> + <primaryie>OpenSSL, + <ulink url="install-pgpool.html" role="AEN819">Installing pgpool-II</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>other_pgpool_hostname configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" role="AEN3547">Watchdog servers configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>other_pgpool_port configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" role="AEN3558">Watchdog servers configurations</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>other_wd_port0 configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" role="AEN3569">Watchdog servers configurations</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>P</title> + +<indexentry> + <primaryie>PAM, + <ulink url="auth-methods.html#AUTH-PAM" role="AUTH-PAM">PAM Authentication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp configuration, + <ulink url="configuring-pcp-conf.html" role="AEN952">Configuring pcp.conf</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_attach_node, + <ulink url="pcp-attach-node.html" role="pcp-attach-node">pcp_attach_node</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_common_options, + <ulink url="pcp-common-options.html" role="pcp-common-options">pcp_common_options</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_detach_node, + <ulink url="pcp-detach-node.html" role="pcp-detach-node">pcp_detach_node</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_listen_addresses configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1116">Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_node_count, + <ulink url="pcp-node-count.html" role="pcp-node-count">pcp_node_count</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_node_info, + <ulink url="pcp-node-info.html" role="pcp-node-info">pcp_node_info</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_pool_status, + <ulink url="pcp-pool-status.html" role="pcp-pool-status">pcp_pool_status</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_port configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1129">Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_proc_count, + <ulink url="pcp-proc-count.html" role="pcp-proc-count">pcp_proc_count</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_proc_info, + <ulink url="pcp-proc-info.html" role="pcp-proc-info">pcp_proc_info</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_promote_node, + <ulink url="pcp-promote-node.html" role="pcp-promote-node">pcp_promote_node</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_recovery_node, + <ulink url="pcp-recovery-node.html" role="pcp-recovery-node">pcp_recovery_node</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_socket_dir configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1140">Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_stop_pgpool, + <ulink url="pcp-stop-pgpool.html" role="pcp-stop-pgpool">pcp_stop_pgpool</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pcp_watchdog_info, + <ulink url="pcp-watchdog-info.html" role="pcp-watchdog-info">pcp_watchdog_info</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>Pgpool-II configuration, + <ulink url="configuring-pgpool.html" role="AEN971">Configuring pgpool</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>Pgpool-II user, + <ulink url="pgpool-ii-user.html" role="AEN941">The Pgpool-II User Account</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pgpool.conf, + <ulink url="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" role="AEN1047">Parameter Interaction via the Configuration File</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pgpool_setup, + <ulink url="pgpool-setup.html" role="pgpool-setup">pgpool_setup</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pg_md5, + <ulink url="pg-md5.html" role="pg-md5">pg_md5</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pid_file_name configuration parameter, + <ulink url="runtime-misc.html" role="AEN3640">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ping_path configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" role="AEN3136">Upstream server connection</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pool_hba.conf, + <ulink url="auth-pool-hba-conf.html" role="auth-pool-hba-conf">The pool_hba.conf File</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>pool_passwd configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" role="AEN1199">Authentication Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>port configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1092">Connection Settings</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>R</title> + +<indexentry> + <primaryie>recovery_1st_stage_command configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2540">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>recovery_2nd_stage_command configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2579">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>recovery_password configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2529">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>recovery_timeout configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2618">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>recovery_user configuration parameter, + <ulink url="runtime-online-recovery.html" role="AEN2519">Online Recovery</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>relcache_expire configuration parameter, + <ulink url="runtime-misc.html" role="AEN3583">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>relcache_size configuration parameter, + <ulink url="runtime-misc.html" role="AEN3597">Misc Configuration Parameters</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>replicate_select configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1337">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>replication_mode configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1288">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>replication_stop_on_mismatch configuration parameter, + <ulink url="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" role="AEN1302">Replication mode</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>RESET, + <ulink url="sql-pgpool-reset.html" role="sql-pgpool-reset">PGPOOL RESET</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>reset_query_list configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1740">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>S</title> + +<indexentry> + <primaryie>search_primary_node_timeout configuration parameter, + <ulink url="runtime-config-failover.html" role="AEN2467">Failover and Failback</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>serialize_accept configuration parameter, + <ulink url="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" role="AEN1629">Connection Pooling Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>SET, + <ulink url="sql-pgpool-set.html" role="sql-pgpool-set">PGPOOL SET</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>SHOW, + <ulink url="sql-pgpool-show.html" role="sql-pgpool-show">PGPOOL SHOW</ulink>, + <ulink url="sql-show-pgpool-status.html" role="sql-show-pgpool-status">SHOW PGPOOL STATUS</ulink>, + <ulink url="sql-show-pool-nodes.html" role="sql-show-pool-nodes">SHOW POOL NODES</ulink>, + <ulink url="sql-show-pool-processes.html" role="sql-show-pool-processes">SHOW POOL_PROCESSES</ulink>, + <ulink url="sql-show-pool-pools.html" role="sql-show-pool-pools">SHOW POOL_POOLS</ulink>, + <ulink url="sql-show-pool-version.html" role="sql-show-pool-version">SHOW POOL_VERSION</ulink>, + <ulink url="sql-show-pool-cache.html" role="sql-show-pool-cache">SHOW POOL_CACHE</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>SIGHUP, + <ulink url="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" role="AEN1054">Parameter Interaction via the Configuration File</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>socket_dir configuration parameter, + <ulink url="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" role="AEN1103">Connection Settings</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>sr_check_database configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2694">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>sr_check_password configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2682">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>sr_check_period configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2657">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>sr_check_user configuration parameter, + <ulink url="runtime-streaming-replication-check.html" role="AEN2667">Streaming Replication Check</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ssl configuration parameter, + <ulink url="runtime-ssl.html" role="AEN2985">Secure Sockect Layer (SSL)</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ssl_ca_cert configuration parameter, + <ulink url="runtime-ssl.html" role="AEN3028">Secure Sockect Layer (SSL)</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ssl_ca_cert_dir configuration parameter, + <ulink url="runtime-ssl.html" role="AEN3042">Secure Sockect Layer (SSL)</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ssl_cert configuration parameter, + <ulink url="runtime-ssl.html" role="AEN3017">Secure Sockect Layer (SSL)</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>ssl_key configuration parameter, + <ulink url="runtime-ssl.html" role="AEN3006">Secure Sockect Layer (SSL)</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>syslog_facility configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" role="AEN1805">Where To Log</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>syslog_ident configuration parameter, + <ulink url="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" role="AEN1816">Where To Log</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>T</title> + +<indexentry> + <primaryie>trusted_servers configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" role="AEN3124">Upstream server connection</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>U</title> + +<indexentry> + <primaryie>use_watchdog configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-ENABLE-WATCHDOG" role="AEN3067">Enable watchdog</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>W</title> + +<indexentry> + <primaryie>WATCHDOG, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-COORDINATING-NODES" role="TUTORIAL-WATCHDOG-COORDINATING-NODES">Coordinating multiple Pgpool-II nodes</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-LIFECHECKING" role="TUTORIAL-WATCHDOG-LIFECHECKING">Life checking of other Pgpool-II nodes</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG" role="TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG">Consistency of configuration parameters on all Pgpool-II nodes</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-ACTIVE" role="TUTORIAL-WATCHDOG-CHANGING-ACTIVE">Changing active/standby state when certain fault is detected</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-AUTOMATIC-VIP" role="TUTORIAL-WATCHDOG-AUTOMATIC-VIP">Automatic virtual IP switching</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY" role="TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY">Automatic registration of a server as a standby in recovery</ulink>, + <ulink url="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-START-STOP" role="TUTORIAL-WATCHDOG-START-STOP">Starting/stopping watchdog</ulink>, + <ulink url="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET" role="TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET">Watchdog IPC command packet format</ulink>, + <ulink url="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-RESULT-PACKET" role="TUTORIAL-WATCHDOG-IPC-RESULT-PACKET">Watchdog IPC result packet format</ulink>, + <ulink url="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES" role="TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES">Watchdog IPC command packet types</ulink>, + <ulink url="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC" role="TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC">External lifecheck IPC packets and data</ulink>, + <ulink url="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES" role="TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES">Getting list of configured watchdog nodes</ulink>, + <ulink url="tutorial-watchdog-restrictions.html" role="tutorial-watchdog-restrictions">Restrictions on watchdog</ulink>, + <ulink url="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE" role="TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE">Watchdog restriction with query mode lifecheck</ulink>, + <ulink url="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE" role="TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE">Connecting to Pgpool-II whose watchdog status is down</ulink>, + <ulink url="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART" role="TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART">Pgpool-II whose watchdog status is down requires restart</ulink>, + <ulink url="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME" role="TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME">Watchdog promotion to active takes few seconds</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>watchdog_setup, + <ulink url="watchdog-setup.html" role="watchdog-setup">watchdog_setup</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_authkey configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" role="AEN3101">Watchdog communication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_de_escalation_command configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" role="AEN3255">Behaivor on escalation and de-escalation</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_escalation_command configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" role="AEN3244">Behaivor on escalation and de-escalation</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_heartbeat_deadtime configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3403">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_heartbeat_keepalive configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3390">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_heartbeat_port configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" role="AEN3376">Lifecheck Heartbeat mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_hostname configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" role="AEN3080">Watchdog communication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_interval configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" role="AEN3328">Life checking Pgpool-II </ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_ipc_socket_dir configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" role="AEN3354">Life checking Pgpool-II </ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_lifecheck_dbname configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" role="AEN3496">Lifecheck Query mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_lifecheck_method configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" role="AEN3277">Life checking Pgpool-II </ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_lifecheck_password configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" role="AEN3528">Lifecheck Query mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_lifecheck_query configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" role="AEN3480">Lifecheck Query mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_lifecheck_user configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" role="AEN3512">Lifecheck Query mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_life_point configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" role="AEN3466">Lifecheck Query mode configuration</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_monitoring_interfaces_list configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" role="AEN3310">Life checking Pgpool-II </ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_port configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" role="AEN3091">Watchdog communication</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>wd_priority configuration parameter, + <ulink url="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" role="AEN3339">Life checking Pgpool-II </ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>white_function_list configuration parameter, + <ulink url="runtime-config-load-balancing.html" role="AEN1997">Load Balancing</ulink> + </primaryie> +</indexentry> + +<indexentry> + <primaryie>white_memqcache_table_list configuration parameter, + <ulink url="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" role="AEN2859">Common configurations</ulink> + </primaryie> +</indexentry> + +</indexdiv> +<indexdiv><title>Y</title> + +<indexentry> + <primaryie>yacc, + <ulink url="install-requirements.html" role="AEN773">Requirements</ulink> + </primaryie> +</indexentry> + +</indexdiv> +</index> diff --git a/doc/src/sgml/html/LEGALNOTICE.html b/doc/src/sgml/html/LEGALNOTICE.html new file mode 100644 index 000000000..498fc118c --- /dev/null +++ b/doc/src/sgml/html/LEGALNOTICE.html @@ -0,0 +1,129 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="NEXT" +TITLE="Preface" +HREF="preface.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="LEGALNOTICE" +><A +NAME="LEGALNOTICE" +></A +><P +><B +>Legal Notice</B +></P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool and Pgpool-II</SPAN +> are Copyright &copy; 2003-2016 + by the Pgpool Global Development Group. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> are Copyright &copy; 1996-2016 + by the PostgreSQL Global Development Group. + </P +><P +> Permission to use, copy, modify, and distribute this software and + its documentation for any purpose, without fee, and without a + written agreement is hereby granted, provided that the above + copyright notice and this paragraph and the following two paragraphs + appear in all copies. + </P +><P +> IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY + PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS + SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + </P +><P +> THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN <SPAN +CLASS="QUOTE" +>"AS-IS"</SPAN +> BASIS, AND THE UNIVERSITY OF + CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>&nbsp;</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/admin.html b/doc/src/sgml/html/admin.html new file mode 100644 index 000000000..a0b0ff404 --- /dev/null +++ b/doc/src/sgml/html/admin.html @@ -0,0 +1,374 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Server Administration</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="Architecure of the watchdog" +HREF="tutorial-advanced-arch.html"><LINK +REL="NEXT" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PART" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Architecure of the watchdog" +HREF="tutorial-advanced-arch.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PART" +><A +NAME="ADMIN" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>II. Server Administration</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN713" +></A +><P +> This part covers topics that are of interest + to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> administrators. + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>3. <A +HREF="installation.html" +><SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</A +></DT +><DD +><DL +><DT +>3.1. <A +HREF="install-source.html" +>Installation from Source Code</A +></DT +><DT +>3.2. <A +HREF="install-requirements.html" +>Requirements</A +></DT +><DT +>3.3. <A +HREF="install-getsource.html" +>Getting The Source</A +></DT +><DT +>3.4. <A +HREF="install-pgpool.html" +>Installing pgpool-II</A +></DT +><DT +>3.5. <A +HREF="install-pgpool-recovery.html" +>Installing pgpool_recovery</A +></DT +><DT +>3.6. <A +HREF="install-pgpool-regclass.html" +>Installing pgpool-regclass</A +></DT +><DT +>3.7. <A +HREF="create-installlock-table.html" +>Creating insert_lock table</A +></DT +><DT +>3.8. <A +HREF="setting-up-pgpool-conf.html" +>Setting up pgpool.conf</A +></DT +></DL +></DD +><DT +>4. <A +HREF="runtime.html" +>Server Setup and Operation</A +></DT +><DD +><DL +><DT +>4.1. <A +HREF="pgpool-ii-user.html" +>The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> User Account</A +></DT +><DT +>4.2. <A +HREF="configuring-pcp-conf.html" +>Configuring pcp.conf</A +></DT +><DT +>4.3. <A +HREF="configuring-pgpool.html" +>Configuring pgpool</A +></DT +><DT +>4.4. <A +HREF="configuring-backend-info.html" +>Configuring backend information</A +></DT +></DL +></DD +><DT +>5. <A +HREF="runtime-config.html" +>Server Configuration</A +></DT +><DD +><DL +><DT +>5.1. <A +HREF="config-setting.html" +>Setting Parameters</A +></DT +><DT +>5.2. <A +HREF="runtime-config-connection.html" +>Connections and Authentication</A +></DT +><DT +>5.3. <A +HREF="runtime-config-runnung-mode.html" +>Running mode</A +></DT +><DT +>5.4. <A +HREF="runtime-config-backend-settings.html" +>Backend Settings</A +></DT +><DT +>5.5. <A +HREF="runtime-config-connection-pooling.html" +>Connection Pooling</A +></DT +><DT +>5.6. <A +HREF="runtime-config-logging.html" +>Error Reporting and Logging</A +></DT +><DT +>5.7. <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +></DT +><DT +>5.8. <A +HREF="runtime-config-health-check.html" +>Health Check</A +></DT +><DT +>5.9. <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +></DT +><DT +>5.10. <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +></DT +><DT +>5.11. <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +></DT +><DT +>5.12. <A +HREF="runtime-in-memory-query-cache.html" +>In Memory Query Cache</A +></DT +><DT +>5.13. <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +></DT +><DT +>5.14. <A +HREF="runtime-watchdog-config.html" +>Watchdog</A +></DT +><DT +>5.15. <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +></DT +></DL +></DD +><DT +>6. <A +HREF="client-authentication.html" +>Client Authentication</A +></DT +><DD +><DL +><DT +>6.1. <A +HREF="auth-pool-hba-conf.html" +>The <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> File</A +></DT +><DT +>6.2. <A +HREF="auth-methods.html" +>Authentication Methods</A +></DT +></DL +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-advanced-arch.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Architecure of the watchdog</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/appendixes.html b/doc/src/sgml/html/appendixes.html new file mode 100644 index 000000000..d1ffe6d00 --- /dev/null +++ b/doc/src/sgml/html/appendixes.html @@ -0,0 +1,191 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Appendixes</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="SHOW POOL_CACHE" +HREF="sql-show-pool-cache.html"><LINK +REL="NEXT" +TITLE="Release Notes" +HREF="release.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PART" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW POOL_CACHE" +HREF="sql-show-pool-cache.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Release Notes" +HREF="release.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PART" +><A +NAME="APPENDIXES" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>V. Appendixes</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN5438" +></A +><P +> something... + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>A. <A +HREF="release.html" +>Release Notes</A +></DT +><DD +><DL +><DT +>A.1. <A +HREF="release-3-6.html" +>Release 3.6</A +></DT +></DL +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pool-cache.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="release.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW POOL_CACHE</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Release Notes</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/auth-methods.html b/doc/src/sgml/html/auth-methods.html new file mode 100644 index 000000000..d5fe9d1d8 --- /dev/null +++ b/doc/src/sgml/html/auth-methods.html @@ -0,0 +1,360 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Authentication Methods</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Client Authentication" +HREF="client-authentication.html"><LINK +REL="PREVIOUS" +TITLE="The pool_hba.conf File" +HREF="auth-pool-hba-conf.html"><LINK +REL="NEXT" +TITLE="Examples" +HREF="examples.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="The pool_hba.conf File" +HREF="auth-pool-hba-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 6. Client Authentication</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Examples" +HREF="examples.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AUTH-METHODS" +>6.2. Authentication Methods</A +></H1 +><P +> The following subsections describe the authentication methods in more detail. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AUTH-TRUST" +>6.2.1. Trust Authentication</A +></H2 +><P +> When <TT +CLASS="LITERAL" +>trust</TT +> authentication is specified, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> assumes that anyone who can + connect to the server is authorized to access connect with + whatever database user name they specify. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AUTH-MD5" +>6.2.2. MD5 Password Authentication</A +></H2 +><P +> This authentication method is the password-based authentication + methods in which MD-5-hashed password is sent by client. + Since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not has the visibility + of PostgreSQL's database user password and client application only sends + the MD5-hash of the password, so <TT +CLASS="LITERAL" +>md5</TT +> authentication + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is supported using the + <A +HREF="runtime-config-connection.html#GUC-POOL-PASSWD" +>pool_passwd</A +> authentication file. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="MD5-AUTHENTICATION-FILE-FORMAT" +>6.2.2.1. Authentication file format</A +></H3 +><P +> This <TT +CLASS="LITERAL" +>pool_passwd</TT +> file should contain lines in the following format: + </P><PRE +CLASS="PROGRAMLISTING" +> "username:encrypted_passwd" + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="SETTING-MD5-AUTHENTICATION" +>6.2.2.2. Setting md5 Authentication</A +></H3 +><P +> here are the steps to enable <TT +CLASS="LITERAL" +>md5</TT +> authentication: + </P +><P +> 1- Login as the database's operating system user and type + <TT +CLASS="COMMAND" +>"pg_md5 --md5auth --username= "</TT +> + user name and <TT +CLASS="LITERAL" +>md5</TT +> encrypted password are registered + into pool_passwd. + If pool_passwd does not exist yet, pg_md5 command will automatically create it for you. + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> user name and password must be identical to those registered in PostgreSQL server + </P +></BLOCKQUOTE +></DIV +><P> + </P +><P +> 2- Add an appropriate md5 entry to <TT +CLASS="FILENAME" +>pool_hba.conf</TT +>. + See <A +HREF="auth-pool-hba-conf.html" +>Section 6.1</A +> for more details. + </P +><P +> 3- After changing md5 password(in both pool_passwd and PostgreSQL of course), + reload the pgpool configurations. + </P +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AUTH-PAM" +>6.2.3. PAM Authentication</A +></H2 +><P +> This authentication method uses PAM (Pluggable + Authentication Modules) as the authentication mechanism. The + default PAM service name is <TT +CLASS="LITERAL" +>pgpool</TT +>. + PAM authentication is supported using user information on + the host where <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is executed. + For more + information about PAM, please read the + <A +HREF="http://www.kernel.org/pub/linux/libs/pam/" +TARGET="_top" +> <SPAN +CLASS="PRODUCTNAME" +>Linux-PAM</SPAN +> Page</A +>. + </P +><P +> To enable PAM authentication, you need to create a service-configuration + file for <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> in the system's + PAM configuration directory (which is usually at <TT +CLASS="LITERAL" +>"/etc/pam.d"</TT +>). + A sample service-configuration file is installed as + <TT +CLASS="FILENAME" +>"share/pgpool.pam"</TT +> under the install directory. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> To enable PAM support the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + must be configured with <TT +CLASS="COMMAND" +>"--with-pam"</TT +> + </P +></BLOCKQUOTE +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="auth-pool-hba-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="examples.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>The <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> File</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Examples</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/auth-pool-hba-conf.html b/doc/src/sgml/html/auth-pool-hba-conf.html new file mode 100644 index 000000000..de731bfe2 --- /dev/null +++ b/doc/src/sgml/html/auth-pool-hba-conf.html @@ -0,0 +1,773 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>The pool_hba.conf File</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Client Authentication" +HREF="client-authentication.html"><LINK +REL="PREVIOUS" +TITLE="Client Authentication" +HREF="client-authentication.html"><LINK +REL="NEXT" +TITLE="Authentication Methods" +HREF="auth-methods.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Client Authentication" +HREF="client-authentication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 6. Client Authentication</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Authentication Methods" +HREF="auth-methods.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AUTH-POOL-HBA-CONF" +>6.1. The <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> File</A +></H1 +><P +> Just like the <TT +CLASS="FILENAME" +>pg_hba.conf</TT +> file for PostgreSQL, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> supports a similar client authentication + function using a configuration file called <TT +CLASS="FILENAME" +>pool_hba.conf</TT +>. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> installation also includes the sample + <TT +CLASS="FILENAME" +>pool_hba.conf.sample</TT +> file in the default configuration directory + (<TT +CLASS="LITERAL" +>"/usr/local/etc"</TT +>). + By default, pool_hba authentication is disabled, and setting <TT +CLASS="VARNAME" +>enable_pool_hba</TT +> + to <TT +CLASS="LITERAL" +>on</TT +> enables it. see the <A +HREF="runtime-config-connection.html#GUC-ENABLE-POOL-HBA" +>enable_pool_hba</A +> configuration parameter. + </P +><P +> The format of the pool_hba.conf file follows very closely PostgreSQL's pg_hba.conf format. + + The general format of the <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> file is + a set of records, one per line. Blank lines are ignored, as is any + text after the <TT +CLASS="LITERAL" +>#</TT +> comment character. + Records cannot be continued across lines. + A record is made + up of a number of fields which are separated by spaces and/or tabs. + Fields can contain white space if the field value is double-quoted. + Quoting one of the keywords in a database, user, or address field (e.g., + <TT +CLASS="LITERAL" +>all</TT +> or <TT +CLASS="LITERAL" +>replication</TT +>) makes the word lose its special + meaning, and just match a database, user, or host with that name. + </P +><P +> Each record specifies a connection type, a client IP address range + (if relevant for the connection type), a database name, a user name, + and the authentication method to be used for connections matching + these parameters. The first record with a matching connection type, + client address, requested database, and user name is used to perform + authentication. There is no <SPAN +CLASS="QUOTE" +>"fall-through"</SPAN +> or + <SPAN +CLASS="QUOTE" +>"backup"</SPAN +>: if one record is chosen and the authentication + fails, subsequent records are not considered. If no record matches, + access is denied. + </P +><P +> A record can have one of the following formats +</P><PRE +CLASS="SYNOPSIS" +>local <TT +CLASS="REPLACEABLE" +><I +>database</I +></TT +> <TT +CLASS="REPLACEABLE" +><I +>user</I +></TT +> <TT +CLASS="REPLACEABLE" +><I +>auth-method</I +></TT +> [<SPAN +CLASS="OPTIONAL" +><TT +CLASS="REPLACEABLE" +><I +>auth-options</I +></TT +></SPAN +>] +host <TT +CLASS="REPLACEABLE" +><I +>database</I +></TT +> <TT +CLASS="REPLACEABLE" +><I +>user</I +></TT +> <TT +CLASS="REPLACEABLE" +><I +>CIDR-address</I +></TT +> <TT +CLASS="REPLACEABLE" +><I +>auth-method</I +></TT +> [<SPAN +CLASS="OPTIONAL" +><TT +CLASS="REPLACEABLE" +><I +>auth-options</I +></TT +></SPAN +>]</PRE +><P> + The meaning of the fields is as follows: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>local</TT +></DT +><DD +><P +> This record matches connection attempts using Unix-domain + sockets. Without a record of this type, Unix-domain socket + connections are disallowed. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>host</TT +></DT +><DD +><P +> This record matches connection attempts made using TCP/IP. + <TT +CLASS="LITERAL" +>host</TT +> records match either + <ACRONYM +CLASS="ACRONYM" +>SSL</ACRONYM +> or non-<ACRONYM +CLASS="ACRONYM" +>SSL</ACRONYM +> connection + attempts. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Remote TCP/IP connections will not be possible unless + the server is started with an appropriate value for the + <A +HREF="runtime-config-connection.html#GUC-LISTEN-ADDRESSES" +>listen_addresses</A +> configuration parameter, + since the default behavior is to listen for TCP/IP connections + only on the local loopback address <TT +CLASS="LITERAL" +>localhost</TT +>. + </P +></BLOCKQUOTE +></DIV +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>database</I +></TT +></DT +><DD +><P +> Specifies which database name(s) this record matches. The value + <TT +CLASS="LITERAL" +>all</TT +> specifies that it matches all databases. + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="LITERAL" +>"samegroup"</TT +> for database field is not supported: + </P +><P +> Since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not know anything about + users in the PostgreSQL backend server, So the database name is simply + compared against the entries in the DATABASE field of <TT +CLASS="FILENAME" +>pool_hba.conf</TT +>. + </P +></BLOCKQUOTE +></DIV +><P> + </P +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>user</I +></TT +></DT +><DD +><P +> Specifies which database user name(s) this record + matches. The value <TT +CLASS="LITERAL" +>all</TT +> specifies that it + matches all users. Otherwise, this is the name of a specific + database user + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> group names following <TT +CLASS="LITERAL" +>"+"</TT +> for USER field is not supported: + </P +><P +> This is for the same reason as for the <TT +CLASS="LITERAL" +>"samegroup"</TT +> of database field. + A user name is simply checked against the entries in the USER field of + <TT +CLASS="FILENAME" +>pool_hba.conf</TT +>. + </P +></BLOCKQUOTE +></DIV +><P> + </P +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>address</I +></TT +></DT +><DD +><P +> Specifies the client machine address(es) that this record matches. + An IP address range is specified using standard numeric notation + for the range's starting address, then a slash (<TT +CLASS="LITERAL" +>/</TT +>) + and a <ACRONYM +CLASS="ACRONYM" +>CIDR</ACRONYM +> mask length. The mask + length indicates the number of high-order bits of the client + IP address that must match. Bits to the right of this should + be zero in the given IP address. + There must not be any white space between the IP address, the + <TT +CLASS="LITERAL" +>/</TT +>, and the CIDR mask length. + + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Pv6 IP address/mask is currently not supported + </P +></BLOCKQUOTE +></DIV +><P> + </P +><P +> This field only applies to <TT +CLASS="LITERAL" +>host</TT +> records. + </P +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>auth-method</I +></TT +></DT +><DD +><P +> Specifies the authentication method to use when a connection matches + this record. The possible choices are summarized here; details + are in <A +HREF="auth-methods.html" +>Section 6.2</A +>. + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>trust</TT +></DT +><DD +><P +> Allow the connection unconditionally. This method + allows anyone that can connect to the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>reject</TT +></DT +><DD +><P +> Reject the connection unconditionally. This is useful for + <SPAN +CLASS="QUOTE" +>"filtering out"</SPAN +> certain hosts, for example a + <TT +CLASS="LITERAL" +>reject</TT +> line could block a specific host from connecting. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>md5</TT +></DT +><DD +><P +> Require the client to supply a double-MD5-hashed password for + authentication. + + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> To use <TT +CLASS="LITERAL" +>md5</TT +> authentication, you need to register + the user name and password in <TT +CLASS="FILENAME" +>"pool_passwd"</TT +>. + See <A +HREF="auth-methods.html#AUTH-MD5" +>Section 6.2.2</A +> for more details. + </P +></BLOCKQUOTE +></DIV +><P> + </P +></DD +><DT +><TT +CLASS="LITERAL" +>pam</TT +></DT +><DD +><P +> Authenticate using the Pluggable Authentication Modules + (PAM) service provided by the operating system. + See <A +HREF="auth-methods.html#AUTH-PAM" +>Section 6.2.3</A +> for details. + </P +><P +> PAM authentication is supported using user information on the host + where <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is running. + To enable PAM support the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + must be configured with <TT +CLASS="COMMAND" +>"--with-pam"</TT +> + </P +><P +> To enable PAM authentication, You must create a service-configuration file + for <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> in the system's PAM configuration + directory (that is usually located at <TT +CLASS="LITERAL" +>"/etc/pam.d"</TT +>). + A sample service-configuration file is also installed as <TT +CLASS="LITERAL" +>"share/pgpool.pam"</TT +> + under the install directory. + </P +></DD +></DL +></DIV +><P> + + </P +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>auth-options</I +></TT +></DT +><DD +><P +> After the <TT +CLASS="REPLACEABLE" +><I +>auth-method</I +></TT +> field, there can be field(s) of + the form <TT +CLASS="REPLACEABLE" +><I +>name</I +></TT +><TT +CLASS="LITERAL" +>=</TT +><TT +CLASS="REPLACEABLE" +><I +>value</I +></TT +> that + specify options for the authentication method. + </P +></DD +></DL +></DIV +><P> + </P +><P +> Since the <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> records are examined + sequentially for each connection attempt, the order of the records is + significant. Typically, earlier records will have tight connection + match parameters and weaker authentication methods, while later + records will have looser match parameters and stronger authentication + methods. For example, one might wish to use <TT +CLASS="LITERAL" +>trust</TT +> + authentication for local TCP/IP connections but require a password for + remote TCP/IP connections. In this case a record specifying + <TT +CLASS="LITERAL" +>trust</TT +> authentication for connections from 127.0.0.1 would + appear before a record specifying password authentication for a wider + range of allowed client IP addresses. + </P +><DIV +CLASS="TIP" +><BLOCKQUOTE +CLASS="TIP" +><P +><B +>Tip: </B +> All pool_hba authentication options described in this section are + about the authentication taking place between a client and the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + A client still has to go through the PostgreSQL's authentication + process and must have the <TT +CLASS="LITERAL" +>CONNECT</TT +> privilege for the + database on the backend PostgreSQL server. + </P +><P +> As far as pool_hba is concerned, it does not matter if a user name + and/or database name given by a client + (i.e. <TT +CLASS="COMMAND" +>psql -U testuser testdb</TT +>) + really exists in the backend. pool_hba only cares if a match in the + <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> can be found or not. + </P +></BLOCKQUOTE +></DIV +><P +> Some examples of <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> entries. + See the next section for details on the different authentication methods. + </P +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-PG-HBA.CONF" +></A +><P +><B +>Example 6-1. Example <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> Entries</B +></P +><PRE +CLASS="PROGRAMLISTING" +># Allow any user on the local system to connect to any database with +# any database user name using Unix-domain sockets (the default for local +# connections). +# +# TYPE DATABASE USER ADDRESS METHOD +local all all trust + +# The same using local loopback TCP/IP connections. +# +# TYPE DATABASE USER ADDRESS METHOD +host all all 127.0.0.1/32 trust + +# Allow any user from host 192.168.12.10 to connect to database +# "postgres" if the user's password is correctly supplied. +# +# TYPE DATABASE USER ADDRESS METHOD +host postgres all 192.168.12.10/32 md5</PRE +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="auth-methods.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Client Authentication</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Authentication Methods</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/bookindex.html b/doc/src/sgml/html/bookindex.html new file mode 100644 index 000000000..abd44382d --- /dev/null +++ b/doc/src/sgml/html/bookindex.html @@ -0,0 +1,1723 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Index</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="Release 3.6" +HREF="release-3-6.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="INDEX" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Release 3.6" +HREF="release-3-6.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +>&nbsp;</TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="INDEX" +><H1 +><A +NAME="BOOKINDEX" +></A +>Index</H1 +><P +CLASS="INDEXDIV-QUICKLINKS" +><A +HREF="bookindex.html#AEN5875" +>A</A +> | <A +HREF="bookindex.html#AEN5892" +>B</A +> | <A +HREF="bookindex.html#AEN5918" +>C</A +> | <A +HREF="bookindex.html#AEN5963" +>D</A +> | <A +HREF="bookindex.html#AEN5974" +>E</A +> | <A +HREF="bookindex.html#AEN5979" +>F</A +> | <A +HREF="bookindex.html#AEN5999" +>H</A +> | <A +HREF="bookindex.html#AEN6035" +>I</A +> | <A +HREF="bookindex.html#AEN6055" +>L</A +> | <A +HREF="bookindex.html#AEN6102" +>M</A +> | <A +HREF="bookindex.html#AEN6153" +>N</A +> | <A +HREF="bookindex.html#AEN6158" +>O</A +> | <A +HREF="bookindex.html#AEN6172" +>P</A +> | <A +HREF="bookindex.html#AEN6255" +>R</A +> | <A +HREF="bookindex.html#AEN6293" +>S</A +> | <A +HREF="bookindex.html#AEN6352" +>T</A +> | <A +HREF="bookindex.html#AEN6357" +>U</A +> | <A +HREF="bookindex.html#AEN6362" +>W</A +> | <A +HREF="bookindex.html#AEN6446" +>Y</A +></P +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5875" +>A</A +></H2 +><DL +><DT +>allow_sql_comments configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>app_name_redirect_preference_list configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>arping_cmd configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +><DT +>arping_path configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +><DT +>authentication_timeout configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" +>Authentication Settings</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5892" +>B</A +></H2 +><DL +><DT +>backend_data_directory configuration parameter, + <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA" +>Backend Data Settings</A +> + </DT +><DT +>backend_flag configuration parameter, + <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA" +>Backend Data Settings</A +> + </DT +><DT +>backend_hostname configuration parameter, + <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" +>Backend Connection Settings</A +> + </DT +><DT +>backend_port configuration parameter, + <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" +>Backend Connection Settings</A +> + </DT +><DT +>backend_weight configuration parameter, + <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" +>Backend Connection Settings</A +> + </DT +><DT +>bison, + <A +HREF="install-requirements.html" +>Requirements</A +> + </DT +><DT +>black_function_list configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>black_memqcache_table_list configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5918" +>C</A +></H2 +><DL +><DT +>check_temp_table configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>check_unlogged_table configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>child_life_time configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>child_max_connections configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>clear_memqcache_on_escalation configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" +>Behaivor on escalation and de-escalation</A +> + </DT +><DT +>client authentication, + <A +HREF="client-authentication.html" +>Client Authentication</A +> + </DT +><DT +>client_idle_limit configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>client_idle_limit_in_recovery configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>client_min_messages configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" +>When To Log</A +> + </DT +><DT +>configuration + </DT +><DD +><DL +><DT +>of the server, + <A +HREF="runtime-config.html" +>Server Configuration</A +> + </DT +><DD +><DL +></DL +></DD +></DL +></DD +><DT +>configuring watchdog, + <A +HREF="runtime-watchdog-config.html" +>Watchdog</A +> + </DT +><DT +>connection_cache configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>connection_life_time configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>connect_timeout configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5963" +>D</A +></H2 +><DL +><DT +>database_redirect_preference_list configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>delay_threshold configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>delegate_IP configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5974" +>E</A +></H2 +><DL +><DT +>enable_pool_hba configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" +>Authentication Settings</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5979" +>F</A +></H2 +><DL +><DT +>failback_command configuration parameter, + <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +> + </DT +><DT +>failover_command configuration parameter, + <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +> + </DT +><DT +>failover_if_affected_tuples_mismatch configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>fail_over_on_backend_error configuration parameter, + <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +> + </DT +><DT +>flex, + <A +HREF="install-requirements.html" +>Requirements</A +> + </DT +><DT +>follow_master_command configuration parameter, + <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN5999" +>H</A +></H2 +><DL +><DT +>health_check_database configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_max_retries configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_password configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_period configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_retry_delay configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_timeout configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>health_check_user configuration parameter, + <A +HREF="runtime-config-health-check.html" +>Health Check</A +> + </DT +><DT +>heartbeat_destination configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>heartbeat_destination_port configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>heartbeat_device configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>history + </DT +><DD +><DL +><DT +>of Pgpool-II, + <A +HREF="history.html" +>A Brief History of Pgpool-II</A +> + </DT +><DD +><DL +></DL +></DD +></DL +></DD +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6035" +>I</A +></H2 +><DL +><DT +>if_cmd_path configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +><DT +>if_down_cmd configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +><DT +>if_up_cmd configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +> + </DT +><DT +>ignore_leading_white_space configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>insert_lock configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>installation, + <A +HREF="installation.html" +>Pgpool-II Installation from Source Code</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6055" +>L</A +></H2 +><DL +><DT +>lex, + <A +HREF="install-requirements.html" +>Requirements</A +> + </DT +><DT +>listen_addresses configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +><DT +>listen_backlog_multiplier configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>load_balance_mode configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>lobj_lock_table configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>logdir configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>log_connections configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +><DT +>log_destination configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" +>Where To Log</A +> + </DT +><DT +>log_error_verbosity configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +><DT +>log_hostname configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +><DT +>log_line_prefix configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +><DT +>log_min_messages configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" +>When To Log</A +> + </DT +><DT +>log_per_node_statement configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +><DT +>log_standby_delay configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>log_statement configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6102" +>M</A +></H2 +><DL +><DT +>make, + <A +HREF="install-requirements.html" +>Requirements</A +> + </DT +><DT +>master_slave_mode configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" +>Master slave mode</A +> + </DT +><DT +>master_slave_sub_mode configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" +>Master slave mode</A +> + </DT +><DT +>max_pool configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>MD5, + <A +HREF="auth-methods.html#AUTH-MD5" +>MD5 Password Authentication</A +>, + <A +HREF="auth-methods.html#SETTING-MD5-AUTHENTICATION" +>Setting md5 Authentication</A +> + </DT +><DT +>memory_cache_enabled configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-ENABLING" +>Enabling in memory query cache</A +> + </DT +><DT +>memqcache_auto_cache_invalidation configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +><DT +>memqcache_cache_block_size configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" +>Configurations to use shared memory</A +> + </DT +><DT +>memqcache_expire configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +><DT +>memqcache_maxcache configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +><DT +>memqcache_max_num_cache configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" +>Configurations to use shared memory</A +> + </DT +><DT +>memqcache_memcached_host configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" +>Configurations to use memcached</A +> + </DT +><DT +>memqcache_memcached_port configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" +>Configurations to use memcached</A +> + </DT +><DT +>memqcache_method configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CHOOSE-STORAGE" +>Choosing cache storage</A +> + </DT +><DT +>memqcache_oiddir configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +><DT +>memqcache_total_size configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" +>Configurations to use shared memory</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6153" +>N</A +></H2 +><DL +><DT +>num_init_children configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6158" +>O</A +></H2 +><DL +><DT +>OpenSSL, + <A +HREF="install-pgpool.html" +>Installing pgpool-II</A +> + </DT +><DT +>other_pgpool_hostname configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" +>Watchdog servers configurations</A +> + </DT +><DT +>other_pgpool_port configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" +>Watchdog servers configurations</A +> + </DT +><DT +>other_wd_port0 configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" +>Watchdog servers configurations</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6172" +>P</A +></H2 +><DL +><DT +>PAM, + <A +HREF="auth-methods.html#AUTH-PAM" +>PAM Authentication</A +> + </DT +><DT +>pcp configuration, + <A +HREF="configuring-pcp-conf.html" +>Configuring pcp.conf</A +> + </DT +><DT +>pcp_attach_node, + <A +HREF="pcp-attach-node.html" +>pcp_attach_node</A +> + </DT +><DT +>pcp_common_options, + <A +HREF="pcp-common-options.html" +>pcp_common_options</A +> + </DT +><DT +>pcp_detach_node, + <A +HREF="pcp-detach-node.html" +>pcp_detach_node</A +> + </DT +><DT +>pcp_listen_addresses configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +><DT +>pcp_node_count, + <A +HREF="pcp-node-count.html" +>pcp_node_count</A +> + </DT +><DT +>pcp_node_info, + <A +HREF="pcp-node-info.html" +>pcp_node_info</A +> + </DT +><DT +>pcp_pool_status, + <A +HREF="pcp-pool-status.html" +>pcp_pool_status</A +> + </DT +><DT +>pcp_port configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +><DT +>pcp_proc_count, + <A +HREF="pcp-proc-count.html" +>pcp_proc_count</A +> + </DT +><DT +>pcp_proc_info, + <A +HREF="pcp-proc-info.html" +>pcp_proc_info</A +> + </DT +><DT +>pcp_promote_node, + <A +HREF="pcp-promote-node.html" +>pcp_promote_node</A +> + </DT +><DT +>pcp_recovery_node, + <A +HREF="pcp-recovery-node.html" +>pcp_recovery_node</A +> + </DT +><DT +>pcp_socket_dir configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +><DT +>pcp_stop_pgpool, + <A +HREF="pcp-stop-pgpool.html" +>pcp_stop_pgpool</A +> + </DT +><DT +>pcp_watchdog_info, + <A +HREF="pcp-watchdog-info.html" +>pcp_watchdog_info</A +> + </DT +><DT +>Pgpool-II configuration, + <A +HREF="configuring-pgpool.html" +>Configuring pgpool</A +> + </DT +><DT +>Pgpool-II user, + <A +HREF="pgpool-ii-user.html" +>The Pgpool-II User Account</A +> + </DT +><DT +>pgpool.conf, + <A +HREF="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" +>Parameter Interaction via the Configuration File</A +> + </DT +><DT +>pgpool_setup, + <A +HREF="pgpool-setup.html" +>pgpool_setup</A +> + </DT +><DT +>pg_md5, + <A +HREF="pg-md5.html" +>pg_md5</A +> + </DT +><DT +>pid_file_name configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>ping_path configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" +>Upstream server connection</A +> + </DT +><DT +>pool_hba.conf, + <A +HREF="auth-pool-hba-conf.html" +>The pool_hba.conf File</A +> + </DT +><DT +>pool_passwd configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" +>Authentication Settings</A +> + </DT +><DT +>port configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6255" +>R</A +></H2 +><DL +><DT +>recovery_1st_stage_command configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>recovery_2nd_stage_command configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>recovery_password configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>recovery_timeout configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>recovery_user configuration parameter, + <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +> + </DT +><DT +>relcache_expire configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>relcache_size configuration parameter, + <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +> + </DT +><DT +>replicate_select configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>replication_mode configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>replication_stop_on_mismatch configuration parameter, + <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +> + </DT +><DT +>RESET, + <A +HREF="sql-pgpool-reset.html" +>PGPOOL RESET</A +> + </DT +><DT +>reset_query_list configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6293" +>S</A +></H2 +><DL +><DT +>search_primary_node_timeout configuration parameter, + <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +> + </DT +><DT +>serialize_accept configuration parameter, + <A +HREF="runtime-config-connection-pooling.html#RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>Connection Pooling Settings</A +> + </DT +><DT +>SET, + <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> + </DT +><DT +>SHOW, + <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +>, + <A +HREF="sql-show-pgpool-status.html" +>SHOW PGPOOL STATUS</A +>, + <A +HREF="sql-show-pool-nodes.html" +>SHOW POOL NODES</A +>, + <A +HREF="sql-show-pool-processes.html" +>SHOW POOL_PROCESSES</A +>, + <A +HREF="sql-show-pool-pools.html" +>SHOW POOL_POOLS</A +>, + <A +HREF="sql-show-pool-version.html" +>SHOW POOL_VERSION</A +>, + <A +HREF="sql-show-pool-cache.html" +>SHOW POOL_CACHE</A +> + </DT +><DT +>SIGHUP, + <A +HREF="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" +>Parameter Interaction via the Configuration File</A +> + </DT +><DT +>socket_dir configuration parameter, + <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +> + </DT +><DT +>sr_check_database configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>sr_check_password configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>sr_check_period configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>sr_check_user configuration parameter, + <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +> + </DT +><DT +>ssl configuration parameter, + <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +> + </DT +><DT +>ssl_ca_cert configuration parameter, + <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +> + </DT +><DT +>ssl_ca_cert_dir configuration parameter, + <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +> + </DT +><DT +>ssl_cert configuration parameter, + <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +> + </DT +><DT +>ssl_key configuration parameter, + <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +> + </DT +><DT +>syslog_facility configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" +>Where To Log</A +> + </DT +><DT +>syslog_ident configuration parameter, + <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" +>Where To Log</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6352" +>T</A +></H2 +><DL +><DT +>trusted_servers configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" +>Upstream server connection</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6357" +>U</A +></H2 +><DL +><DT +>use_watchdog configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-ENABLE-WATCHDOG" +>Enable watchdog</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6362" +>W</A +></H2 +><DL +><DT +>WATCHDOG, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-COORDINATING-NODES" +>Coordinating multiple Pgpool-II nodes</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-LIFECHECKING" +>Life checking of other Pgpool-II nodes</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG" +>Consistency of configuration parameters on all Pgpool-II nodes</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-ACTIVE" +>Changing active/standby state when certain fault is detected</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-AUTOMATIC-VIP" +>Automatic virtual IP switching</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY" +>Automatic registration of a server as a standby in recovery</A +>, + <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-START-STOP" +>Starting/stopping watchdog</A +>, + <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET" +>Watchdog IPC command packet format</A +>, + <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-RESULT-PACKET" +>Watchdog IPC result packet format</A +>, + <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES" +>Watchdog IPC command packet types</A +>, + <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC" +>External lifecheck IPC packets and data</A +>, + <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES" +>Getting list of configured watchdog nodes</A +>, + <A +HREF="tutorial-watchdog-restrictions.html" +>Restrictions on watchdog</A +>, + <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE" +>Watchdog restriction with query mode lifecheck</A +>, + <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE" +>Connecting to Pgpool-II whose watchdog status is down</A +>, + <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART" +>Pgpool-II whose watchdog status is down requires restart</A +>, + <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME" +>Watchdog promotion to active takes few seconds</A +> + </DT +><DT +>watchdog_setup, + <A +HREF="watchdog-setup.html" +>watchdog_setup</A +> + </DT +><DT +>wd_authkey configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" +>Watchdog communication</A +> + </DT +><DT +>wd_de_escalation_command configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" +>Behaivor on escalation and de-escalation</A +> + </DT +><DT +>wd_escalation_command configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" +>Behaivor on escalation and de-escalation</A +> + </DT +><DT +>wd_heartbeat_deadtime configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>wd_heartbeat_keepalive configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>wd_heartbeat_port configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +> + </DT +><DT +>wd_hostname configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" +>Watchdog communication</A +> + </DT +><DT +>wd_interval configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking Pgpool-II </A +> + </DT +><DT +>wd_ipc_socket_dir configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking Pgpool-II </A +> + </DT +><DT +>wd_lifecheck_dbname configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +> + </DT +><DT +>wd_lifecheck_method configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking Pgpool-II </A +> + </DT +><DT +>wd_lifecheck_password configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +> + </DT +><DT +>wd_lifecheck_query configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +> + </DT +><DT +>wd_lifecheck_user configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +> + </DT +><DT +>wd_life_point configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +> + </DT +><DT +>wd_monitoring_interfaces_list configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking Pgpool-II </A +> + </DT +><DT +>wd_port configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" +>Watchdog communication</A +> + </DT +><DT +>wd_priority configuration parameter, + <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking Pgpool-II </A +> + </DT +><DT +>white_function_list configuration parameter, + <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +> + </DT +><DT +>white_memqcache_table_list configuration parameter, + <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +> + </DT +></DL +></DIV +><DIV +CLASS="INDEXDIV" +><H2 +CLASS="INDEXDIV" +><A +NAME="AEN6446" +>Y</A +></H2 +><DL +><DT +>yacc, + <A +HREF="install-requirements.html" +>Requirements</A +> + </DT +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="release-3-6.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>&nbsp;</TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Release 3.6</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>&nbsp;</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/bug-reporting.html b/doc/src/sgml/html/bug-reporting.html new file mode 100644 index 000000000..836949e2e --- /dev/null +++ b/doc/src/sgml/html/bug-reporting.html @@ -0,0 +1,173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Bug Reporting Guidelines</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE="Restrictions" +HREF="restrictions.html"><LINK +REL="NEXT" +TITLE="Tutorial" +HREF="tutorial.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Restrictions" +HREF="restrictions.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Tutorial" +HREF="tutorial.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="BUG-REPORTING" +>Bug Reporting Guidelines</A +></H1 +><P +> When you find a bug in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, please register to our <A +HREF="http://pgpool.net/mediawiki/index.php/Bug_tracking_system" +TARGET="_top" +>bug tracking system</A +>. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="restrictions.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Restrictions</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Tutorial</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/client-authentication.html b/doc/src/sgml/html/client-authentication.html new file mode 100644 index 000000000..902b46b7e --- /dev/null +++ b/doc/src/sgml/html/client-authentication.html @@ -0,0 +1,248 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Client Authentication</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="PREVIOUS" +TITLE="Misc Configuration Parameters" +HREF="runtime-misc.html"><LINK +REL="NEXT" +TITLE="The pool_hba.conf File" +HREF="auth-pool-hba-conf.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Misc Configuration Parameters" +HREF="runtime-misc.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="The pool_hba.conf File" +HREF="auth-pool-hba-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="CLIENT-AUTHENTICATION" +></A +>Chapter 6. Client Authentication</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>6.1. <A +HREF="auth-pool-hba-conf.html" +>The <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> File</A +></DT +><DT +>6.2. <A +HREF="auth-methods.html" +>Authentication Methods</A +></DT +><DD +><DL +><DT +>6.2.1. <A +HREF="auth-methods.html#AUTH-TRUST" +>Trust Authentication</A +></DT +><DT +>6.2.2. <A +HREF="auth-methods.html#AUTH-MD5" +>MD5 Password Authentication</A +></DT +><DT +>6.2.3. <A +HREF="auth-methods.html#AUTH-PAM" +>PAM Authentication</A +></DT +></DL +></DD +></DL +></DIV +><P +> Since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is a middleware that works between + PostgreSQL servers and a PostgreSQL database client. So when a client application + connects to the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + inturn connects to the PostgreSQL servers using the same credentials to serve the incomming + client connection. So all the access privileges and restrictions defined for the user in PostgreSQL + gets automatically applied to all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> clients. with an exceptions of + the authentications on PostgreSQL side that depends on the client's IP addresses or hostnames. + Reason being the connections to the PostgreSQL server are made by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + on behalf of the connecting clients and PostgreSQL server can only see the IP address of the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server and not that of the actual client. + So for the client host based authentications <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> has the + <TT +CLASS="LITERAL" +>pool_hba</TT +> mechanism similar to the <TT +CLASS="LITERAL" +>pg_hba</TT +> mechanism for + authenticating the incomming client connections. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-misc.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="auth-pool-hba-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Misc Configuration Parameters</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>The <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> File</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/config-setting.html b/doc/src/sgml/html/config-setting.html new file mode 100644 index 000000000..4226503e4 --- /dev/null +++ b/doc/src/sgml/html/config-setting.html @@ -0,0 +1,376 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Setting Parameters</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="NEXT" +TITLE="Connections and Authentication" +HREF="runtime-config-connection.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Server Configuration" +HREF="runtime-config.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Connections and Authentication" +HREF="runtime-config-connection.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="CONFIG-SETTING" +>5.1. Setting Parameters</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-SETTING-NAMES-VALUES" +>5.1.1. Parameter Names and Values</A +></H2 +><P +> All parameter names are case-insensitive. Every parameter takes a + value of one of five types: boolean, string, integer, floating point, + or enumerated (enum). The type determines the syntax for setting the + parameter: + </P +><P +></P +><UL +><LI +><P +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>Boolean:</I +></SPAN +> + Values can be written as + <TT +CLASS="LITERAL" +>on</TT +>, + <TT +CLASS="LITERAL" +>off</TT +>, + <TT +CLASS="LITERAL" +>true</TT +>, + <TT +CLASS="LITERAL" +>false</TT +>, + <TT +CLASS="LITERAL" +>yes</TT +>, + <TT +CLASS="LITERAL" +>no</TT +>, + <TT +CLASS="LITERAL" +>1</TT +>, + <TT +CLASS="LITERAL" +>0</TT +> + (all case-insensitive) or any unambiguous prefix of one of these. + </P +></LI +><LI +><P +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>String:</I +></SPAN +> + In general, enclose the value in single quotes, doubling any single + quotes within the value. Quotes can usually be omitted if the value + is a simple number or identifier, however. + </P +></LI +><LI +><P +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>Numeric (integer and floating point):</I +></SPAN +> + A decimal point is permitted only for floating-point parameters. + Do not use thousands separators. Quotes are not required. + </P +></LI +><LI +><P +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>Enumerated:</I +></SPAN +> + Enumerated-type parameters are written in the same way as string + parameters, but are restricted to have one of a limited set of + values. Enum parameter values are case-insensitive. + </P +></LI +></UL +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-SETTING-CONFIGURATION-FILE" +>5.1.2. Parameter Interaction via the Configuration File</A +></H2 +><P +> The most fundamental way to set these parameters is to edit the file + <TT +CLASS="FILENAME" +>pgpool.conf</TT +>, + which is located in <TT +CLASS="LITERAL" +>$prefix/etc/pgpool.conf</TT +>. + An example of what this file might look like is: + </P><PRE +CLASS="PROGRAMLISTING" +> # This is a comment + listen_addresses = 'localhost' + port = 9999 + serialize_accept = off + reset_query_list = 'ABORT; DISCARD ALL' + </PRE +><P> + + One parameter is specified per line. The equal sign between name and + value is optional. Whitespace is insignificant (except within a quoted + parameter value) and blank lines are + ignored. Hash marks (<TT +CLASS="LITERAL" +>#</TT +>) designate the remainder + of the line as a comment. Parameter values that are not simple + identifiers or numbers must be single-quoted. To embed a single + quote in a parameter value, write either two quotes (preferred) + or backslash-quote. + </P +><P +> Parameters set in this way provide default values for the cluster. + The settings seen by active sessions will be these values unless they + are overridden. The following sections describe ways in which the + administrator or user can override these defaults. + </P +><P +> + The configuration file is reread whenever the main server process + receives a <SPAN +CLASS="SYSTEMITEM" +>SIGHUP</SPAN +> signal; this signal is most easily + sent by running <TT +CLASS="LITERAL" +>pgpool reload</TT +> from the command line. The main + pgpool process also propagates this signal to all its child + processes, so that existing sessions also adopt the new values. + Some parameters can only be set at server start; any changes to their + entries in the configuration file will be ignored until the server is restarted. + Invalid parameter settings in the configuration file are likewise + ignored (but logged) during <SPAN +CLASS="SYSTEMITEM" +>SIGHUP</SPAN +> processing. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-SETTING-SQL-COMMAND-INTERACTION" +>5.1.3. Parameter Interaction via SQL Clients</A +></H2 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> also provides two SQL style + commands to interact with session-local configuration settings. + </P +><P +></P +><UL +><LI +><P +> The <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +> command allows inspection of the + current value of all parameters. + </P +></LI +><LI +><P +> The <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command allows modification of the + current value of those parameters that can be set locally to a + session; it has no effect on other sessions. + </P +></LI +></UL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-connection.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Server Configuration</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Connections and Authentication</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/configuring-backend-info.html b/doc/src/sgml/html/configuring-backend-info.html new file mode 100644 index 000000000..0aeedebac --- /dev/null +++ b/doc/src/sgml/html/configuring-backend-info.html @@ -0,0 +1,205 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Configuring backend information</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="PREVIOUS" +TITLE="Configuring pgpool" +HREF="configuring-pgpool.html"><LINK +REL="NEXT" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Configuring pgpool" +HREF="configuring-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 4. Server Setup and Operation</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Server Configuration" +HREF="runtime-config.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="CONFIGURING-BACKEND-INFO" +>4.4. Configuring backend information</A +></H1 +><P +> For <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to recognize PostgreSQL + backend servers, you need to configure <TT +CLASS="VARNAME" +>backend*</TT +> + in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. For starters, at + least <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-HOSTNAME" +>backend_hostname</A +> + and <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-PORT" +>backend_port</A +> paramters are required to + set up to start <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="BACKEND-SETTINGS" +>4.4.1. Backend Settings</A +></H2 +><P +> Backend PostgreSQL used by Pgpool-II must be specified in pgpool.conf. + See <A +HREF="runtime-config-backend-settings.html" +>Section 5.4</A +> + </P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="configuring-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Configuring pgpool</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Server Configuration</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/configuring-pcp-conf.html b/doc/src/sgml/html/configuring-pcp-conf.html new file mode 100644 index 000000000..454155b83 --- /dev/null +++ b/doc/src/sgml/html/configuring-pcp-conf.html @@ -0,0 +1,247 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Configuring pcp.conf</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="PREVIOUS" +TITLE="The Pgpool-II User Account" +HREF="pgpool-ii-user.html"><LINK +REL="NEXT" +TITLE="Configuring pgpool" +HREF="configuring-pgpool.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="The Pgpool-II User Account" +HREF="pgpool-ii-user.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 4. Server Setup and Operation</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Configuring pgpool" +HREF="configuring-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="CONFIGURING-PCP-CONF" +>4.2. Configuring pcp.conf</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> provides a control interface + where an administrator can + collect <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> status, and terminate + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> processes + remotely. <TT +CLASS="FILENAME" +>pcp.conf</TT +> is the user/password file + used for authentication by this interface. All operation modes + require the <TT +CLASS="FILENAME" +>pcp.conf</TT +> file to be set. A + <TT +CLASS="FILENAME" +>$prefix/etc/pcp.conf.sample</TT +> file is created + during the installation + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. Rename the file to + <TT +CLASS="FILENAME" +>pcp.conf</TT +> and add your user name and password + to it. + + </P><PRE +CLASS="PROGRAMLISTING" +>cp $prefix/etc/pcp.conf.sample $prefix/etc/pcp.conf + </PRE +><P> + + An empty line or a line starting with "#" is treated as a + comment and will be ignored. A user name and its associated + password must be written as one line using the following format: + + </P><PRE +CLASS="PROGRAMLISTING" +>username:[password encrypted in md5] + </PRE +><P> + +[password encrypted in md5] can be produced with the $prefix/bin/pg_md5 command. + + </P><PRE +CLASS="PROGRAMLISTING" +>pg_md5 -p +password: your_password + </PRE +><P> + +or + + </P><PRE +CLASS="PROGRAMLISTING" +>./pg_md5 foo +acbd18db4cc2f85cedef654fccc4a4d8 + </PRE +><P> + + The <TT +CLASS="FILENAME" +>pcp.conf</TT +> file must be readable by the + user who executes <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pgpool-ii-user.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="configuring-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> User Account</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Configuring pgpool</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/configuring-pgpool.html b/doc/src/sgml/html/configuring-pgpool.html new file mode 100644 index 000000000..3f9e33d34 --- /dev/null +++ b/doc/src/sgml/html/configuring-pgpool.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Configuring pgpool</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="PREVIOUS" +TITLE="Configuring pcp.conf" +HREF="configuring-pcp-conf.html"><LINK +REL="NEXT" +TITLE="Configuring backend information" +HREF="configuring-backend-info.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Configuring pcp.conf" +HREF="configuring-pcp-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 4. Server Setup and Operation</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Configuring backend information" +HREF="configuring-backend-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="CONFIGURING-PGPOOL" +>4.3. Configuring pgpool</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIGURING-PGPOOL-CONF" +>4.3.1. Configuring pgpool.conf</A +></H2 +><P +> <TT +CLASS="FILENAME" +>pgpool.conf</TT +> is the main configuration file + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. You need to specify the + path to the file when + starting <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + using <TT +CLASS="OPTION" +>-f</TT +> option. + <TT +CLASS="FILENAME" +>pgpool.conf</TT +> is located + at <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf</TT +> by default. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNNING-MODE" +>4.3.2. Running mode of Pgpool-II</A +></H2 +><P +> There are four different running modes in Pgpool-II: streaming + replication mode, master slave mode, native replication mode and + raw mode. In any mode, Pgpool-II provides connection pooling, + automatic fail over and online recovery. The sample configuration + files for each mode are provied. They are located + under <TT +CLASS="FILENAME" +>$prefix/etc</TT +>. You can copy one of them + to <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf</TT +>. + </P +><P +> Those modes are exclusive each other and cannot be changed after + starting the server. You should make a decision which to use in + the early stage of designing the system. If you are not sure, it + is recommended to use the streaming replication mode. + </P +><P +> The streaming replication mode can be used with PostgreSQL servers + operating streaming replication. In this mode, PostgreSQL is + responsible for synchronizing databases. This mode is widely used + and most recommended way to use Pgpool-II. Load balancing is + possible in the mode. The sample configuration file + is <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf.sample-stream</TT +>. + </P +><P +> The master slave mode mode can be used with PostgreSQL servers + operating Slony. In this mode, Slony/PostgreSQL is responsible for + synchronizing databases. Since Slony is being obsoletd by streaming + replication, we do not recommend to use this mode unless you have + specific reason to use Slony. Load balancing is possible in the + mode. The sample configuration file + is <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf.sample-master-slave</TT +>. + </P +><P +> In the native replication mode, Pgpool-II is responsible for + synchronizing databases. The advantage for the mode is the + synchronization is done in synchronous way: writing to the + database does not return until all of PostgreSQL servers finish + the write operation. Note, however, read snapshot control is not + done and consistent visibility is not guaranteed in the mode. + Load balancing is possible in the mode. The sample configuration + file <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf.sample-replication</TT +>. + </P +><P +> In the raw mode, Pgpool-II does not care about the database + synchronization. It's user's responsibility to make the whole + system does a meaningfull thing. Load balancing + is <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>not</I +></SPAN +> possible in the mode. The sample + configuration + file <TT +CLASS="FILENAME" +>$prefix/etc/pgpool.conf.sample</TT +>. + </P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="configuring-pcp-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="configuring-backend-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Configuring pcp.conf</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Configuring backend information</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/create-installlock-table.html b/doc/src/sgml/html/create-installlock-table.html new file mode 100644 index 000000000..b98372466 --- /dev/null +++ b/doc/src/sgml/html/create-installlock-table.html @@ -0,0 +1,221 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Creating insert_lock table</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Installing pgpool-regclass" +HREF="install-pgpool-regclass.html"><LINK +REL="NEXT" +TITLE="Setting up pgpool.conf" +HREF="setting-up-pgpool-conf.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Installing pgpool-regclass" +HREF="install-pgpool-regclass.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Setting up pgpool.conf" +HREF="setting-up-pgpool-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="CREATE-INSTALLLOCK-TABLE" +>3.7. Creating insert_lock table</A +></H1 +><P +> If you are not going to use the native replication mode, you can skip this section. + </P +><P +> If you plan to use native replication mode and insert_lock, + creating <TT +CLASS="STRUCTNAME" +>pgpool_catalog.insert_lock</TT +> + table for mutual exclusion is strongly recommended. Without + this, insert_lock works so far. However in that + case <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> locks against the + insert target table. This behavior is same + as <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 2.2 and 2.3 series. The + table lock conflicts + with <TT +CLASS="COMMAND" +>VACUUM</TT +>. So <TT +CLASS="COMMAND" +>INSERT</TT +> + processing may be thereby kept waiting for a long time. + + </P><PRE +CLASS="PROGRAMLISTING" +> $ cd pgpool-II-x.x.x/sql + $ psql -f insert_lock.sql template1 + </PRE +><P> + + </P +><P +> Executing <TT +CLASS="FILENAME" +>insert_lock.sql</TT +> should be + performed on every databases accessed + with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. You do not need to + do this for a database created after the execution of + <TT +CLASS="COMMAND" +>psql -f insert_lock.sql template1</TT +>, as this + template database will be cloned to create new databases. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-pgpool-regclass.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="setting-up-pgpool-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Installing pgpool-regclass</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Setting up pgpool.conf</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/example-aws.html b/doc/src/sgml/html/example-aws.html new file mode 100644 index 000000000..6898e536c --- /dev/null +++ b/doc/src/sgml/html/example-aws.html @@ -0,0 +1,166 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>AWS Configuration Example</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Configuration Examples" +HREF="example-configs.html"><LINK +REL="PREVIOUS" +TITLE="Watchdog Configuration Example" +HREF="example-watchdog.html"><LINK +REL="NEXT" +TITLE="Reference" +HREF="reference.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Watchdog Configuration Example" +HREF="example-watchdog.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 7. Configuration Examples</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Reference" +HREF="reference.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="EXAMPLE-AWS" +>7.3. AWS Configuration Example</A +></H1 +><P +> AWS watchdog configuration. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-watchdog.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Watchdog Configuration Example</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Reference</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/example-basic.html b/doc/src/sgml/html/example-basic.html new file mode 100644 index 000000000..5937f5c76 --- /dev/null +++ b/doc/src/sgml/html/example-basic.html @@ -0,0 +1,928 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Basic Configuration Example</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Configuration Examples" +HREF="example-configs.html"><LINK +REL="PREVIOUS" +TITLE="Configuration Examples" +HREF="example-configs.html"><LINK +REL="NEXT" +TITLE="Watchdog Configuration Example" +HREF="example-watchdog.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Configuration Examples" +HREF="example-configs.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 7. Configuration Examples</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Watchdog Configuration Example" +HREF="example-watchdog.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="EXAMPLE-BASIC" +>7.1. Basic Configuration Example</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-CONFIGS-BEGIN" +>7.1.1. Let's Begin!</A +></H2 +><P +> First, we must learn how to install and configure pgpool-II and database nodes before using replication or parallel query. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-BEGIN-INSTALLING" +>7.1.1.1. Installing <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></H3 +><P +> Installing <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is very easy. + In the directory which you have extracted the source tar ball, + execute the following commands. + </P><PRE +CLASS="PROGRAMLISTING" +>$ ./configure +$ make +$ make install + </PRE +><P> + <TT +CLASS="COMMAND" +>configure</TT +> script collects your system information + and use it for the compilation procedure. You can pass command + line arguments to configure script to change the default behavior, + such as the installation directory. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will be installed to <TT +CLASS="LITERAL" +>/usr/local</TT +> directory by default. + </P +><P +> <TT +CLASS="COMMAND" +>make</TT +> command compiles the source code, and + <TT +CLASS="COMMAND" +>make install</TT +> will install the executables. + You must have write permission on the installation directory. + In this tutorial, we will install <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> in the default <TT +CLASS="LITERAL" +>/usr/local</TT +> directory. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> requires <TT +CLASS="LITERAL" +>libpq</TT +> + library in PostgreSQL 7.4 or later (version 3 protocol). + </P +></BLOCKQUOTE +></DIV +><P +> If the <TT +CLASS="COMMAND" +>configure</TT +> script displays the following error message, the + <TT +CLASS="LITERAL" +>libpq</TT +> library may not be installed, or it is not of version 3 + </P><PRE +CLASS="PROGRAMLISTING" +>configure: error: libpq is not installed or libpq is old + </PRE +><P> + If the library is version 3, but the above message is still displayed, your + <TT +CLASS="LITERAL" +>libpq</TT +> library is probably not recognized by the <TT +CLASS="COMMAND" +> configure</TT +> script. + The <TT +CLASS="COMMAND" +>configure</TT +> script searches for <TT +CLASS="LITERAL" +>libpq</TT +> + library under <TT +CLASS="LITERAL" +>/usr/local/pgsql</TT +>. If you have installed the + PostgreSQL in a directory other than <TT +CLASS="LITERAL" +>/usr/local/pgsql</TT +>, use + <TT +CLASS="LITERAL" +>--with-pgsql</TT +>, or <TT +CLASS="LITERAL" +>--with-pgsql-includedir</TT +> + and <TT +CLASS="LITERAL" +>--with-pgsql-libdir</TT +> command line options when you + execute <TT +CLASS="COMMAND" +>configure</TT +>. + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-BEGIN-CONFIG-FILES" +>7.1.1.2. Configuration Files</A +></H3 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters are saved in the + <TT +CLASS="LITERAL" +>pgpool.conf</TT +> file. The file is in <TT +CLASS="LITERAL" +>"parameter = value" + </TT +> per line format. When you install <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, + <TT +CLASS="LITERAL" +>pgpool.conf.sample</TT +> is automatically created. + We recommend copying and renaming it to <TT +CLASS="LITERAL" +>pgpool.conf</TT +>, and edit + it as you like. + </P><PRE +CLASS="PROGRAMLISTING" +>$ cp /usr/local/etc/pgpool.conf.sample /usr/local/etc/pgpool.conf + </PRE +><P> + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> only accepts connections from the localhost + using port 9999. If you wish to receive conenctions from other hosts, + set <A +HREF="runtime-config-connection.html#GUC-LISTEN-ADDRESSES" +>listen_addresses</A +> to <TT +CLASS="LITERAL" +>'*'</TT +>. + </P><PRE +CLASS="PROGRAMLISTING" +>listen_addresses = 'localhost' +port = 9999 + </PRE +><P> + We will use the default parameters in thie tutorial. + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-BEGIN-CONFIG-PCP" +>7.1.1.3. Configuring <ACRONYM +CLASS="ACRONYM" +>PCP</ACRONYM +> Commands</A +></H3 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> has an interface for administrative + purpose to retrieve information on database nodes, shutdown + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, etc. via network. To use + <ACRONYM +CLASS="ACRONYM" +>PCP</ACRONYM +> commands, user authentication is required. + This authentication is different from PostgreSQL's user authentication. + A user name and password need to be defined in the <TT +CLASS="LITERAL" +>pcp.conf</TT +> + file. In the file, a user name and password are listed as a pair on each line, + and they are separated by a colon (:). Passwords are encrypted in + <TT +CLASS="LITERAL" +>md5</TT +> hash format. + + </P><PRE +CLASS="PROGRAMLISTING" +>postgres:e8a48653851e28c69d0506508fb27fc5 + </PRE +><P> + + When you install <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, <TT +CLASS="LITERAL" +>pcp.conf.sample + </TT +> is automatically created. We recommend copying and renaming it + to <TT +CLASS="LITERAL" +>pcp.conf</TT +>, and edit it. + </P><PRE +CLASS="PROGRAMLISTING" +>$ cp /usr/local/etc/pcp.conf.sample /usr/local/etc/pcp.conf + </PRE +><P> + To encrypt your password into md5 hash format, use the <TT +CLASS="COMMAND" +>pg_md5</TT +> + command, which is installed as one of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>'s + executables. <TT +CLASS="COMMAND" +>pg_md5</TT +> takes text as a command line argument, + and displays its md5-hashed text. + For example, give <TT +CLASS="LITERAL" +>"postgres"</TT +> as the command line argument, + and <TT +CLASS="COMMAND" +>pg_md5</TT +> displays md5-hashed text on its standard output. + </P><PRE +CLASS="PROGRAMLISTING" +>$ /usr/bin/pg_md5 postgres +e8a48653851e28c69d0506508fb27fc5 + </PRE +><P> + PCP commands are executed via network, so the port number must be configured + with <A +HREF="runtime-config-connection.html#GUC-PCP-PORT" +>pcp_port</A +> parameter in <TT +CLASS="LITERAL" +>pgpool.conf</TT +> file. + We will use the default 9898 for <A +HREF="runtime-config-connection.html#GUC-PCP-PORT" +>pcp_port</A +> in this tutorial. + </P><PRE +CLASS="PROGRAMLISTING" +>pcp_port = 9898 + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-PREP-DB-NODES" +>7.1.1.4. Preparing Database Nodes</A +></H3 +><P +> Now, we need to set up backend PostgreSQL servers for <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +>. These servers can be placed within the same host as + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, or on separate machines. If you decide + to place the servers on the same host, different port numbers must be assigned + for each server. If the servers are placed on separate machines, + they must be configured properly so that they can accept network + connections from <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + + </P><PRE +CLASS="PROGRAMLISTING" +>backend_hostname0 = 'localhost' +backend_port0 = 5432 +backend_weight0 = 1 +backend_hostname1 = 'localhost' +backend_port1 = 5433 +backend_weight1 = 1 +backend_hostname2 = 'localhost' +backend_port2 = 5434 +backend_weight2 = 1 + </PRE +><P> + + For <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-HOSTNAME" +>backend_hostname</A +>, <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-PORT" +>backend_port</A +>, + <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-WEIGHT" +>backend_weight</A +>, set the node's hostname, port number, + and ratio for load balancing. At the end of each parameter string, + node ID must be specified by adding positive integers starting with 0 (i.e. 0, 1, 2..). + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-WEIGHT" +>backend_weight</A +> parameters for all nodes are + set to 1, meaning that SELECT queries are equally distributed among + three servers. + </P +></BLOCKQUOTE +></DIV +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-START-STOP-PGPOOL" +>7.1.1.5. Starting/Stopping <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></H3 +><P +> To fire up <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, execute the following + command on a terminal. + + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool + </PRE +><P> + + The above command, however, prints no log messages because <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +> detaches the terminal. If you want to show + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> log messages, you pass <TT +CLASS="LITERAL" +>-n</TT +> + option to <TT +CLASS="COMMAND" +>pgpool</TT +> command so <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + is executed as non-daemon process, and the terminal will not be detached. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool -n &#38; + </PRE +><P> + + The log messages are printed on the terminal, so the recommended options to use the following. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool -n -d &#62; /tmp/pgpool.log 2&#62;&#38;1 &#38; + </PRE +><P> + + The <TT +CLASS="LITERAL" +>-d</TT +> option enables debug messages to be generated. + The above command keeps appending log messages to <TT +CLASS="LITERAL" +>/tmp/pgpool.log + </TT +>. If you need to rotate log files, pass the logs to a external + command which has log rotation function. + For example, you can use <A +HREF="https://httpd.apache.org/docs/2.4/programs/rotatelogs.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>rotatelogs</TT +></A +> from Apache2: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool -n 2&#62;&#38;1 | /usr/local/apache2/bin/rotatelogs \ + -l -f /var/log/pgpool/pgpool.log.%A 86400 &#38; + </PRE +><P> + + This will generate a log file named <TT +CLASS="LITERAL" +>"pgpool.log.Thursday"</TT +> + then rotate it 00:00 at midnight. Rotatelogs adds logs to a file if it already + exists. To delete old log files before rotation, you could use cron: + </P><PRE +CLASS="PROGRAMLISTING" +>55 23 * * * /usr/bin/find /var/log/pgpool -type f -mtime +5 -exec /bin/rm -f '{}' \; + </PRE +><P> + + Please note that rotatelogs may exist as <TT +CLASS="LITERAL" +>/usr/sbin/rotatelogs2</TT +> + in some distributions. <TT +CLASS="LITERAL" +>-f</TT +> option generates a log file as soon as + <TT +CLASS="COMMAND" +>rotatelogs</TT +> starts and is available in apache2 2.2.9 or greater. + Also <A +HREF="http://www.cronolog.org/" +TARGET="_top" +>cronolog</A +> can be used. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool -n 2&#62;&#38;1 | /usr/sbin/cronolog \ + --hardlink=/var/log/pgsql/pgpool.log \ + '/var/log/pgsql/%Y-%m-%d-pgpool.log' &#38; + </PRE +><P> + + To stop pgpool-II, execute the following command. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool stop + </PRE +><P> + + If any client is still connected, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + waits for it to disconnect, and then terminates itself. Run the following + command instead if you want to shutdown <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + forcibly. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgpool -m fast stop + </PRE +><P> + + </P +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-CONFIGS-REPLICATION" +>7.1.2. Your First Replication</A +></H2 +><P +> Replication (see <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Section 5.3.2</A +>) enables + the same data to be copied to multiple database nodes. + In this section, we'll use three database nodes, which we have already set + up in <A +HREF="example-basic.html#EXAMPLE-CONFIGS-BEGIN" +>Section 7.1.1</A +>, and takes you step by step to + create a database replication system. + Sample data to be replicated will be generated by the + <A +HREF="https://www.postgresql.org/docs/current/static/pgbench.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>pgbench</TT +></A +> benchmark program. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-CONFIG-REPLICATION" +>7.1.2.1. Configuring Replication</A +></H3 +><P +> To enable the database replication function, set + <A +HREF="runtime-config-runnung-mode.html#GUC-REPLICATION-MODE" +>replication_mode</A +> to on in <TT +CLASS="LITERAL" +>pgpool.conf</TT +> file. + </P><PRE +CLASS="PROGRAMLISTING" +>replication_mode = true + </PRE +><P> + When <A +HREF="runtime-config-runnung-mode.html#GUC-REPLICATION-MODE" +>replication_mode</A +> is on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will send a copy of a received query to all the database nodes. + And when <A +HREF="runtime-config-load-balancing.html#GUC-LOAD-BALANCE-MODE" +>load_balance_mode</A +> is set to true, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will distribute <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries + among the database nodes. + </P><PRE +CLASS="PROGRAMLISTING" +>load_balance_mode = true + </PRE +><P> + In this section, we will enable both <A +HREF="runtime-config-runnung-mode.html#GUC-REPLICATION-MODE" +>replication_mode</A +> + and <A +HREF="runtime-config-load-balancing.html#GUC-LOAD-BALANCE-MODE" +>load_balance_mode</A +>. + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-CONFIGS-CHECKING-REPLICATION" +>7.1.2.2. Checking Replication</A +></H3 +><P +> To reflect the changes in <TT +CLASS="LITERAL" +>pgpool.conf</TT +>, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> must be restarted. + Please refer to "Starting/Stopping <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>" + <A +HREF="example-basic.html#EXAMPLE-CONFIGS-START-STOP-PGPOOL" +>Section 7.1.1.5</A +>. + After configuring <TT +CLASS="LITERAL" +>pgpool.conf</TT +> and restarting the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, let's try the actual replication + and see if everything is working. + First, we need to create a database to be replicated. We will name it + <TT +CLASS="LITERAL" +>"bench_replication"</TT +>. This database needs to be created + on all the nodes. Use the + <A +HREF="https://www.postgresql.org/docs/current/static/app-createdb.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>createdb</TT +></A +> commands through + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, and the database will be created + on all the nodes. + </P><PRE +CLASS="PROGRAMLISTING" +>$ createdb -p 9999 bench_replication + </PRE +><P> + Then, we'll execute <A +HREF="https://www.postgresql.org/docs/current/static/pgbench.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>pgbench</TT +></A +> with <TT +CLASS="LITERAL" +>-i</TT +> option. + <TT +CLASS="LITERAL" +>-i</TT +> option initializes the database with pre-defined tables and data. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgbench -i -p 9999 bench_replication + </PRE +><P> + The following table is the summary of tables and data, which will be created by + <A +HREF="https://www.postgresql.org/docs/current/static/pgbench.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>pgbench -i</TT +></A +>. If, on all the nodes, the listed tables and + data are created, replication is working correctly. + </P +><DIV +CLASS="TABLE" +><A +NAME="EXAMPLE-CONFIGS-CHECKING-REPLICATION-TABLE" +></A +><P +><B +>Table 7-1. data summary</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Table Name</TH +><TH +>Number of Rows</TH +></TR +></THEAD +><TBODY +><TR +><TD +>branches</TD +><TD +>1</TD +></TR +><TR +><TD +>tellers</TD +><TD +>10</TD +></TR +><TR +><TD +>accounts</TD +><TD +>100000</TD +></TR +><TR +><TD +>history</TD +><TD +>0</TD +></TR +></TBODY +></TABLE +></DIV +><P +> Let's use a simple shell script to check the above on all the nodes. + The following script will display the number of rows in branches, + tellers, accounts, and history tables on all the nodes (5432, 5433, 5434). + </P><PRE +CLASS="PROGRAMLISTING" +>$ for port in 5432 5433 5434; do +&#62; echo $port +&#62; for table_name in branches tellers accounts history; do +&#62; echo $table_name +&#62; psql -c "SELECT count(*) FROM $table_name" -p $port bench_replication +&#62; done +&#62; done + </PRE +><P> + + </P +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="example-watchdog.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Configuration Examples</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Watchdog Configuration Example</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/example-configs.html b/doc/src/sgml/html/example-configs.html new file mode 100644 index 000000000..9bdd851b3 --- /dev/null +++ b/doc/src/sgml/html/example-configs.html @@ -0,0 +1,237 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Configuration Examples</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Examples" +HREF="examples.html"><LINK +REL="PREVIOUS" +TITLE="Examples" +HREF="examples.html"><LINK +REL="NEXT" +TITLE="Basic Configuration Example" +HREF="example-basic.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Examples" +HREF="examples.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="examples.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Basic Configuration Example" +HREF="example-basic.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="EXAMPLE-CONFIGS" +></A +>Chapter 7. Configuration Examples</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>7.1. <A +HREF="example-basic.html" +>Basic Configuration Example</A +></DT +><DD +><DL +><DT +>7.1.1. <A +HREF="example-basic.html#EXAMPLE-CONFIGS-BEGIN" +>Let's Begin!</A +></DT +><DT +>7.1.2. <A +HREF="example-basic.html#EXAMPLE-CONFIGS-REPLICATION" +>Your First Replication</A +></DT +></DL +></DD +><DT +>7.2. <A +HREF="example-watchdog.html" +>Watchdog Configuration Example</A +></DT +><DD +><DL +><DT +>7.2.1. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-CONFIGURATION" +>Common configurations</A +></DT +><DT +>7.2.2. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-CONFIGURATION-EACH-SERVER" +>Individual Server Configurations</A +></DT +><DT +>7.2.3. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-START-SERVER" +>Starting <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></DT +><DT +>7.2.4. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-TRY" +>Try it out</A +></DT +><DT +>7.2.5. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-VIP-SWITCH" +>Switching virtual IP</A +></DT +><DT +>7.2.6. <A +HREF="example-watchdog.html#EXAMPLE-WATCHDOG-MORE" +>More</A +></DT +></DL +></DD +><DT +>7.3. <A +HREF="example-aws.html" +>AWS Configuration Example</A +></DT +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="examples.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="example-basic.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Examples</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="examples.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Basic Configuration Example</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/example-watchdog.html b/doc/src/sgml/html/example-watchdog.html new file mode 100644 index 000000000..b3615f206 --- /dev/null +++ b/doc/src/sgml/html/example-watchdog.html @@ -0,0 +1,714 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Watchdog Configuration Example</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Configuration Examples" +HREF="example-configs.html"><LINK +REL="PREVIOUS" +TITLE="Basic Configuration Example" +HREF="example-basic.html"><LINK +REL="NEXT" +TITLE="AWS Configuration Example" +HREF="example-aws.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Basic Configuration Example" +HREF="example-basic.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 7. Configuration Examples</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="AWS Configuration Example" +HREF="example-aws.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="EXAMPLE-WATCHDOG" +>7.2. Watchdog Configuration Example</A +></H1 +><P +> This tutrial explains the simple way to try "Watchdog". + What you need is 2 Linux boxes on which <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +> is installed and a PostgreSQL + on the same machine or in the other one. it is enough + that 1 node for backend exists. + You can use on memory query cache with <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +> in any mode: replication mode, + master/slave mode and raw mode. + </P +><P +> This example uses use "osspc16" as an Active node and + "osspc20" as a Standby node. "Someserver" means one of them. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-CONFIGURATION" +>7.2.1. Common configurations</A +></H2 +><P +> Set the following parameters in both of active and standby nodes. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIG-ENABLE" +>7.2.1.1. Enabling watchdog</A +></H3 +><P +> First of all, set <A +HREF="runtime-watchdog-config.html#GUC-USE-WATCHDOG" +>use_watchdog</A +> to on. + </P><PRE +CLASS="PROGRAMLISTING" +>use_watchdog = on + # Activates watchdog + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIG-UPSTREAM" +>7.2.1.2. Configure Up stream servers</A +></H3 +><P +> Specify the up stream servers (e.g. application servers). + Leaving it blank is also fine. + </P><PRE +CLASS="PROGRAMLISTING" +>trusted_servers = '' + # trusted server list which are used + # to confirm network connection + # (hostA,hostB,hostC,...) + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIG-WD-COMM" +>7.2.1.3. Watchdog Communication</A +></H3 +><P +> Specify the TCP port number for watchdog communication. + </P><PRE +CLASS="PROGRAMLISTING" +>wd_port = 9000 + # port number for watchdog service + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIG-WD-VIP" +>7.2.1.4. Virtual IP</A +></H3 +><P +> Specify the IP address to be used as a virtual IP address + in the <A +HREF="runtime-watchdog-config.html#GUC-DELEGATE-IP" +>delegate_IP</A +>. + </P><PRE +CLASS="PROGRAMLISTING" +>delegate_IP = '133.137.177.143' + # delegate IP address + </PRE +><P> + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Make sure the IP address configured as a Virtual IP should be + free and is not used by any other machine. + </P +></BLOCKQUOTE +></DIV +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-CONFIGURATION-EACH-SERVER" +>7.2.2. Individual Server Configurations</A +></H2 +><P +> Next, set the following parameters for each <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +>. + Specify <A +HREF="runtime-watchdog-config.html#GUC-OTHER-PGPOOL-HOSTNAME" +>other_pgpool_hostname</A +>, + <A +HREF="runtime-watchdog-config.html#GUC-OTHER-PGPOOL-PORT" +>other_pgpool_port</A +> and + <A +HREF="runtime-watchdog-config.html#GUC-OTHER-WD-PORT" +>other_wd_port</A +> with the values of + other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server values. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIGURATION-ACTIVE-SERVER" +>7.2.2.1. Active (osspc16) Server configurations</A +></H3 +><P +> </P><PRE +CLASS="PROGRAMLISTING" +>other_pgpool_hostname0 = 'osspc20' + # Host name or IP address to connect to for other pgpool 0 +other_pgpool_port0 = 9999 + # Port number for othet pgpool 0 +other_wd_port0 = 9000 + # Port number for othet watchdog 0 + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-CONFIGURATION-STANDBY-SERVER" +>7.2.2.2. Standby (osspc20) Server configurations</A +></H3 +><P +> </P><PRE +CLASS="PROGRAMLISTING" +>other_pgpool_hostname0 = 'osspc16' + # Host name or IP address to connect to for other pgpool 0 +other_pgpool_port0 = 9999 + # Port number for othet pgpool 0 +other_wd_port0 = 9000 + # Port number for othet watchdog 0 + </PRE +><P> + </P +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-START-SERVER" +>7.2.3. Starting <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></H2 +><P +> Start <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> on each servers from + <TT +CLASS="LITERAL" +>root</TT +> user with <TT +CLASS="LITERAL" +>"-n"</TT +> switch + and redirect log messages into pgpool.log file. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-START-ACTIVE-SERVER" +>7.2.3.1. Starting pgpool in Active server (osspc16)</A +></H3 +><P +> First start the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> on Active server. + </P><PRE +CLASS="PROGRAMLISTING" +>[user@osspc16]$ su - +[root@osspc16]# {installed_dir}/bin/pgpool -n -f {installed_dir}/etc/pgpool.conf &#62; pgpool.log 2&#62;&#38;1 + </PRE +><P> + Log messages will show that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + has the virtual IP address and starts watchdog process. + </P><PRE +CLASS="PROGRAMLISTING" +>LOG: I am announcing my self as master/coordinator watchdog node +LOG: I am the cluster leader node +DETAIL: our declare coordinator message is accepted by all nodes +LOG: I am the cluster leader node. Starting escalation process +LOG: escalation process started with PID:59449 +<B +CLASS="EMPHASIS" +>LOG: watchdog process is initialized +LOG: watchdog: escalation started +LOG: I am the master watchdog node</B +> +DETAIL: using the local backend node status + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-START-STANDBY-SERVER" +>7.2.3.2. Starting pgpool in Standby server (osspc20)</A +></H3 +><P +> Now start the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> on Standby server. + </P><PRE +CLASS="PROGRAMLISTING" +>[user@osspc20]$ su - +[root@osspc20]# {installed_dir}/bin/pgpool -n -f {installed_dir}/etc/pgpool.conf &#62; pgpool.log 2&#62;&#38;1 + </PRE +><P> + Log messages will show that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + has joind the watchdog cluster as standby watchdog. + </P><PRE +CLASS="PROGRAMLISTING" +>LOG: watchdog cluster configured with 1 remote nodes +LOG: watchdog remote node:0 on Linux_osspc16_9000:9000 +LOG: interface monitoring is disabled in watchdog +LOG: IPC socket path: "/tmp/.s.PGPOOLWD_CMD.9000" +LOG: watchdog node state changed from [DEAD] to [LOADING] +LOG: new outbond connection to Linux_osspc16_9000:9000 +LOG: watchdog node state changed from [LOADING] to [INITIALIZING] +LOG: watchdog node state changed from [INITIALIZING] to [STANDBY] +<B +CLASS="EMPHASIS" +>LOG: successfully joined the watchdog cluster as standby node +DETAIL: our join coordinator request is accepted by cluster leader node "Linux_osspc16_9000" +LOG: watchdog process is initialized</B +> + </PRE +><P> + </P +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-TRY" +>7.2.4. Try it out</A +></H2 +><P +> Confirm to ping to the virtual IP address. + </P><PRE +CLASS="PROGRAMLISTING" +>[user@someserver]$ ping 133.137.177.142 +PING 133.137.177.143 (133.137.177.143) 56(84) bytes of data. +64 bytes from 133.137.177.143: icmp_seq=1 ttl=64 time=0.328 ms +64 bytes from 133.137.177.143: icmp_seq=2 ttl=64 time=0.264 ms +64 bytes from 133.137.177.143: icmp_seq=3 ttl=64 time=0.412 ms + </PRE +><P> + Confirm if the Active server which started at first has the virtual IP address. + </P><PRE +CLASS="PROGRAMLISTING" +>[root@osspc16]# ifconfig +eth0 ... + +eth0:0 inet addr:133.137.177.143 ... + +lo ... + </PRE +><P> + Confirm if the Standby server which started not at first doesn't have the virtual IP address. + </P><PRE +CLASS="PROGRAMLISTING" +>[root@osspc20]# ifconfig +eth0 ... + +lo ... + </PRE +><P> + + Try to connect PostgreSQL by "psql -h delegate_IP -p port". + </P><PRE +CLASS="PROGRAMLISTING" +>[user@someserver]$ psql -h 133.137.177.142 -p 9999 -l + </PRE +><P> + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-VIP-SWITCH" +>7.2.5. Switching virtual IP</A +></H2 +><P +> Confirm how the Standby server works when the Active server can't provide its service. + Stop <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> on the Active server. + </P><PRE +CLASS="PROGRAMLISTING" +>[root@osspc16]# {installed_dir}/bin/pgpool stop + </PRE +><P> + + Then, the Standby server starts to use the virtual IP address. Log shows: + + </P><PRE +CLASS="PROGRAMLISTING" +><B +CLASS="EMPHASIS" +>LOG: remote node "Linux_osspc16_9000" is shutting down +LOG: watchdog cluster has lost the coordinator node</B +> +LOG: watchdog node state changed from [STANDBY] to [JOINING] +LOG: watchdog node state changed from [JOINING] to [INITIALIZING] +LOG: I am the only alive node in the watchdog cluster +HINT: skiping stand for coordinator state +LOG: watchdog node state changed from [INITIALIZING] to [MASTER] +LOG: I am announcing my self as master/coordinator watchdog node +LOG: I am the cluster leader node +DETAIL: our declare coordinator message is accepted by all nodes +<B +CLASS="EMPHASIS" +>LOG: I am the cluster leader node. Starting escalation process +LOG: watchdog: escalation started</B +> +LOG: watchdog escalation process with pid: 59551 exit with SUCCESS. + </PRE +><P> + + Confirm to ping to the virtual IP address. + </P><PRE +CLASS="PROGRAMLISTING" +>[user@someserver]$ ping 133.137.177.142 +PING 133.137.177.143 (133.137.177.143) 56(84) bytes of data. +64 bytes from 133.137.177.143: icmp_seq=1 ttl=64 time=0.328 ms +64 bytes from 133.137.177.143: icmp_seq=2 ttl=64 time=0.264 ms +64 bytes from 133.137.177.143: icmp_seq=3 ttl=64 time=0.412 ms + </PRE +><P> + + Confirm that the Active server doesn't use the virtual IP address any more. + </P><PRE +CLASS="PROGRAMLISTING" +>[root@osspc16]# ifconfig +eth0 ... + +lo ... + </PRE +><P> + + Confirm that the Standby server uses the virtual IP address. + </P><PRE +CLASS="PROGRAMLISTING" +>[root@osspc20]# ifconfig +eth0 ... + +eth0:0 inet addr:133.137.177.143 ... + +lo ... + </PRE +><P> + + Try to connect PostgreSQL by "psql -h delegate_IP -p port". + </P><PRE +CLASS="PROGRAMLISTING" +>[user@someserver]$ psql -h 133.137.177.142 -p 9999 -l + </PRE +><P> + + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="EXAMPLE-WATCHDOG-MORE" +>7.2.6. More</A +></H2 +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-MORE-LIFECHECK" +>7.2.6.1. Lifecheck</A +></H3 +><P +> There are the parameters about watchdog's monitoring. + Specify the interval to check <A +HREF="runtime-watchdog-config.html#GUC-WD-INTERVAL" +>wd_interval</A +>, + the count to retry <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFE-POINT" +>wd_life_point</A +>, + the qyery to check <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-QUERY" +>wd_lifecheck_query</A +> and + finaly the type of lifecheck <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +>. + </P><PRE +CLASS="PROGRAMLISTING" +>wd_lifecheck_method = 'query' + # Method of watchdog lifecheck ('heartbeat' or 'query' or 'external') + # (change requires restart) +wd_interval = 10 + # lifecheck interval (sec) &#62; 0 +wd_life_point = 3 + # lifecheck retry times +wd_lifecheck_query = 'SELECT 1' + # lifecheck query to pgpool from watchdog + </PRE +><P> + + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="EXAMPLE-WATCHDOG-MORE-VIP-SWITCHING" +>7.2.6.2. Switching virtual IP address</A +></H3 +><P +> There are the parameters for switching the virtual IP address. + Specify switching commands <A +HREF="runtime-watchdog-config.html#GUC-IF-UP-CMD" +>if_up_cmd</A +>, + <A +HREF="runtime-watchdog-config.html#GUC-IF-DOWN-CMD" +>if_down_cmd</A +>, the path to them + <A +HREF="runtime-watchdog-config.html#GUC-IF-CMD-PATH" +>if_cmd_path</A +>, the command executed after + switching to send ARP request <A +HREF="runtime-watchdog-config.html#GUC-ARPING-CMD" +>arping_cmd</A +> + and the path to it <A +HREF="runtime-watchdog-config.html#GUC-ARPING-PATH" +>arping_path</A +>. + </P><PRE +CLASS="PROGRAMLISTING" +>ifconfig_path = '/sbin' + # ifconfig command path +if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0' + # startup delegate IP command +if_down_cmd = 'ifconfig eth0:0 down' + # shutdown delegate IP command + +arping_path = '/usr/sbin' # arping command path + +arping_cmd = 'arping -U $_IP_$ -w 1' + </PRE +><P> + You can also use the custom scripts to bring up and bring down the + virtual IP using <A +HREF="runtime-watchdog-config.html#GUC-WD-ESCALATION-COMMAND" +>wd_escalation_command</A +> and + <A +HREF="runtime-watchdog-config.html#GUC-WD-DE-ESCALATION-COMMAND" +>wd_de_escalation_command</A +> configurations. + </P +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-basic.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="example-aws.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Basic Configuration Example</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>AWS Configuration Example</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/examples.html b/doc/src/sgml/html/examples.html new file mode 100644 index 000000000..33a6e1c87 --- /dev/null +++ b/doc/src/sgml/html/examples.html @@ -0,0 +1,201 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Examples</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="Authentication Methods" +HREF="auth-methods.html"><LINK +REL="NEXT" +TITLE="Configuration Examples" +HREF="example-configs.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PART" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Authentication Methods" +HREF="auth-methods.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Configuration Examples" +HREF="example-configs.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PART" +><A +NAME="EXAMPLES" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>III. Examples</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN3890" +></A +><P +> Various examples + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>7. <A +HREF="example-configs.html" +>Configuration Examples</A +></DT +><DD +><DL +><DT +>7.1. <A +HREF="example-basic.html" +>Basic Configuration Example</A +></DT +><DT +>7.2. <A +HREF="example-watchdog.html" +>Watchdog Configuration Example</A +></DT +><DT +>7.3. <A +HREF="example-aws.html" +>AWS Configuration Example</A +></DT +></DL +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="auth-methods.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="example-configs.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Authentication Methods</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Configuration Examples</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/history.html b/doc/src/sgml/html/history.html new file mode 100644 index 000000000..e5e34b45b --- /dev/null +++ b/doc/src/sgml/html/history.html @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>A Brief History of Pgpool-II</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE=" What is Pgpool-II?" +HREF="intro-whatis.html"><LINK +REL="NEXT" +TITLE="Conventions" +HREF="notation.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE=" What is Pgpool-II?" +HREF="intro-whatis.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Conventions" +HREF="notation.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="HISTORY" +>A Brief History of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> started its life as a personal + project by Tatsuo Ishii. In the project it was just a simple + connection pooling software. So the + name <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +> came from the fact. The + first version was in public in 2003. + </P +><P +> In 2004, <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +> 1.0 was released with + the native replication feature (SQL statement based + replication). In the same year 2.0 was released with load + balancing, and support for version 3 frontend/backend protocol. In + 2005, automated fail over and master slave mode support were added. + </P +><P +> In 2006, <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +> + became <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. The first release 1.0 + eliminated many of restrictions + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +>, for example the number + of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> servers was up to 2 in + <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +>. Also many new features such as + parallel query mode and PCP commands (PCP stands for "Pgpool + Control Protocol") were added. Probably the most important change + made between <SPAN +CLASS="PRODUCTNAME" +>Pgpool</SPAN +> + and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> was that the project was + changed from a personal project to a group project owned by the + Pgpool Developement Group. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="intro-whatis.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="notation.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>What is <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>?</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Conventions</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/index.html b/doc/src/sgml/html/index.html new file mode 100644 index 000000000..65cce137f --- /dev/null +++ b/doc/src/sgml/html/index.html @@ -0,0 +1,261 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pgpool-II 3.6-alpha1 Documentation</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="NEXT" +TITLE="Preface" +HREF="preface.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="BOOK" +><DIV +CLASS="BOOK" +><A +NAME="POSTGRES" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +><A +NAME="POSTGRES" +>pgpool-II 3.6-alpha1 Documentation</A +></H1 +><H3 +CLASS="CORPAUTHOR" +>The Pgpool Global Development Group</H3 +><P +CLASS="COPYRIGHT" +><A +HREF="LEGALNOTICE.html" +>Copyright</A +> &copy; 2003-2016 The Pgpool Global Development Group</P +><HR></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="preface.html" +>Preface</A +></DT +><DD +><DL +><DT +><A +HREF="intro-whatis.html" +>What is <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>?</A +></DT +><DT +><A +HREF="history.html" +>A Brief History of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></DT +><DT +><A +HREF="notation.html" +>Conventions</A +></DT +><DT +><A +HREF="resources.html" +>Further Information</A +></DT +><DT +><A +HREF="restrictions.html" +>Restrictions</A +></DT +><DT +><A +HREF="bug-reporting.html" +>Bug Reporting Guidelines</A +></DT +></DL +></DD +><DT +>I. <A +HREF="tutorial.html" +>Tutorial</A +></DT +><DD +><DL +><DT +>1. <A +HREF="tutorial-start.html" +>Getting Started</A +></DT +><DT +>2. <A +HREF="tutorial-watchdog.html" +>Watchdog</A +></DT +></DL +></DD +><DT +>II. <A +HREF="admin.html" +>Server Administration</A +></DT +><DD +><DL +><DT +>3. <A +HREF="installation.html" +><SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</A +></DT +><DT +>4. <A +HREF="runtime.html" +>Server Setup and Operation</A +></DT +><DT +>5. <A +HREF="runtime-config.html" +>Server Configuration</A +></DT +><DT +>6. <A +HREF="client-authentication.html" +>Client Authentication</A +></DT +></DL +></DD +><DT +>III. <A +HREF="examples.html" +>Examples</A +></DT +><DD +><DL +><DT +>7. <A +HREF="example-configs.html" +>Configuration Examples</A +></DT +></DL +></DD +><DT +>IV. <A +HREF="reference.html" +>Reference</A +></DT +><DD +><DL +><DT +>I. <A +HREF="pcp-commands.html" +>PCP commands</A +></DT +><DT +>II. <A +HREF="other-commands.html" +>Other commands</A +></DT +><DT +>III. <A +HREF="sql-commands.html" +>SQL type commands</A +></DT +></DL +></DD +><DT +>V. <A +HREF="appendixes.html" +>Appendixes</A +></DT +><DD +><DL +><DT +>A. <A +HREF="release.html" +>Release Notes</A +></DT +></DL +></DD +><DT +><A +HREF="bookindex.html" +>Index</A +></DT +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Preface</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-getsource.html b/doc/src/sgml/html/install-getsource.html new file mode 100644 index 000000000..5c79facd2 --- /dev/null +++ b/doc/src/sgml/html/install-getsource.html @@ -0,0 +1,202 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Getting The Source</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Requirements" +HREF="install-requirements.html"><LINK +REL="NEXT" +TITLE="Installing pgpool-II" +HREF="install-pgpool.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Requirements" +HREF="install-requirements.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Installing pgpool-II" +HREF="install-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-GETSOURCE" +>3.3. Getting The Source</A +></H1 +><P +> The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.6-alpha1 sources can be obtained + from the download section of our + website: <A +HREF="http://www.pgpool.net" +TARGET="_top" +>http://www.pgpool.net</A +>. You should + get a file + named <TT +CLASS="FILENAME" +>pgpool-II-3.6-alpha1.tar.gz</TT +>. After you + have obtained the file, unpack it: +</P><PRE +CLASS="SCREEN" +><KBD +CLASS="USERINPUT" +>tar xf pgpool-II-3.6-alpha1.tar.gz</KBD +></PRE +><P> + This will create a directory + <TT +CLASS="FILENAME" +>pgpool-II-3.6-alpha1</TT +> under the current directory + with the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> sources. + Change into that directory for the rest + of the installation procedure. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-requirements.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Requirements</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Installing pgpool-II</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-pgpool-recovery.html b/doc/src/sgml/html/install-pgpool-recovery.html new file mode 100644 index 000000000..9f5d58586 --- /dev/null +++ b/doc/src/sgml/html/install-pgpool-recovery.html @@ -0,0 +1,231 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Installing pgpool_recovery</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Installing pgpool-II" +HREF="install-pgpool.html"><LINK +REL="NEXT" +TITLE="Installing pgpool-regclass" +HREF="install-pgpool-regclass.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Installing pgpool-II" +HREF="install-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Installing pgpool-regclass" +HREF="install-pgpool-regclass.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-PGPOOL-RECOVERY" +>3.5. Installing pgpool_recovery</A +></H1 +><P +> This is required in all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + installation. + </P><PRE +CLASS="PROGRAMLISTING" +>$ cd pgpool-II-x.x.x/sql/pgpool-recovery +$ make +$ make install + </PRE +><P> +After this: + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql template1 +=# CREATE EXTENSION pgpool_recovery; + </PRE +><P> + + or + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -f pgpool-recovery.sql template1 + </PRE +><P> + + </P +><P +> With <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.3 or later, you need + to tweak <TT +CLASS="FILENAME" +>postgresql.conf</TT +>. Suppose the path + to <TT +CLASS="COMMAND" +>pg_ctl</TT +> + is <TT +CLASS="FILENAME" +>/usr/local/pgsql/bin/pg_ctl</TT +>. Then you + add following to <TT +CLASS="FILENAME" +>postgresql.conf</TT +>. + + </P><PRE +CLASS="PROGRAMLISTING" +>pgpool.pg_ctl = '/usr/local/pgsql/bin/pg_ctl' + </PRE +><P> + + Probably you want to execute following after this: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pg_ctl reload -D /usr/local/pgsql/data + </PRE +><P> + + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-pgpool-regclass.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Installing pgpool-II</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Installing pgpool-regclass</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-pgpool-regclass.html b/doc/src/sgml/html/install-pgpool-regclass.html new file mode 100644 index 000000000..477e49edd --- /dev/null +++ b/doc/src/sgml/html/install-pgpool-regclass.html @@ -0,0 +1,266 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Installing pgpool-regclass</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Installing pgpool_recovery" +HREF="install-pgpool-recovery.html"><LINK +REL="NEXT" +TITLE="Creating insert_lock table" +HREF="create-installlock-table.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Installing pgpool_recovery" +HREF="install-pgpool-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Creating insert_lock table" +HREF="create-installlock-table.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-PGPOOL-REGCLASS" +>3.6. Installing pgpool-regclass</A +></H1 +><P +> If you are using <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.4 or + later, you can skip this section. + </P +><P +> If you are using <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 8.0 + to <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.3, installing + <CODE +CLASS="FUNCTION" +>pgpool_regclass</CODE +> function on + all <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> to be accessed by + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is strongly recommended, as + it is used internally by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Without this, handling of duplicate table names in different + schema might cause trouble (temporary tables aren't a problem). + If you are using <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.4 or + later, installing <CODE +CLASS="FUNCTION" +>pgpool_regclass</CODE +> is not + necessary since an equivalent (<CODE +CLASS="FUNCTION" +>to_regclass</CODE +>) + is included in the <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> core. + </P +><P +> </P><PRE +CLASS="PROGRAMLISTING" +>$ cd pgpool-II-x.x.x/sql/pgpool-regclass +$ make +$ make install + </PRE +><P> + After this: + + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql template1 +=# CREATE EXTENSION pgpool_regclass; + </PRE +><P> + +or + + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -f pgpool-regclass.sql template1 + </PRE +><P> + + Executing <TT +CLASS="COMMAND" +>CREATE EXTENSION</TT +> + or <TT +CLASS="FILENAME" +>pgpool-regclass.sql</TT +> should be performed + on every databases accessed + with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. You do not need to + do this for a database created after the execution of + <TT +CLASS="COMMAND" +>psql -f pgpool-regclass.sql template1</TT +> + or <TT +CLASS="COMMAND" +>CREATE EXTENSION</TT +>, as this template + database will be cloned to create new databases. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-pgpool-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="create-installlock-table.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Installing pgpool_recovery</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Creating insert_lock table</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-pgpool.html b/doc/src/sgml/html/install-pgpool.html new file mode 100644 index 000000000..3e7e03d13 --- /dev/null +++ b/doc/src/sgml/html/install-pgpool.html @@ -0,0 +1,310 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Installing pgpool-II</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Getting The Source" +HREF="install-getsource.html"><LINK +REL="NEXT" +TITLE="Installing pgpool_recovery" +HREF="install-pgpool-recovery.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Getting The Source" +HREF="install-getsource.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Installing pgpool_recovery" +HREF="install-pgpool-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-PGPOOL" +>3.4. Installing pgpool-II</A +></H1 +><P +> After extracting the source tarball, execute the configure script. +</P><PRE +CLASS="PROGRAMLISTING" +>./configure</PRE +><P> + </P +><P +> If you want non-default values, some options can be set. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>--prefix=path</TT +></DT +><DD +><P +> pgpool-II binaries and docs will be installed in this + directory. Default value is <TT +CLASS="FILENAME" +>/usr/local</TT +>. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--with-pgsql=path</TT +></DT +><DD +><P +> The top directory where PostgreSQL's client libraries are + installed. Default value is provided by <TT +CLASS="COMMAND" +>pg_config</TT +>. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--with-openssl</TT +></DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> binaries will be built + with <SPAN +CLASS="PRODUCTNAME" +>OpenSSL</SPAN +> + support. <SPAN +CLASS="PRODUCTNAME" +>OpenSSL</SPAN +> support is + disabled by default. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--enable-sequence-lock</TT +></DT +><DD +><P +> Use insert_lock compatible + with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.0 series + (until 3.0.4). <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> locks + against a row in the sequence + table. <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 8.2 or later + which was released after June 2011 cannot use this lock + method. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--enable-table-lock</TT +></DT +><DD +><P +> Use insert_lock compatible + with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 2.2 and 2.3 + series. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> locks + against the insert target table. This lock method is + deprecated because it causes a lock conflict + with <TT +CLASS="COMMAND" +>VACUUM</TT +>. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--with-memcached=path</TT +></DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> binaries will use memcached for in + memory query cache. You have to + install <A +HREF="http://libmemcached.org/libMemcached.html" +TARGET="_top" +>libmemcached</A +>. + </P +></DD +></DL +></DIV +><P +> </P><PRE +CLASS="PROGRAMLISTING" +>make +make install + </PRE +><P> + will install pgpool-II. (If you use Solaris or FreeBSD, replace make with gmake) + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-getsource.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-pgpool-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Getting The Source</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Installing pgpool_recovery</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-requirements.html b/doc/src/sgml/html/install-requirements.html new file mode 100644 index 000000000..a9b7855d8 --- /dev/null +++ b/doc/src/sgml/html/install-requirements.html @@ -0,0 +1,360 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Requirements</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Installation from Source Code" +HREF="install-source.html"><LINK +REL="NEXT" +TITLE="Getting The Source" +HREF="install-getsource.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Installation from Source Code" +HREF="install-source.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Getting The Source" +HREF="install-getsource.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-REQUIREMENTS" +>3.2. Requirements</A +></H1 +><P +> In general, a modern Unix-compatible platform should be able to run + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. Windows is not supported. + </P +><P +> The following software packages are required for building + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>: + + <P +></P +></P><UL +><LI +><P +> + + <ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> <SPAN +CLASS="APPLICATION" +>make</SPAN +> version 3.80 or newer is required; other + <SPAN +CLASS="APPLICATION" +>make</SPAN +> programs or older <ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> <SPAN +CLASS="APPLICATION" +>make</SPAN +> versions will <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>not</I +></SPAN +> work. + (<ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> <SPAN +CLASS="APPLICATION" +>make</SPAN +> is sometimes installed under + the name <TT +CLASS="FILENAME" +>gmake</TT +>.) To test for <ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> + <SPAN +CLASS="APPLICATION" +>make</SPAN +> enter: +</P><PRE +CLASS="SCREEN" +><KBD +CLASS="USERINPUT" +>make --version</KBD +></PRE +><P> + </P +></LI +><LI +><P +> You need an <ACRONYM +CLASS="ACRONYM" +>ISO</ACRONYM +>/<ACRONYM +CLASS="ACRONYM" +>ANSI</ACRONYM +> C compiler (at least + C89-compliant). Recent + versions of <SPAN +CLASS="PRODUCTNAME" +>GCC</SPAN +> are recommended, but + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> is known to build using a wide variety + of compilers from different vendors. + </P +></LI +><LI +><P +> <SPAN +CLASS="APPLICATION" +>tar</SPAN +> is required to unpack the source + distribution, in addition to either + <SPAN +CLASS="APPLICATION" +>gzip</SPAN +> or <SPAN +CLASS="APPLICATION" +>bzip2</SPAN +>. + </P +></LI +></UL +><P> + </P +><P +> The following packages are optional. They are not required in the + default configuration, but they are needed when certain build + options are enabled, as explained below: + </P +><P +> If you are building from a <SPAN +CLASS="PRODUCTNAME" +>Git</SPAN +> tree instead of + using a released source package, or if you want to do server development, + you also need the following packages: + </P +><P +> <P +></P +></P><UL +><LI +><P +> + + + + + GNU <SPAN +CLASS="APPLICATION" +>Flex</SPAN +> and <SPAN +CLASS="APPLICATION" +>Bison</SPAN +> + are needed to build from a Git checkout, or if you changed the actual + scanner and parser definition files. If you need them, be sure + to get <SPAN +CLASS="APPLICATION" +>Flex</SPAN +> 2.5.31 or later and + <SPAN +CLASS="APPLICATION" +>Bison</SPAN +> 1.875 or later. Other <SPAN +CLASS="APPLICATION" +>lex</SPAN +> + and <SPAN +CLASS="APPLICATION" +>yacc</SPAN +> programs cannot be used. + </P +></LI +></UL +><P> + </P +><P +> If you need to get a <ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> package, you can find + it at your local <ACRONYM +CLASS="ACRONYM" +>GNU</ACRONYM +> mirror site (see <A +HREF="http://www.gnu.org/order/ftp.html" +TARGET="_top" +>http://www.gnu.org/order/ftp.html</A +> + for a list) or at <A +HREF="ftp://ftp.gnu.org/gnu/" +TARGET="_top" +>ftp://ftp.gnu.org/gnu/</A +>. + </P +><P +> Also check that you have sufficient disk space. You will need about + 40 MB for the source tree during compilation and about 20 MB for + the installation directory. If you are going to + run the regression tests you will temporarily need up to an extra + 4 GB. Use the <TT +CLASS="COMMAND" +>df</TT +> command to check free disk + space. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="install-source.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-getsource.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Installation from Source Code</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Getting The Source</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/install-source.html b/doc/src/sgml/html/install-source.html new file mode 100644 index 000000000..6b0b58a0c --- /dev/null +++ b/doc/src/sgml/html/install-source.html @@ -0,0 +1,178 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Installation from Source Code</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="NEXT" +TITLE="Requirements" +HREF="install-requirements.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Requirements" +HREF="install-requirements.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INSTALL-SOURCE" +>3.1. Installation from Source Code</A +></H1 +><P +> This chapter describes the installtion + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. First, installation from + source code distribution is explained. Then installtion from RPM + packages is explained. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-requirements.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Requirements</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/installation.html b/doc/src/sgml/html/installation.html new file mode 100644 index 000000000..865d392cc --- /dev/null +++ b/doc/src/sgml/html/installation.html @@ -0,0 +1,214 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Pgpool-II Installation from Source Code</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="PREVIOUS" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="NEXT" +TITLE="Installation from Source Code" +HREF="install-source.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Server Administration" +HREF="admin.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Installation from Source Code" +HREF="install-source.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="INSTALLATION" +></A +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>3.1. <A +HREF="install-source.html" +>Installation from Source Code</A +></DT +><DT +>3.2. <A +HREF="install-requirements.html" +>Requirements</A +></DT +><DT +>3.3. <A +HREF="install-getsource.html" +>Getting The Source</A +></DT +><DT +>3.4. <A +HREF="install-pgpool.html" +>Installing pgpool-II</A +></DT +><DT +>3.5. <A +HREF="install-pgpool-recovery.html" +>Installing pgpool_recovery</A +></DT +><DT +>3.6. <A +HREF="install-pgpool-regclass.html" +>Installing pgpool-regclass</A +></DT +><DT +>3.7. <A +HREF="create-installlock-table.html" +>Creating insert_lock table</A +></DT +><DT +>3.8. <A +HREF="setting-up-pgpool-conf.html" +>Setting up pgpool.conf</A +></DT +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="install-source.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Server Administration</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Installation from Source Code</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/intro-whatis.html b/doc/src/sgml/html/intro-whatis.html new file mode 100644 index 000000000..941f0040a --- /dev/null +++ b/doc/src/sgml/html/intro-whatis.html @@ -0,0 +1,338 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +> What is Pgpool-II?</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE="Preface" +HREF="preface.html"><LINK +REL="NEXT" +TITLE="A Brief History of Pgpool-II" +HREF="history.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Preface" +HREF="preface.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="A Brief History of Pgpool-II" +HREF="history.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="INTRO-WHATIS" +>What is <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>?</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is a proxy software that sits + between <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> servers and a + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> database client. It provides + the following features: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +>Connection Pooling</DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> maintains established + connections to the <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + servers, and reuses them whenever a new connection with the + same properties (i.e. user name, database, protocol version) + comes in. It reduces the connection overhead, and improves + system's overall throughput. + </P +></DD +><DT +>Load Balancing</DT +><DD +><P +> If a database is replicated (because running in either + replication mode or master/slave mode), performing a SELECT + query on any server will return the same result. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + takes advantage of the replication feature in order to reduce + the load on each PostgreSQL server. It does that by + distributing SELECT queries among available servers, improving + the system's overall throughput. In an ideal scenario, read + performance could improve proportionally to the number of + PostgreSQL servers. Load balancing works best in a scenario + where there are a lot of users executing many read-only + queries at the same time. + </P +></DD +><DT +>Automated fail over</DT +><DD +><P +> If one of database servers goes down or becomes unrechable, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will detaches it and continues operations using rest + of database servers. There are some sophiscated features which + help the automated fail over including timeout and retries. + </P +></DD +><DT +>Replication</DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> can manage + multiple <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + servers. Activating the replication feature makes it possible + to create a real time backup on 2 or + more <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> clusters, so that + the service can continue without interruption if one of those + clusters fails. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> has + built-in replication (native replication). However user can + use external replication features including streaming + replication of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>. + </P +></DD +><DT +>Limiting Exceeding Connections</DT +><DD +><P +> There is a limit on the maximum number of concurrent + connections with <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>, and + new connections are rejected when this number is + reached. Raising this maximum number of connections, however, + increases resource consumption and has a negative impact on + overall system + performance. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> also has a + limit on the maximum number of connections, but extra + connections will be queued instead of returning an error + immediately. + </P +></DD +></DL +></DIV +><P> + + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> speaks PostgreSQL's backend + and frontend protocol, and relays messages between a backend and a + frontend. Therefore, a database application (frontend) thinks + that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is the + actual <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> server, and the + server (backend) sees <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> as one + of its clients. Because + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is transparent to both the server and the client, an + existing database application can be used with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> almost + without a change to its source code. + </P +><P +> There are some restrictions to using SQL via <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + See <A +HREF="restrictions.html" +>Restrictions</A +> for more details. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="history.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Preface</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>A Brief History of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/notation.html b/doc/src/sgml/html/notation.html new file mode 100644 index 000000000..6e924ecd2 --- /dev/null +++ b/doc/src/sgml/html/notation.html @@ -0,0 +1,225 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Conventions</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE="A Brief History of Pgpool-II" +HREF="history.html"><LINK +REL="NEXT" +TITLE="Further Information" +HREF="resources.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="A Brief History of Pgpool-II" +HREF="history.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Further Information" +HREF="resources.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="NOTATION" +>Conventions</A +></H1 +><P +> The following conventions are used in the synopsis of a command: + brackets (<TT +CLASS="LITERAL" +>[</TT +> and <TT +CLASS="LITERAL" +>]</TT +>) indicate + optional parts. (In the synopsis of a Tcl command, question marks + (<TT +CLASS="LITERAL" +>?</TT +>) are used instead, as is usual in Tcl.) Braces + (<TT +CLASS="LITERAL" +>{</TT +> and <TT +CLASS="LITERAL" +>}</TT +>) and vertical lines + (<TT +CLASS="LITERAL" +>|</TT +>) indicate that you must choose one + alternative. Dots (<TT +CLASS="LITERAL" +>...</TT +>) mean that the preceding element + can be repeated. + </P +><P +> Where it enhances the clarity, SQL commands are preceded by the + prompt <TT +CLASS="LITERAL" +>=&gt;</TT +>, and shell commands are preceded by the + prompt <TT +CLASS="LITERAL" +>$</TT +>. Normally, prompts are not shown, though. + </P +><P +> An <I +CLASS="FIRSTTERM" +>administrator</I +> is generally a person who is + in charge of installing and running the server. A <I +CLASS="FIRSTTERM" +>user</I +> + could be anyone who is using, or wants to use, any part of the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> system. These terms should not + be interpreted too narrowly; this book does not have fixed + presumptions about system administration procedures. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="history.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="resources.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>A Brief History of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Further Information</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/other-commands.html b/doc/src/sgml/html/other-commands.html new file mode 100644 index 000000000..8b39187ed --- /dev/null +++ b/doc/src/sgml/html/other-commands.html @@ -0,0 +1,199 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Other commands</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Reference" +HREF="reference.html"><LINK +REL="PREVIOUS" +TITLE="pcp_recovery_node" +HREF="pcp-recovery-node.html"><LINK +REL="NEXT" +TITLE="pg_md5" +HREF="pg-md5.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFERENCE" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_recovery_node" +HREF="pcp-recovery-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pg_md5" +HREF="pg-md5.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="REFERENCE" +><A +NAME="OTHER-COMMANDS" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>II. Other commands</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN4781" +></A +><P +> This part contains reference information for various Pgpool-II commands. + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="pg-md5.html" +>pg_md5</A +>&nbsp;--&nbsp; produces encrypted password in md5</DT +><DT +><A +HREF="pgpool-setup.html" +>pgpool_setup</A +>&nbsp;--&nbsp; Create a temporary installation of Pgpool-II cluster</DT +><DT +><A +HREF="watchdog-setup.html" +>watchdog_setup</A +>&nbsp;--&nbsp; Create a temporary installation of Pgpool-II clusters with watchdog</DT +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-recovery-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pg-md5.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_recovery_node</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pg_md5</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-attach-node.html b/doc/src/sgml/html/pcp-attach-node.html new file mode 100644 index 000000000..f9f0c0b60 --- /dev/null +++ b/doc/src/sgml/html/pcp-attach-node.html @@ -0,0 +1,259 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_attach_node</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_detach_node" +HREF="pcp-detach-node.html"><LINK +REL="NEXT" +TITLE="pcp_promote_node" +HREF="pcp-promote-node.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_detach_node" +HREF="pcp-detach-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_promote_node" +HREF="pcp-promote-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-ATTACH-NODE" +></A +>pcp_attach_node</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4609" +></A +><H2 +>Name</H2 +>pcp_attach_node&nbsp;--&nbsp; attaches the given node to Pgpool-II.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4612" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_attach_node</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-ATTACH-NODE-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_attach_node</TT +> + attaches the given node to Pgpool-II. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4623" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node_id=<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +></DT +><DD +><P +> The index of backend node to attach. + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-detach-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-promote-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_detach_node</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_promote_node</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-commands.html b/doc/src/sgml/html/pcp-commands.html new file mode 100644 index 000000000..c296b2cb5 --- /dev/null +++ b/doc/src/sgml/html/pcp-commands.html @@ -0,0 +1,321 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>PCP commands</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Reference" +HREF="reference.html"><LINK +REL="PREVIOUS" +TITLE="Reference" +HREF="reference.html"><LINK +REL="NEXT" +TITLE="pcp_common_options" +HREF="pcp-common-options.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFERENCE" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Reference" +HREF="reference.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_common_options" +HREF="pcp-common-options.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="REFERENCE" +><A +NAME="PCP-COMMANDS" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>I. PCP commands</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN4194" +></A +><P +> This part contains reference information for PCP commands. + PCP commands are UNIX commands which manipulate pgpool-II via the network. + Please note that the parameter format for all PCP commands has been changed since pgpool-II 3.5. + </P +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="PCP-CONNECTION-AUTHENTICATION" +>1. PCP connection authentication</A +></H1 +><P +> PCP user names and passwords must be declared in + <TT +CLASS="FILENAME" +>pcp.conf</TT +> in <TT +CLASS="FILENAME" +>$prefix/etc</TT +> + directory. <TT +CLASS="OPTION" +>-F</TT +> option can be used when starting + pgpool-II if <TT +CLASS="FILENAME" +>pcp.conf</TT +> is placed somewhere + else. + </P +></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="PCP-PASSWORD-FILE" +>2. PCP password file</A +></H1 +><P +> The file <TT +CLASS="FILENAME" +>.pcppass</TT +> in a user's home + directory or the file referenced by environment variable + PCPPASSFILE can contain passwords to be used if no password has + been specified for the pcp connection. + </P +><P +> This file should contain lines of the following format: + + </P><PRE +CLASS="PROGRAMLISTING" +> hostname:port:username:password + </PRE +><P> + </P +><P +> (You can add a reminder comment to the file by copying the line + above and preceding it with #.) Each of the first three fields + can be a literal value, or *, which matches anything. The password + field from the first line that matches the current connection + parameters will be used. (Therefore, put more-specific entries + first when you are using wildcards.) If an entry needs to contain + : or \, escape this character with \. A host name of localhost + matches both TCP (host name localhost) and Unix domain socket + connections coming from the local machine. + </P +><P +> The permissions on .pcppass must disallow any access to world or + group; achieve this by the command chmod 0600 ~/.pcppass. If the + permissions are less strict than this, the file will be + ignored. + </P +></DIV +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="pcp-common-options.html" +>pcp_common_options</A +>&nbsp;--&nbsp; common options used in PCP commands</DT +><DT +><A +HREF="pcp-node-count.html" +>pcp_node_count</A +>&nbsp;--&nbsp; displays the total number of database nodes</DT +><DT +><A +HREF="pcp-node-info.html" +>pcp_node_info</A +>&nbsp;--&nbsp; displays the information on the given node ID</DT +><DT +><A +HREF="pcp-watchdog-info.html" +>pcp_watchdog_info</A +>&nbsp;--&nbsp; displays the watchdog status of the Pgpool-II</DT +><DT +><A +HREF="pcp-proc-count.html" +>pcp_proc_count</A +>&nbsp;--&nbsp; displays the list of Pgpool-II children process IDs</DT +><DT +><A +HREF="pcp-proc-info.html" +>pcp_proc_info</A +>&nbsp;--&nbsp; displays the information on the given Pgpool-II child process ID</DT +><DT +><A +HREF="pcp-pool-status.html" +>pcp_pool_status</A +>&nbsp;--&nbsp; displays the parameter values as defined in <TT +CLASS="FILENAME" +>pgpool.conf</TT +></DT +><DT +><A +HREF="pcp-detach-node.html" +>pcp_detach_node</A +>&nbsp;--&nbsp; detaches the given node from Pgpool-II. Exisiting connections to Pgpool-II are forced to be disconnected.</DT +><DT +><A +HREF="pcp-attach-node.html" +>pcp_attach_node</A +>&nbsp;--&nbsp; attaches the given node to Pgpool-II.</DT +><DT +><A +HREF="pcp-promote-node.html" +>pcp_promote_node</A +>&nbsp;--&nbsp; promotes the given node as new master to Pgpool-II</DT +><DT +><A +HREF="pcp-stop-pgpool.html" +>pcp_stop_pgpool</A +>&nbsp;--&nbsp; terminates the Pgpool-II process</DT +><DT +><A +HREF="pcp-recovery-node.html" +>pcp_recovery_node</A +>&nbsp;--&nbsp; attaches the given backend node with recovery</DT +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-common-options.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Reference</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_common_options</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-common-options.html b/doc/src/sgml/html/pcp-common-options.html new file mode 100644 index 000000000..cc15e42f2 --- /dev/null +++ b/doc/src/sgml/html/pcp-common-options.html @@ -0,0 +1,396 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_common_options</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="NEXT" +TITLE="pcp_node_count" +HREF="pcp-node-count.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="PCP commands" +HREF="pcp-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_node_count" +HREF="pcp-node-count.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-COMMON-OPTIONS" +></A +>pcp_common_options</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4218" +></A +><H2 +>Name</H2 +>pcp_common_options&nbsp;--&nbsp; common options used in PCP commands</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4221" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_command</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-COMMON-OPTIONS-1" +></A +><H2 +> Description + </H2 +><P +> There are some arguments common to all PCP commands. Most of + these are for authentication and the rest are about verbose + mode, debug message, and so on. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4229" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-h <TT +CLASS="REPLACEABLE" +><I +>hostname</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--host=<TT +CLASS="REPLACEABLE" +><I +>hostname</I +></TT +></TT +></DT +><DD +><P +> The host name of the machine on which the server is running. If the + value begins with a slash, it is used as the directory for the Unix-domain socket. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-p <TT +CLASS="REPLACEABLE" +><I +>port</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--port=<TT +CLASS="REPLACEABLE" +><I +>port</I +></TT +></TT +></DT +><DD +><P +> The PCP port number (default:"9898"). + </P +></DD +><DT +><TT +CLASS="OPTION" +>-u <TT +CLASS="REPLACEABLE" +><I +>username</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--username=<TT +CLASS="REPLACEABLE" +><I +>username</I +></TT +></TT +></DT +><DD +><P +> The user name for PCP authentication (default: OS user name). + </P +></DD +><DT +><TT +CLASS="OPTION" +>-w</TT +><BR><TT +CLASS="OPTION" +>--no-password</TT +></DT +><DD +><P +> Never prompt for password. And if a password is not available + by a <TT +CLASS="FILENAME" +>.pcppass</TT +> file, the connection + attempt will fail. This option can be useful in batch jobs + and scripts where no user is present to enter a password. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-W</TT +><BR><TT +CLASS="OPTION" +>--password</TT +></DT +><DD +><P +> Force password prompt (should happen automatically). + </P +></DD +><DT +><TT +CLASS="OPTION" +>-d</TT +><BR><TT +CLASS="OPTION" +>--debug</TT +></DT +><DD +><P +> Enable debug message. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-v</TT +><BR><TT +CLASS="OPTION" +>--verbose</TT +></DT +><DD +><P +> Enable verbose output. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-V</TT +><BR><TT +CLASS="OPTION" +>--version</TT +></DT +><DD +><P +> Print the command version, then exit. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-?</TT +><BR><TT +CLASS="OPTION" +>--help</TT +></DT +><DD +><P +> Shows help for the command line arguments, then exit. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4303" +></A +><H2 +>Environment</H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="ENVAR" +>PCPPASSFILE</TT +></DT +><DD +><P +> Specifies the path to pcp password file. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-node-count.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>PCP commands</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_node_count</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-detach-node.html b/doc/src/sgml/html/pcp-detach-node.html new file mode 100644 index 000000000..b701e6f54 --- /dev/null +++ b/doc/src/sgml/html/pcp-detach-node.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_detach_node</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_pool_status" +HREF="pcp-pool-status.html"><LINK +REL="NEXT" +TITLE="pcp_attach_node" +HREF="pcp-attach-node.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_pool_status" +HREF="pcp-pool-status.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_attach_node" +HREF="pcp-attach-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-DETACH-NODE" +></A +>pcp_detach_node</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4560" +></A +><H2 +>Name</H2 +>pcp_detach_node&nbsp;--&nbsp; detaches the given node from Pgpool-II. Exisiting connections to Pgpool-II are forced to be disconnected.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4563" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_detach_node</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +>] [<TT +CLASS="REPLACEABLE" +><I +>gracefully</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-DETACH-NODE-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_detach_node</TT +> + detaches the given node from Pgpool-II. Exisiting connections to Pgpool-II are forced to be disconnected. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4576" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node_id=<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +></DT +><DD +><P +> The index of backend node to detach. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-g</TT +><BR><TT +CLASS="OPTION" +>--gracefully</TT +></DT +><DD +><P +> wait until all clients are disconnected (unless client_idle_limit_in_recovery is -1 or recovery_timeout is expired). + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-pool-status.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-attach-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_pool_status</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_attach_node</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-node-count.html b/doc/src/sgml/html/pcp-node-count.html new file mode 100644 index 000000000..31594b83b --- /dev/null +++ b/doc/src/sgml/html/pcp-node-count.html @@ -0,0 +1,237 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_node_count</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_common_options" +HREF="pcp-common-options.html"><LINK +REL="NEXT" +TITLE="pcp_node_info" +HREF="pcp-node-info.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_common_options" +HREF="pcp-common-options.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_node_info" +HREF="pcp-node-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-NODE-COUNT" +></A +>pcp_node_count</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4318" +></A +><H2 +>Name</H2 +>pcp_node_count&nbsp;--&nbsp; displays the total number of database nodes</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4321" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_node_count</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-NODE-COUNT-1" +></A +><H2 +> Description + </H2 +><P +> <TT +CLASS="COMMAND" +>pcp_node_count</TT +> + displays the total number of database nodes defined in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. It does + not distinguish between nodes status, ie attached/detached. ALL nodes are counted. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4331" +></A +><H2 +>Options</H2 +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4335" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_node_count -p 11001 +Password: +2 + </PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-common-options.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-node-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_common_options</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_node_info</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-node-info.html b/doc/src/sgml/html/pcp-node-info.html new file mode 100644 index 000000000..40f9768eb --- /dev/null +++ b/doc/src/sgml/html/pcp-node-info.html @@ -0,0 +1,327 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_node_info</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_node_count" +HREF="pcp-node-count.html"><LINK +REL="NEXT" +TITLE="pcp_watchdog_info" +HREF="pcp-watchdog-info.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_node_count" +HREF="pcp-node-count.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_watchdog_info" +HREF="pcp-watchdog-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-NODE-INFO" +></A +>pcp_node_info</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4346" +></A +><H2 +>Name</H2 +>pcp_node_info&nbsp;--&nbsp; displays the information on the given node ID</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4349" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_node_info</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-NODE-INFO-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_node_info</TT +> + displays the information on the given node ID. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4360" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node-id=<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +></DT +><DD +><P +> The index of backend node to get information of. + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4379" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_node_info -h localhost -U postgres 0 +host1 5432 1 1073741823.500000 + </PRE +><P> + </P +><P +> The result is in the following order: +</P><PRE +CLASS="LITERALLAYOUT" +>1. hostname +2. port number +3. status +4. load balance weight</PRE +><P> + </P +><P +> Status is represented by a digit from [0 to 3]. + <P +></P +></P><UL +><LI +><P +>0 - This state is only used during the initialization. PCP will never display it. </P +></LI +><LI +><P +>1 - Node is up. No connections yet. </P +></LI +><LI +><P +>2 - Node is up. Connections are pooled. </P +></LI +><LI +><P +>3 - Node is down. </P +></LI +></UL +><P> + </P +><P +> The load balance weight is displayed in normalized format. + </P +><P +> The <TT +CLASS="OPTION" +>--verbose</TT +> option can help understand the output. For example: + </P +><PRE +CLASS="PROGRAMLISTING" +>$ pcp_node_info --verbose -h localhost -U postgres 0 +Hostname: host1 +Port : 5432 +Status : 1 +Weight : 0.5 + </PRE +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-node-count.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-watchdog-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_node_count</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_watchdog_info</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-pool-status.html b/doc/src/sgml/html/pcp-pool-status.html new file mode 100644 index 000000000..79102f17b --- /dev/null +++ b/doc/src/sgml/html/pcp-pool-status.html @@ -0,0 +1,251 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_pool_status</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_proc_info" +HREF="pcp-proc-info.html"><LINK +REL="NEXT" +TITLE="pcp_detach_node" +HREF="pcp-detach-node.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_proc_info" +HREF="pcp-proc-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_detach_node" +HREF="pcp-detach-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-POOL-STATUS" +></A +>pcp_pool_status</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4531" +></A +><H2 +>Name</H2 +>pcp_pool_status&nbsp;--&nbsp; displays the parameter values as defined in <TT +CLASS="FILENAME" +>pgpool.conf</TT +></DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4535" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_pool_status</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-POOL-STATUS-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_pool_status</TT +> + displays the parameter values as defined in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4545" +></A +><H2 +>Options</H2 +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4549" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_pool_status -h localhost -U postgres +name : listen_addresses +value: localhost +desc : host name(s) or IP address(es) to listen to + +name : port +value: 9999 +desc : pgpool accepting port number + +name : socket_dir +value: /tmp +desc : pgpool socket directory + +name : pcp_port +value: 9898 +desc : PCP port # to bind + </PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-proc-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-detach-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_proc_info</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_detach_node</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-proc-count.html b/doc/src/sgml/html/pcp-proc-count.html new file mode 100644 index 000000000..348ff7010 --- /dev/null +++ b/doc/src/sgml/html/pcp-proc-count.html @@ -0,0 +1,214 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_proc_count</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_watchdog_info" +HREF="pcp-watchdog-info.html"><LINK +REL="NEXT" +TITLE="pcp_proc_info" +HREF="pcp-proc-info.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_watchdog_info" +HREF="pcp-watchdog-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_proc_info" +HREF="pcp-proc-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-PROC-COUNT" +></A +>pcp_proc_count</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4458" +></A +><H2 +>Name</H2 +>pcp_proc_count&nbsp;--&nbsp; displays the list of Pgpool-II children process IDs</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4461" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_proc_count</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-PROC-COUNT-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_proc_count</TT +> + displays the list of Pgpool-II children process IDs. If there is more than one process, IDs will be delimited by a white space. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4470" +></A +><H2 +>Options</H2 +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-watchdog-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-proc-info.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_watchdog_info</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_proc_info</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-proc-info.html b/doc/src/sgml/html/pcp-proc-info.html new file mode 100644 index 000000000..9a3fc0e0f --- /dev/null +++ b/doc/src/sgml/html/pcp-proc-info.html @@ -0,0 +1,325 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_proc_info</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_proc_count" +HREF="pcp-proc-count.html"><LINK +REL="NEXT" +TITLE="pcp_pool_status" +HREF="pcp-pool-status.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_proc_count" +HREF="pcp-proc-count.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_pool_status" +HREF="pcp-pool-status.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-PROC-INFO" +></A +>pcp_proc_info</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4481" +></A +><H2 +>Name</H2 +>pcp_proc_info&nbsp;--&nbsp; displays the information on the given Pgpool-II child process ID</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4484" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_proc_info</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>processid</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-PROC-INFO-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_proc_info</TT +> + displays the information on the given Pgpool-II child process ID. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4495" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-P <TT +CLASS="REPLACEABLE" +><I +>PID</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--process-id=<TT +CLASS="REPLACEABLE" +><I +>PID</I +></TT +></TT +></DT +><DD +><P +> PID of Pgpool-II child process. + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4514" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_proc_info -h localhost -p 9898 -U postgres 3815 +postgres_db postgres 1150769932 1150767351 3 0 1 1467 1 +postgres_db postgres 1150769932 1150767351 3 0 1 1468 1 + </PRE +><P> + </P +><P +> The result is in the following order: +</P><PRE +CLASS="LITERALLAYOUT" +>1. connected database name +2. connected user name +3. process start-up timestamp +4. connection created timestamp +5. protocol major version +6. protocol minor version +7. connection-reuse counter +8. PostgreSQL backend process id +9. 1 if frontend conncted 0 if not</PRE +><P> + </P +><P +> If there is no connection to the backends, nothing will be displayed. + If there are multiple connections, one connection's information will be displayed on each line multiple times. + Timestamps are displayed in EPOCH format. + </P +><P +> The <TT +CLASS="OPTION" +>--verbose</TT +> option can help understand the output. For example: + </P +><PRE +CLASS="PROGRAMLISTING" +>$ pcp_proc_info --verbose -U postgres 3815 +Database : postgres_db +Username : postgres +Start time : 1150769932 +Creation time: 1150767351 +Major : 3 +Minor : 0 +Counter : 1 +PID : 1467 +Connected : 1 +Database : postgres_db +Username : postgres +Start time : 1150769932 +Creation time: 1150767351 +Major : 3 +Minor : 0 +Counter : 1 +PID : 1468 +Connected : 1 + </PRE +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-proc-count.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-pool-status.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_proc_count</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_pool_status</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-promote-node.html b/doc/src/sgml/html/pcp-promote-node.html new file mode 100644 index 000000000..82de60f5b --- /dev/null +++ b/doc/src/sgml/html/pcp-promote-node.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_promote_node</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_attach_node" +HREF="pcp-attach-node.html"><LINK +REL="NEXT" +TITLE="pcp_stop_pgpool" +HREF="pcp-stop-pgpool.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_attach_node" +HREF="pcp-attach-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_stop_pgpool" +HREF="pcp-stop-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-PROMOTE-NODE" +></A +>pcp_promote_node</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4649" +></A +><H2 +>Name</H2 +>pcp_promote_node&nbsp;--&nbsp; promotes the given node as new master to Pgpool-II</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4652" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_promote_node</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +>] [<TT +CLASS="REPLACEABLE" +><I +>gracefully</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-PROMOTE-NODE-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_promote_node</TT +> + promotes the given node as new master to Pgpool-II. In master/slave streaming replication only. Please note that this command does not actually promote standby PostgreSQL backend: it just changes the internal status of Pgpool-II and trigger failover and users have to promote standby PostgreSQL outside Pgpool-II. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4665" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node-id=<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +></DT +><DD +><P +> The index of backend node to promote as new master. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-g </TT +><BR><TT +CLASS="OPTION" +>--gracefully</TT +></DT +><DD +><P +> Wait until all clients are disconnected (unless client_idle_limit_in_recovery is -1 or recovery_timeout is expired). + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-attach-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-stop-pgpool.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_attach_node</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_stop_pgpool</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-recovery-node.html b/doc/src/sgml/html/pcp-recovery-node.html new file mode 100644 index 000000000..a9081b607 --- /dev/null +++ b/doc/src/sgml/html/pcp-recovery-node.html @@ -0,0 +1,259 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_recovery_node</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_stop_pgpool" +HREF="pcp-stop-pgpool.html"><LINK +REL="NEXT" +TITLE="Other commands" +HREF="other-commands.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_stop_pgpool" +HREF="pcp-stop-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Other commands" +HREF="other-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-RECOVERY-NODE" +></A +>pcp_recovery_node</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4746" +></A +><H2 +>Name</H2 +>pcp_recovery_node&nbsp;--&nbsp; attaches the given backend node with recovery</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4749" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_recovery_node</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-RECOVERY-NODE-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_node_info</TT +> + attaches the given backend node with recovery. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4760" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node-id=<TT +CLASS="REPLACEABLE" +><I +>node_id</I +></TT +></TT +></DT +><DD +><P +> The index of backend node. + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-stop-pgpool.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_stop_pgpool</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Other commands</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-stop-pgpool.html b/doc/src/sgml/html/pcp-stop-pgpool.html new file mode 100644 index 000000000..9b6c18f6c --- /dev/null +++ b/doc/src/sgml/html/pcp-stop-pgpool.html @@ -0,0 +1,279 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_stop_pgpool</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_promote_node" +HREF="pcp-promote-node.html"><LINK +REL="NEXT" +TITLE="pcp_recovery_node" +HREF="pcp-recovery-node.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_promote_node" +HREF="pcp-promote-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_recovery_node" +HREF="pcp-recovery-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-STOP-PGPOOL" +></A +>pcp_stop_pgpool</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4698" +></A +><H2 +>Name</H2 +>pcp_stop_pgpool&nbsp;--&nbsp; terminates the Pgpool-II process</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4701" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_stop_pgpool</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-STOP-PGPOOL-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_stop_pgpool</TT +> + terminates the Pgpool-II process. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4712" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-m <TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--mode=<TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +></TT +></DT +><DD +><P +> Shutdown mode for terminating the Pgpool-II process. + </P +><P +> The available modes are as follows: + <P +></P +></P><UL +><LI +><P +>s, smart : smart mode </P +></LI +><LI +><P +>f, fast : fast mode </P +></LI +><LI +><P +>i, immediate : immediate mode </P +></LI +></UL +><P> + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-promote-node.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-recovery-node.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_promote_node</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_recovery_node</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pcp-watchdog-info.html b/doc/src/sgml/html/pcp-watchdog-info.html new file mode 100644 index 000000000..18df775f4 --- /dev/null +++ b/doc/src/sgml/html/pcp-watchdog-info.html @@ -0,0 +1,357 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pcp_watchdog_info</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="PREVIOUS" +TITLE="pcp_node_info" +HREF="pcp-node-info.html"><LINK +REL="NEXT" +TITLE="pcp_proc_count" +HREF="pcp-proc-count.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pcp_node_info" +HREF="pcp-node-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pcp_proc_count" +HREF="pcp-proc-count.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PCP-WATCHDOG-INFO" +></A +>pcp_watchdog_info</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4406" +></A +><H2 +>Name</H2 +>pcp_watchdog_info&nbsp;--&nbsp; displays the watchdog status of the Pgpool-II</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4409" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pcp_watchdog_info</TT +> [<TT +CLASS="REPLACEABLE" +><I +>options</I +></TT +>...] [<TT +CLASS="REPLACEABLE" +><I +>watchdog_id</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PCP-WATCHDOG-INFO-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pcp_node_info</TT +> + displays the information on the given node ID. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4420" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>watcgdog_id</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--node-id=<TT +CLASS="REPLACEABLE" +><I +>watcgdog_id</I +></TT +></TT +></DT +><DD +><P +> The index of other Pgpool-II to get information for. + </P +><P +> Index 0 gets one's self watchdog information. + </P +><P +> If ommitted then gets information of all watchdog nodes. + </P +></DD +><DT +><TT +CLASS="OPTION" +>Other options </TT +></DT +><DD +><P +> See <A +HREF="pcp-common-options.html" +>pcp_common_options</A +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4441" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_watchdog_info -h localhost -u postgres + +3 NO Linux_host1.localdomain_9991 host1 + +Linux_host1.localdomain_9991 host1 9991 9001 7 STANDBY +Linux_host2.localdomain_9992 host2 9992 9002 4 MASTER +Linux_host3.localdomain_9993 host3 9993 9003 7 STANDBY + </PRE +><P> + </P +><P +> The result is in the following order: +</P><PRE +CLASS="LITERALLAYOUT" +>The first output line describes the watchdog cluster information: + +1. Total watchdog nodes in the cluster +2. Is VIP is up on current node? +3. Master node name +4. Master node host</PRE +><P> +</P><PRE +CLASS="LITERALLAYOUT" +>Next is the list of watchdog nodes: + +1. node name +2. hostname +3. pgpool port +4. watchdog port +5. current node state +6. current node state name</PRE +><P> + </P +><P +> The <TT +CLASS="OPTION" +>--verbose</TT +> option can help understand the output. For example: + </P +><PRE +CLASS="PROGRAMLISTING" +>$ pcp_watchdog_info -h localhost -v -u postgres + +Watchdog Cluster Information +Total Nodes : 3 +Remote Nodes : 2 +Quorum state : QUORUM EXIST +Alive Remote Nodes : 2 +VIP up on local node : NO +Master Node Name : Linux_host2.localdomain_9992 +Master Host Name : localhost + +Watchdog Node Information +Node Name : Linux_host1.localdomain_9991 +Host Name : host1 +Delegate IP : 192.168.1.10 +Pgpool port : 9991 +Watchdog port : 9001 +Node priority : 1 +Status : 7 +Status Name : STANDBY + +Node Name : Linux_host2.localdomain_9992 +Host Name : host2 +Delegate IP : 192.168.1.10 +Pgpool port : 9992 +Watchdog port : 9002 +Node priority : 1 +Status : 4 +Status Name : MASTER + +Node Name : Linux_host3.localdomain_9993 +Host Name : host3 +Delegate IP : 192.168.1.10 +Pgpool port : 9993 +Watchdog port : 9003 +Node priority : 1 +Status : 7 +Status Name : STANDBY + </PRE +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pcp-node-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-proc-count.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pcp_node_info</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pcp_proc_count</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pg-md5.html b/doc/src/sgml/html/pg-md5.html new file mode 100644 index 000000000..eb670077d --- /dev/null +++ b/doc/src/sgml/html/pg-md5.html @@ -0,0 +1,305 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pg_md5</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Other commands" +HREF="other-commands.html"><LINK +REL="PREVIOUS" +TITLE="Other commands" +HREF="other-commands.html"><LINK +REL="NEXT" +TITLE="pgpool_setup" +HREF="pgpool-setup.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Other commands" +HREF="other-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="pgpool_setup" +HREF="pgpool-setup.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PG-MD5" +></A +>pg_md5</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4790" +></A +><H2 +>Name</H2 +>pg_md5&nbsp;--&nbsp; produces encrypted password in md5</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4793" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pg_md5</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...]</P +><P +><TT +CLASS="COMMAND" +>pg_md5</TT +> [<TT +CLASS="REPLACEABLE" +><I +>password</I +></TT +>]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PG-MD5-1" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>pg_md5</TT +> + produces encrypted password in md5. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4806" +></A +><H2 +>Options</H2 +><P +> <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-p</TT +><BR><TT +CLASS="OPTION" +>--prompt</TT +></DT +><DD +><P +> Prompt password using standard input. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-m</TT +><BR><TT +CLASS="OPTION" +>--md5auth</TT +></DT +><DD +><P +> Produce md5 authentication password. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-u <TT +CLASS="REPLACEABLE" +><I +>your_username</I +></TT +></TT +><BR><TT +CLASS="OPTION" +>--username=<TT +CLASS="REPLACEABLE" +><I +>your_username</I +></TT +></TT +></DT +><DD +><P +> When producing a md5 authentication password, create the pool_passwd entry for <TT +CLASS="LITERAL" +>your_username</TT +>. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4834" +></A +><H2 +>Example</H2 +><P +> Here is an example output: + </P><PRE +CLASS="PROGRAMLISTING" +>pg_md5 -p +password: [your password] + </PRE +><P> + </P +><P +> or + </P +><PRE +CLASS="PROGRAMLISTING" +>./pg_md5 foo +acbd18db4cc2f85cedef654fccc4a4d8 + </PRE +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pgpool-setup.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Other commands</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>pgpool_setup</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pgpool-ii-user.html b/doc/src/sgml/html/pgpool-ii-user.html new file mode 100644 index 000000000..693d1419d --- /dev/null +++ b/doc/src/sgml/html/pgpool-ii-user.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>The Pgpool-II User Account</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="PREVIOUS" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="NEXT" +TITLE="Configuring pcp.conf" +HREF="configuring-pcp-conf.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Server Setup and Operation" +HREF="runtime.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 4. Server Setup and Operation</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Configuring pcp.conf" +HREF="configuring-pcp-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="PGPOOL-II-USER" +>4.1. The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> User Account</A +></H1 +><P +> As with any server daemon that is accessible to the outside world, + it is advisable to run <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> under a + separate user account. This user account should only own the data + that is managed by the server, and should not be shared with other + daemons. (For example, using the user <TT +CLASS="LITERAL" +>nobody</TT +> is a bad + idea.) It is not advisable to install executables owned by this + user because compromised systems could then modify their own + binaries. + </P +><P +> To add a Unix user account to your system, look for a command + <TT +CLASS="COMMAND" +>useradd</TT +> or <TT +CLASS="COMMAND" +>adduser</TT +>. The user + name <SPAN +CLASS="SYSTEMITEM" +>pgpool</SPAN +> is often used, and is assumed + throughout this book, but you can use another name if you like. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="configuring-pcp-conf.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Server Setup and Operation</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Configuring pcp.conf</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/pgpool-setup.html b/doc/src/sgml/html/pgpool-setup.html new file mode 100644 index 000000000..94eff614f --- /dev/null +++ b/doc/src/sgml/html/pgpool-setup.html @@ -0,0 +1,554 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>pgpool_setup</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Other commands" +HREF="other-commands.html"><LINK +REL="PREVIOUS" +TITLE="pg_md5" +HREF="pg-md5.html"><LINK +REL="NEXT" +TITLE="watchdog_setup" +HREF="watchdog-setup.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pg_md5" +HREF="pg-md5.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="watchdog_setup" +HREF="watchdog-setup.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="PGPOOL-SETUP" +></A +>pgpool_setup</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4847" +></A +><H2 +>Name</H2 +>pgpool_setup&nbsp;--&nbsp; Create a temporary installation of Pgpool-II cluster</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4850" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>pgpool_setup</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-PGPOOL-SETUP-1" +></A +><H2 +> Description + </H2 +><P +> <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +> creates a temporary + installation of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> cluster, which + includes a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> installation and + specified number of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + installations under current directory. + Current directory must be empty before running <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +>. + </P +><P +> <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +> is for testing purpose + only and should not be used to create production installations. + </P +><P +> Currently <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +> supports streaming replication mode, native replication mode and raw mode. + Watchdog is not supported yet. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4867" +></A +><H2 +>Options</H2 +><P +> <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +> accepts the following command-line arguments: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-m <TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +></TT +></DT +><DD +><P +> Specifies the running mode. <TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +> + can be <TT +CLASS="LITERAL" +>r</TT +> (native replication mode), <TT +CLASS="LITERAL" +>s</TT +> (streaming replication mode), or + <TT +CLASS="LITERAL" +>n</TT +> (raw mode). + If this is omitted, <TT +CLASS="LITERAL" +>s</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>num_clusters</I +></TT +></TT +></DT +><DD +><P +> Specifies the number of PostgreSQL installations. + If this is omitted, <TT +CLASS="LITERAL" +>2</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-p <TT +CLASS="REPLACEABLE" +><I +>base_port</I +></TT +></TT +></DT +><DD +><P +> Specify the base port number used by Pgpool-II and PostgreSQL. + Pgpool-II port is base_port. pcp port is base_port + 1. The + first PostgreSQL node's port is base_port + 2, second + PostgreSQL node's port is base_port + 3 and so on. + </P +><P +> If -pg option is specified, the first PostgreSQL node's port is + assigned to pg_base_port, the second PostgreSQL node's port is + pg_base_port + 1 and so on. + </P +><P +> If this is omitted, <TT +CLASS="LITERAL" +>11000</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-pg <TT +CLASS="REPLACEABLE" +><I +>pg_base_port</I +></TT +></TT +></DT +><DD +><P +> Specify the base port number used by PostgreSQL. + The first PostgreSQL node's port is base_port + 2, second + PostgreSQL node's port is base_port + 3 and so on. + </P +><P +> If this is omitted, <TT +CLASS="LITERAL" +>base_port</TT +>+2 is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--no-stop</TT +></DT +><DD +><P +> Do not stop pgpool and PostgreSQL after the work. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-d</TT +></DT +><DD +><P +> Start pgpool with debug mode. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4917" +></A +><H2 +>Environment variables</H2 +><P +> <SPAN +CLASS="APPLICATION" +>pgpool_setup</SPAN +> recognizes following environment variables: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>PGPOOL_INSTALL_DIR</TT +></DT +><DD +><P +> Specifies the Pgpool-II installation directory. Pgpool-II + binaries is expected to be placed under PGPOOL_INSTALL_DIR/bin + and pgpool.conf and pool_hba.conf etc. are expected to be placed under + PGPOOL_INSTALL_DIR/etc. The default is /usr/local. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGPOOLDIR</TT +></DT +><DD +><P +> Specifies the path to Pgpool-II configuration files. + The default is PGPOOL_INSTALL_DIR/etc. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGBIN</TT +></DT +><DD +><P +> Specifies the path to PostgreSQL commands such as initdb, pg_ctl and psql. + The default is /usr/local/pgsql/bin. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGLIB</TT +></DT +><DD +><P +> Specifies the path to PostgreSQL shared libraries. + The default is /usr/local/pgsql/lib. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGSOCKET_DIR</TT +></DT +><DD +><P +> Specifies the path to Unix socket directory. + The default is /tmp. + </P +></DD +><DT +><TT +CLASS="OPTION" +>INITDBARG</TT +></DT +><DD +><P +> Specifies the arguments for initdb command. + The default is "--no-locale -E UTF_8". + </P +></DD +></DL +></DIV +><P> + + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4952" +></A +><H2 +>Example</H2 +><P +></P><PRE +CLASS="SCREEN" +>$ pgpool_setup +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/tmp/test/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/tmp/test/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 11003 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 0 | true | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/tmp/test/startall. +To shutdown the whole system, use /home/t-ishii/tmp/test/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 11002 +#2 port is 11003 +pgpool port is 11000 +pcp port is 11001 +The info above is in README.port. + +$ ls +README.port bashrc.ports data1 log pgpool_reload run startall +archivedir data0 etc pcppass pgpool_setup.log shutdownall + +$ ./startall +waiting for server to start....11840 2016-08-18 13:08:51 JST LOG: redirecting log output to logging collector process +11840 2016-08-18 13:08:51 JST HINT: Future log output will appear in directory "pg_log". + done +server started +waiting for server to start....11853 2016-08-18 13:08:52 JST LOG: redirecting log output to logging collector process +11853 2016-08-18 13:08:52 JST HINT: Future log output will appear in directory "pg_log". + done +server started +$ psql -p 11000 test +Pager usage is off. +psql (9.5.4) +Type "help" for help. + +test=# show pool_nodes; + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 0 | true | 0 +(2 rows)&#13;</PRE +><P></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pg-md5.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="watchdog-setup.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pg_md5</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>watchdog_setup</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/preface.html b/doc/src/sgml/html/preface.html new file mode 100644 index 000000000..09b9dfdab --- /dev/null +++ b/doc/src/sgml/html/preface.html @@ -0,0 +1,293 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Preface</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="NEXT" +TITLE=" What is Pgpool-II?" +HREF="intro-whatis.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PREFACE" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE=" What is Pgpool-II?" +HREF="intro-whatis.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PREFACE" +><H1 +><A +NAME="PREFACE" +></A +>Preface</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="intro-whatis.html" +>What is <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>?</A +></DT +><DT +><A +HREF="history.html" +>A Brief History of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></DT +><DT +><A +HREF="notation.html" +>Conventions</A +></DT +><DT +><A +HREF="resources.html" +>Further Information</A +></DT +><DT +><A +HREF="restrictions.html" +>Restrictions</A +></DT +><DT +><A +HREF="bug-reporting.html" +>Bug Reporting Guidelines</A +></DT +></DL +></DIV +><P +> This book is the official documentation of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. It has been written by the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> developers and other + volunteers in parallel to the development of the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> software. It describes all + the functionality that the current version of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> officially supports. + </P +><P +> To make the large amount of information about + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> manageable, this book has been + organized in several parts. Each part is targeted at a different + class of users, or at users in different stages of their + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> experience: + + <P +></P +></P><UL +><LI +><P +> <A +HREF="tutorial.html" +>Part I</A +> is an informal introduction for new users. + </P +></LI +><LI +><P +> <A +HREF="admin.html" +>Part II</A +> describes the installation and + administration of the server. Everyone who runs a + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server, be it for private + use or for others, should read this part. + </P +></LI +><LI +><P +> <A +HREF="examples.html" +>Part III</A +> explains several configuration examples + so that users can choose the starting point of their actual systems. + </P +></LI +><LI +><P +> <A +HREF="reference.html" +>Part IV</A +> contains reference information about + SQL commands, client and server programs. This part supports + the other parts with structured information sorted by command or + program. + </P +></LI +><LI +><P +> <A +HREF="appendixes.html" +>Part V</A +> is an appendix information such as release notes. + </P +></LI +></UL +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="intro-whatis.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pgpool-II 3.6-alpha1 Documentation</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>What is <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>?</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/process-diagram.gif b/doc/src/sgml/html/process-diagram.gif new file mode 100644 index 000000000..0bf7ec2df Binary files /dev/null and b/doc/src/sgml/html/process-diagram.gif differ diff --git a/doc/src/sgml/html/reference.html b/doc/src/sgml/html/reference.html new file mode 100644 index 000000000..78fd057f1 --- /dev/null +++ b/doc/src/sgml/html/reference.html @@ -0,0 +1,353 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Reference</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="AWS Configuration Example" +HREF="example-aws.html"><LINK +REL="NEXT" +TITLE="PCP commands" +HREF="pcp-commands.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PART" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="AWS Configuration Example" +HREF="example-aws.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="PCP commands" +HREF="pcp-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PART" +><A +NAME="REFERENCE" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>IV. Reference</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN4188" +></A +><P +> This part contains reference information for the pgool-II. + </P +><P +> The reference entries are also available as traditional + <SPAN +CLASS="QUOTE" +>"man"</SPAN +> pages. + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>I. <A +HREF="pcp-commands.html" +>PCP commands</A +></DT +><DD +><DL +><DT +><A +HREF="pcp-common-options.html" +>pcp_common_options</A +>&nbsp;--&nbsp; common options used in PCP commands</DT +><DT +><A +HREF="pcp-node-count.html" +>pcp_node_count</A +>&nbsp;--&nbsp; displays the total number of database nodes</DT +><DT +><A +HREF="pcp-node-info.html" +>pcp_node_info</A +>&nbsp;--&nbsp; displays the information on the given node ID</DT +><DT +><A +HREF="pcp-watchdog-info.html" +>pcp_watchdog_info</A +>&nbsp;--&nbsp; displays the watchdog status of the Pgpool-II</DT +><DT +><A +HREF="pcp-proc-count.html" +>pcp_proc_count</A +>&nbsp;--&nbsp; displays the list of Pgpool-II children process IDs</DT +><DT +><A +HREF="pcp-proc-info.html" +>pcp_proc_info</A +>&nbsp;--&nbsp; displays the information on the given Pgpool-II child process ID</DT +><DT +><A +HREF="pcp-pool-status.html" +>pcp_pool_status</A +>&nbsp;--&nbsp; displays the parameter values as defined in <TT +CLASS="FILENAME" +>pgpool.conf</TT +></DT +><DT +><A +HREF="pcp-detach-node.html" +>pcp_detach_node</A +>&nbsp;--&nbsp; detaches the given node from Pgpool-II. Exisiting connections to Pgpool-II are forced to be disconnected.</DT +><DT +><A +HREF="pcp-attach-node.html" +>pcp_attach_node</A +>&nbsp;--&nbsp; attaches the given node to Pgpool-II.</DT +><DT +><A +HREF="pcp-promote-node.html" +>pcp_promote_node</A +>&nbsp;--&nbsp; promotes the given node as new master to Pgpool-II</DT +><DT +><A +HREF="pcp-stop-pgpool.html" +>pcp_stop_pgpool</A +>&nbsp;--&nbsp; terminates the Pgpool-II process</DT +><DT +><A +HREF="pcp-recovery-node.html" +>pcp_recovery_node</A +>&nbsp;--&nbsp; attaches the given backend node with recovery</DT +></DL +></DD +><DT +>II. <A +HREF="other-commands.html" +>Other commands</A +></DT +><DD +><DL +><DT +><A +HREF="pg-md5.html" +>pg_md5</A +>&nbsp;--&nbsp; produces encrypted password in md5</DT +><DT +><A +HREF="pgpool-setup.html" +>pgpool_setup</A +>&nbsp;--&nbsp; Create a temporary installation of Pgpool-II cluster</DT +><DT +><A +HREF="watchdog-setup.html" +>watchdog_setup</A +>&nbsp;--&nbsp; Create a temporary installation of Pgpool-II clusters with watchdog</DT +></DL +></DD +><DT +>III. <A +HREF="sql-commands.html" +>SQL type commands</A +></DT +><DD +><DL +><DT +><A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +>&nbsp;--&nbsp;show the value of a configuration parameter</DT +><DT +><A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +>&nbsp;--&nbsp;change a configuration parameter</DT +><DT +><A +HREF="sql-pgpool-reset.html" +>PGPOOL RESET</A +>&nbsp;--&nbsp;restore the value of a configuration parameter to the default value</DT +><DT +><A +HREF="sql-show-pgpool-status.html" +>SHOW PGPOOL STATUS</A +>&nbsp;--&nbsp; sends back the list of configuration parameters with their name, + value, and description + </DT +><DT +><A +HREF="sql-show-pool-nodes.html" +>SHOW POOL NODES</A +>&nbsp;--&nbsp; sends back a list of all configured nodes + </DT +><DT +><A +HREF="sql-show-pool-processes.html" +>SHOW POOL_PROCESSES</A +>&nbsp;--&nbsp; sends back a list of all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + processes waiting for connections and dealing with a connection + </DT +><DT +><A +HREF="sql-show-pool-pools.html" +>SHOW POOL_POOLS</A +>&nbsp;--&nbsp; sends back a list of pools handled + by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </DT +><DT +><A +HREF="sql-show-pool-version.html" +>SHOW POOL_VERSION</A +>&nbsp;--&nbsp; displays a string containing + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> release number. + </DT +><DT +><A +HREF="sql-show-pool-cache.html" +>SHOW POOL_CACHE</A +>&nbsp;--&nbsp; displays cache storage statistics + </DT +></DL +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="example-aws.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pcp-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>AWS Configuration Example</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>PCP commands</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/release-3-6.html b/doc/src/sgml/html/release-3-6.html new file mode 100644 index 000000000..b452390d7 --- /dev/null +++ b/doc/src/sgml/html/release-3-6.html @@ -0,0 +1,1787 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Release 3.6</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Release Notes" +HREF="release.html"><LINK +REL="PREVIOUS" +TITLE="Release Notes" +HREF="release.html"><LINK +REL="NEXT" +TITLE="Index" +HREF="bookindex.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Release Notes" +HREF="release.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="release.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Appendix A. Release Notes</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Index" +HREF="bookindex.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RELEASE-3-6" +>A.1. Release 3.6</A +></H1 +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Release Date: </B +>2016-11-xx</P +></BLOCKQUOTE +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AEN5454" +>A.1.1. Overview</A +></H2 +><P +> Major enhancements in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.6 include: + </P +><P +></P +><UL +><LI +><P +> 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 <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> even if + it is doing health checking retries. Before all attempt of + connecting to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> failed + while doing health checking retries. + </P +></LI +><LI +><P +> New PGPOOL SET command has been introduced. Certain + configuration parameters now can be changed on the fly in a + session. + </P +></LI +><LI +><P +> Watchdog is significantly enhanced. It becomes more reliable + than previous releases. + </P +></LI +><LI +><P +> 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. + </P +></LI +><LI +><P +> Import parser of PostgreSQL 9.6. + </P +></LI +><LI +><P +> In some cases pg_terminate_backend() now does not trigger a + fail-over. + </P +></LI +><LI +><P +> Change documentation format from raw HTML to SGML. + </P +></LI +></UL +><P +> The above items are explained in more detail in the sections below. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AEN5476" +>A.1.2. Major Enhancements</A +></H2 +><P +></P +><UL +><LI +><P +> Improve the behavior of fail-over. (Tatsuo Ishii) + </P +><P +> 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. Health check timeout case will also cause the + full session disconnection. Other health check error, + including retry over case does not trigger full session + disconnection. + </P +><P +> For user's convenience, "show pool_nodes" command shows the + session local load balance node info since this is important + for users in case of fail-over. If the load balance node is + not the failed node, the session will not be affected by + fail-over. + </P +><P +> Also now it is possible to connect + to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> even if it is doing + health checking retries. Before all attempt of connecting + to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> failed while doing + health checking retries. Before any attempt to connect to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> fails if it is doing a + health check against failed node even if + <A +HREF="runtime-config-failover.html#GUC-FAIL-OVER-ON-BACKEND-ERROR" +>fail_over_on_backend_error</A +> is off + because <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 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 fail-over. However if the health check + is retrying, the temporary situation keeps longer depending + on the setting + of <A +HREF="runtime-config-health-check.html#GUC-HEALTH-CHECK-MAX-RETRIES" +>health_check_max_retries</A +> and + <A +HREF="runtime-config-health-check.html#GUC-HEALTH-CHECK-RETRY-DELAY" +>health_check_retry_delay</A +>. This is not + good. Attached patch tries to mitigate the problem: + </P +><P +> 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. + </P +><P +> 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. + </P +><P +> After the session is over, the child process will suicide to + not retain the local status. + </P +></LI +><LI +><P +> Add <A +HREF="sql-pgpool-show.html" +>PGPOOL + SHOW</A +>, <A +HREF="sql-pgpool-set.html" +>PGPOOL + SET</A +> and + <A +HREF="sql-pgpool-reset.html" +>PGPOOL RESET</A +> + commands. (Muhammad Usama) + </P +><P +> These are similar to the PostgreSQL's SET and SHOW commands + for GUC variables, adding the functionality + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to set and reset the + value of config parameters for the current session, and for + that it adds a new syntax + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> which is similar to + PostgreSQL's SET and RESET variable syntax with an addition + of <TT +CLASS="LITERAL" +>PGPOOL</TT +> keyword at the start. + </P +><P +> Currently supported configuration parameters by PGPOOL + SHOW/SET/RESET are: <A +HREF="runtime-config-logging.html#GUC-LOG-STATEMENT" +>log_statement</A +>, + <A +HREF="runtime-config-logging.html#GUC-LOG-PER-NODE-STATEMENT" +>log_per_node_statement</A +>, <A +HREF="runtime-misc.html#GUC-CHECK-TEMP-TABLE" +>check_temp_table</A +>, + <A +HREF="runtime-misc.html#GUC-CHECK-UNLOGGED-TABLE" +>check_unlogged_table</A +>, <A +HREF="runtime-config-load-balancing.html#GUC-ALLOW-SQL-COMMENTS" +>allow_sql_comments</A +>, + <A +HREF="runtime-config-connection-pooling.html#GUC-CLIENT-IDLE-LIMIT" +>client_idle_limit</A +>, <A +HREF="runtime-config-logging.html#GUC-LOG-ERROR-VERBOSITY" +>log_error_verbosity</A +>, + <A +HREF="runtime-config-logging.html#GUC-CLIENT-MIN-MESSAGES" +>client_min_messages</A +>, <A +HREF="runtime-config-logging.html#GUC-LOG-MIN-MESSAGES" +>log_min_messages</A +>, + <A +HREF="runtime-online-recovery.html#GUC-CLIENT-IDLE-LIMIT-IN-RECOVERY" +>client_idle_limit_in_recovery</A +>. + </P +></LI +><LI +><P +> Sync inconsitent status + of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> nodes + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> instances after + restart. (Muhammad Usama) + </P +><P +> At the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> startup, the + status of each configured backend node is loaded from the + backend status file or otherwise initialized by querying the + backend nodes. This technique works fine in stand alone mode + and also with the watchdog enabled as long as the status of + backend nodes remains consistent until + all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes got up and + running. But since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + does not sync the backend node status from the watchdog + cluster at startup time, so in some cases + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes participating + in the watchdog cluster may get a different status for the + same backend, especially if + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes part of the + watchdog cluster starts at different times and between that + time an unavailable backend PostgreSQL node had become + available again. + </P +><P +> So to solve this, the commit implements the new startup + procedure for the + standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, And now the + standby + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will load the backend + status of all + configured <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> nodes from + the watchdog master/coordinator node at the time of startup. + </P +></LI +><LI +><P +> Enhance performance of SELECT when lots of rows involved. + (Tatsuo Ishii) + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> flushes data to network + (calling write(2)) every time it sends a row data ("Data + Row" message) to frontend. For example, if 10,000 rows + needed to be transfer, 10,000 times write()s are + issued. This is pretty expensive. Since after repeating to + send row data, "Command Complete" message is sent, it's + enough to issue a write() with the command complete + message. Also there are unnecessary flushing are in handling + the command complete message. + </P +><P +> <A +HREF="http://www.pgpool.net/pipermail/pgpool-hackers/2016-September/001784.html" +TARGET="_top" +>Quick + testing</A +> showed that from 47% to 62% performance + enhancements were achieved in some cases. + </P +><P +> Unfortunately, performance in workloads where transferring + few rows, will not be enhanced since such rows are needed to + flush to network anyway. + </P +></LI +><LI +><P +> Import <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.6's SQL + parser. (Bo Peng) + </P +><P +> This allows <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to fully + understand the newly added SQL syntax such as <TT +CLASS="LITERAL" +>COPY + INSERT RETURNING</TT +>. + </P +></LI +><LI +><P +> In some cases pg_terminate_backend() now does not trigger a + fail-over. (Muhammad Usama) + </P +><P +> Since the pg_terminate_backend function + in <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> is used to + terminate the backend connection, So what happens is, when + this function kills a <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + backend that is connected to + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, This disconnection + of backend by pg_terminate_backend function is appeared as a + backend node failure to + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. But the problem + here is, PostgreSQL does not give any information to the + client program that the connection is going to be killed + because of the pg_terminate_backend call and on the client + side, it looks similar to the backend node failure. + </P +><P +> Now to solve this in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> we + need two things. First is to identify the + pg_terminate_backend function in the query and the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> child process that + hosts the particular backend connection which will be killed + by that pg_terminate_backend function call, so that we get a + heads up in advance about the backend termination, and + secondly the routing of the query containing + pg_terminate_backend also needs a new logic so that the + query should be sent to the correct PostgreSQL node that + hosts the backend with the PID referred by the + pg_terminate_bakend() + </P +><P +> So how does this commit handles pg_terminate_backend()?? In + the SimpleQuery() function which is the work horse of simple + query processing in the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + we start with the search of the pg_terminate_backend() + function call in the query parse tree and if the search + comes out to be successful, the next step is to locate + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> child process and a + backend node of that connection whose PID is specified in + pg_terminate_backend function's argument. Once the + connection and the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + child process is identified, we just set the + swallow_termination flag(added by this commit in + ConnectionInfo structure) for that connection in the shared + memory, and also set the query destination node to the + backend node that hosts that particular connection and does + not call pool_where_to_send() for this query so that the + query should be sent to the correct backend node. + </P +><P +> Now when the query is routed to the correct node and + consequently the backend gets killed, that results in the + communication error on <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + side, the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> already knows + that this disconnection is due the pg_terminate_backend and + not because of node failure as the swallow_termination flag + is already set for the connection. + </P +><P +> Some works are still remaining. + </P +><P +> pg_terminate_backend is not handled with extended query + protocol. + </P +><P +> Currently we only support + pg_terminate_backend(constant number) function calls. If the + expression or sub query is used in the argument of + pg_terminate_backend then it would not be handled e.g + </P><PRE +CLASS="PROGRAMLISTING" +>pgpool=# select pg_terminate_backend(1025); -- Supported +pgpool=# select pg_terminate_backend( 2 +1); -- NOT SUPPORTED +pgpool=# select pg_terminate_backend((select 1)); -- NOT SUPPORTED + </PRE +><P> + </P +><P +> Currently only one pg_terminate_backend call in a query is + handled. + </P +></LI +><LI +><P +> HTML documents are now generated from SGML documents. + (Muhammad Usama, Tatsuo Ishii, Bo Peng) + </P +><P +> It is intended to have better construction, contents and + maintainability. However, still there's tremendous room to + enhance the SGML documents. Please help us! + </P +></LI +></UL +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AEN5566" +>A.1.3. Other Enhancements</A +></H2 +><P +></P +><UL +><LI +><P +> Make authentication error message more user friendly. (Tatsuo Ishii) + </P +><P +> When attempt to connect to backend (including health + checking), emit error messages from backend something like + "sorry, too many clients already" instead of "invalid + authentication message response type, Expecting 'R' and + received '%c'" + </P +></LI +><LI +><P +> Tighten up health check timer expired condition in pool_check_fd(). (Muhammad Usama) + </P +><P +> Check if the signal was actually the health check timer + expire to make sure that we do not declare the timer expire + due to some other signal arrived while waiting for data for + health check in pool_check_fd(). + </P +></LI +><LI +><P +> Add new script called "watchdog_setup". (Tatstuo Ishii) + </P +><P +> <A +HREF="watchdog-setup.html" +>watchdog_setup</A +> is a command to create a + temporary installation + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> clusters with + watchdog for mainly testings. + </P +></LI +><LI +><P +> Add "-pg" option to pgpool_setup. (Tatsuo Ishii) + </P +><P +> This is useful when you want to assign specific port numbers to + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> while + using <A +HREF="pgpool-setup.html" +>pgpool_setup</A +>. Also + now <TT +CLASS="COMMAND" +>pgpool_setup</TT +> is installed in the + standard bin directory which is same + as <TT +CLASS="COMMAND" +>pgpool</TT +>. + </P +></LI +><LI +><P +> Add "replication delay" column to "show pool_nodes". (Tatsuo Ishii) + </P +><P +> This column + shows the <A +HREF="runtime-streaming-replication-check.html" +> replication delay</A +> value in bytes if operated in + streaming replication mode. + </P +></LI +><LI +><P +> Do not update status file if all backend nodes are in down status. (Chris Pacejo, Tatsuo Ishii) + </P +><P +> This commit tries to remove the data inconsitency in + replication mode found + in <A +HREF="http://www.pgpool.net/pipermail/pgpool-general/2015-August/003974.html" +TARGET="_top" +>[pgpool-general: + 3918]</A +> by not recording the status file when all + backend nodes are in down status. This surprisingly simple + but smart solution was provided by Chris Pacejo. + </P +></LI +><LI +><P +> Allow to use multiple SSL cipher protocols. (Multiple Usama) + </P +><P +> By replacing TLSv1_method() with SSLv23_method() while + initializing the SSL session, we can use more protocols than + TLSv1 protocol. + </P +></LI +><LI +><P +> Allow to use arbitrary number of items in the + black_function_list/white_function_list. (Muhammad Usama) + </P +><P +> Previously there were fixed limits for those. + </P +></LI +><LI +><P +> Properly process empty queries (all comments). (Tatsuo Ishii) + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> now recognizes an empty + query consisted of all comments (for example "/* DBD::Pg + ping test v3.5.3 */") (note that no ';') as an empty query. + </P +><P +> Before such that query was recognized an error. + </P +></LI +><LI +><P +> Add some warning messages for wd_authkey hash calculation failure. (Yugo Nagata) + </P +><P +> Sometimes wd_authkey calculation fails for some reason other + than authkey mismatch. The additional messages make these + distinguishable for each other. + </P +></LI +></UL +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AEN5609" +>A.1.4. Changes</A +></H2 +><P +></P +><UL +><LI +><P +> Change the default value of + <A +HREF="runtime-config-failover.html#GUC-SEARCH-PRIMARY-NODE-TIMEOUT" +>search_primary_node_timeout</A +> from 10 to 300. (Tatstuo Ishii) + </P +><P +> Prior default value 10 seconds is sometimes too short for a standby to + be promoted. + </P +></LI +><LI +><P +> Change the <TT +CLASS="FILENAME" +>Makefile</TT +> under directory + <TT +CLASS="FILENAME" +>src/sql/</TT +>, that is proposed by + <A +HREF="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001611.html" +TARGET="_top" +> [pgpool-hackers: 1611]</A +>. (Bo Peng) + </P +></LI +><LI +><P +> Change the PID length of <A +HREF="pcp-proc-count.html" +>pcp_proc_count</A +> command output to 6 characters long. (Bo Peng) + </P +><P +> If the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process ID are over 5 characters, the 6th character of each process ID + will be removed. This commit changes the process ID length of <A +HREF="pcp-proc-count.html" +>pcp_proc_count</A +> command + output to 6 characters long. + </P +></LI +><LI +><P +> Redirect all user queries to primary server. (Tatsuo Ishii) + </P +><P +> Up to now some user queries are sent to other than the primary server + even if <A +HREF="runtime-config-load-balancing.html#GUC-LOAD-BALANCE-MODE" +>load_balance_mode</A +> = 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. + </P +></LI +></UL +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="AEN5631" +>A.1.5. Bug fixes</A +></H2 +><P +></P +><UL +><LI +><P +> Fix the case when all backends are down then 1 node attached. (Tatsuo Ishii) + </P +><P +> When all backends are down, no connection is accepted. Then 1 + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> becomes up, and attach the node using pcp_attach_node. It + successfully finishes. However, when a new connection arrives, still + the connection is refused because<SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> child process looks into the + cached status, in which the recovered node is still in down status if + mode is streaming replication mode (native replication and other modes + are fine). Solution is, if all nodes are down, force to restart all + pgpool child. + </P +></LI +><LI +><P +> Fix for avoiding downtime when <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> changes require a restart. (Muhammad Usama) + </P +><P +> To fix this, The verification mechanism of configuration parameter values is + reversed, previously the standby nodes used to verify their parameter values + against the respective values on the master <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node and when the + inconsistency was found the FATAL error was thrown, now with this commit the + verification responsibility is delegated to the master <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node. + Now the master node will verify the configuration parameter values of each + joining standby node against its local values and will produce + a WARNING message instead of an error in case of a difference. + This way the nodes having the different configurations will also be allowed to + join the watchdog cluster and the user has to manually look out for the + configuration inconsistency warnings in the master <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> log to avoid the + surprises at the time of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> master switch over. + </P +></LI +><LI +><P +> Fix a problem with the watchdog <A +HREF="runtime-config-failover.html#GUC-FAILOVER-COMMAND" +>failover_command</A +> locking mechanism. (Muhammad Usama) + </P +><P +> From <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.5 watchdog was using the separate individual locks for each + node-failover command (failover, failback and follow-master) and the lock was + acquired just before executing the respective failover script and was released + as soon as the script execution finishes. This technique although was very + efficient but also had a problem. If the <A +HREF="runtime-config-failover.html#GUC-FAILOVER-COMMAND" +>failover_command</A +> takes a very little + time and gets finished before the lock request from other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node + arrives, the other node is also granted a lock, since the lock was already + released by the first node at that time. Consequently, both nodes ends up + executing the failover script. + So to fix this we are reverting back to the tested failover interlocking design + used prior to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.5 where all the commands gets locked at the failover + start by the node that becomes a lock-holder and each command lock is released + after its execution finishes. And only the lock-holder node is allowed to + acquire/release the individual command lock. That way the lock-holder node + keeps the lock-holder status throughout the span of the failover execution and + the system becomes less time sensitive. + </P +></LI +><LI +><P +> Disable strict aliasing optimization. (Tatsuo Ishii) + </P +><P +> <CODE +CLASS="FUNCTION" +>flatten_set_variable_args()</CODE +> was imported from <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + 3.5. To make the code work, a compiler flag <TT +CLASS="OPTION" +>-fno-strict-aliasing</TT +> is + necessary (<SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> does so). Unfortunately when the function was + imported, the compiler flag was not added. To fix this, <TT +CLASS="FILENAME" +>configure.ac</TT +> + was modified. + </P +></LI +><LI +><P +> Do not use <CODE +CLASS="FUNCTION" +>random()</CODE +> while generating MD5 salt. (Tatsuo Ishii) + </P +><P +> <CODE +CLASS="FUNCTION" +>random()</CODE +> should not be used in security related applications. To + replace <CODE +CLASS="FUNCTION" +>random()</CODE +>, import <CODE +CLASS="FUNCTION" +>PostmasterRandom()</CODE +> from PostgreSQL. Also + store current time at the start up of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> main process for later + use. + </P +></LI +><LI +><P +> Don't ignore sync message from frontend when query cache is enabled. (Tatsuo Ishii) + </P +><P +> While returning cached query result, sync message sent from frontend + is discarded. This is harmless because "ready for query" messages is + sent to frontend afterward. Problem is, AccessShareLock held by + previous parse message processing is not released until sync message + is received by the backend. Fix is, forwarding the sync message to + backend and discarding "ready for query" message returned from + backend. + </P +></LI +><LI +><P +> Fix bug that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> fails to start if <A +HREF="runtime-config-connection.html#GUC-LISTEN-ADDRESSES" +>listen_addresses</A +> is empty string. (bug 237) (Muhammad Usama) + </P +><P +> The socket descriptor array (fds[]) was not getting the array end marker + when TCP listen addresses are not used. + </P +></LI +><LI +><P +> Create regression log directory if it does not exist yet. (Tatsuo Ishii) + </P +></LI +><LI +><P +> Fixing the error messages when the socket operation fails. (Muhammad Usama) + </P +><P +> When some socket operation fails, we issue close socket before throwing an + error which causes the errno value to be overwritten and consequently the error + log does not print the correct failure reason. + The solution is to save the errno before closing the socket and use the saved + value to print error description. + </P +></LI +><LI +><P +> Fix regression failure of 003.failover. (Tatsuo Ishii) + </P +><P +> Update expected data to reflect the changes made to <A +HREF="sql-show-pool-nodes.html" +>show pool_nodes</A +>. + Also fix <A +HREF="sql-show-pool-nodes.html" +>show pool_nodes</A +> to proper use "_" instead of space for the + column name. + </P +></LI +><LI +><P +> Fix hang when portal suspend received. (bug 230) (Tatsuo Ishii) + </P +><P +> When portal suspend message is received, it's not enough to forward it + to the client. Since backend expects to receive execute message, + trying to read further more messages from backend will never + succeed. To fix this, turn off the query in progress flag, which will + pole incoming message from the client. + </P +></LI +><LI +><P +> Fix pgpool doesn't de-escalate IP in case network restored. (bug 228) (Muhammad Usama) + </P +><P +> set_state function is made to de-escalate, when it is changing the local node's + state from the coordinator state to some other state. + </P +></LI +><LI +><P +> SIGUSR1 signal handler should be installed before watchdog initialization. (Muhammad Usama) + </P +><P +> 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 + </P +></LI +><LI +><P +> Fix for bug of inconsistent status of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> nodes in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> instances + after restart. (bug 218) (Muhammad Usama) + </P +><P +> Watchdog does not synchronize status. + Currently at the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> startup, The status of each configured backend node + is loaded from the backend status file or otherwise initialized by querying the + backend nodes. This technique works fine in stand alone mode and also with + the watchdog enabled as long as the status of backend nodes remains consistent + until all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes got up and running. + But since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not sync the backend node status from the + watchdog cluster at startup time, so in some cases the pgpool-II nodes + participating in the watchdog cluster may get a different status for the same + backend, especially if the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes part of the watchdog cluster starts + at different times and between that time an unavailable backend <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> node + had become available again. + </P +><P +> So to solve this, the commit implements the new startup procedure for the + standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, And now the standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will load the backend status of + all configured <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> nodes from the watchdog master/coordinator node + at the time of startup. + </P +></LI +><LI +><P +> Fix <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> doesn't escalate ip in case of another node inavailability. (bug 215) (Muhammad Usama) + </P +><P +> 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. + </P +></LI +><LI +><P +> Fixing a coding mistake in watchdog code. (Muhammad Usama) + </P +><P +> <CODE +CLASS="FUNCTION" +>wd_issue_failover_lock_command()</CODE +> function is supposed to forward command type + passed in as an argument to the <CODE +CLASS="FUNCTION" +>wd_send_failover_sync_command()</CODE +> function instead + it was passing the NODE_FAILBACK_CMD command type. + </P +><P +> The commit also contains some log message enhancements. + </P +></LI +><LI +><P +> Display human readable output for backend node status. (Muhammad Usama) + </P +><P +> Changed the output of <A +HREF="pcp-proc-info.html" +>pcp_node_info</A +> utility and show commands display human + readable backend status string instead of internal status code. + </P +></LI +><LI +><P +> Replace "MAJOR" macro to prevent occasional failure. (Tatsuo Ishii) + </P +><P +> The macro calls <CODE +CLASS="FUNCTION" +>pool_virtual_master_db_node_id()</CODE +> and then access + backend-&#62;slots[id]-&#62;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-&#62;major, then it causes a segfault. + </P +></LI +><LI +><P +> Fix "kind mismatch" error message in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. (Muhammad Usama) + </P +><P +> Many of "kind mismatch..." errors are caused by notice/warning + messages produced by one or more of the DB nodes. In this case now + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> forwards the messages to frontend, rather than throwing the + "kind mismatch..." error. This would reduce the chance of "kind + mismatch..." errors. + </P +></LI +><LI +><P +> Fix handling of <A +HREF="runtime-config-connection.html#GUC-PCP-LISTEN-ADDRESSES" +>pcp_listen_addresses</A +> config parameter. (Muhammad Usama) + </P +></LI +><LI +><P +> Save and restore errno in each signal handler. (Tatsuo Ishii) + </P +></LI +><LI +><P +> Fix usage of <CODE +CLASS="FUNCTION" +>wait(2)</CODE +> in pgpool main process. (Tatsuo Ishii) + </P +><P +> When child process dies, SIGCHLD signal is raised and <CODE +CLASS="FUNCTION" +>wait(2)</CODE +> knows + the event. However, multiple child death does not necessarily creates + exact same number of SIGCHLD signal as the number of dead children and + <CODE +CLASS="FUNCTION" +>wait(2)</CODE +> could wait for an event which never happens in this case. I + Actually encountered this situation while testing <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. Solution + is, to use <CODE +CLASS="FUNCTION" +>waitpid(2)</CODE +> instead of <CODE +CLASS="FUNCTION" +>wait(2)</CODE +>. + </P +></LI +><LI +><P +> Fix confusing error messages. (Tatsuo Ishii) + </P +><P +> <CODE +CLASS="FUNCTION" +>pool_read()</CODE +> does not emit error messages when <CODE +CLASS="FUNCTION" +>read(2)</CODE +> returns -1 if + <A +HREF="runtime-config-failover.html#GUC-FAIL-OVER-ON-BACKEND-ERROR" +>fail_over_on_backend_error</A +> is off. In any case the cause of error + should be emitted. I do not back port this because it's a too trivial + enhancement. + </P +></LI +><LI +><P +> Fix buffer over run problem in "show pool_nodes". (Tatsuo Ishii) + </P +><P +> While processing "show pool_nodes", the buffer for hostname was too + short. It should be same size as the buffer used for <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. + Problem reported by a twitter user who is using pgpool on AWS (which + could have very long hostname). + </P +></LI +><LI +><P +> Fix <A +HREF="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001638.html" +TARGET="_top" +> [pgpool-hackers: 1638]</A +> pgpool-II does not use default configuration. (Muhammad Usama) + </P +><P +> Configuration file not found should just throw a WARNING message + instead of ERROR or FATAL. + </P +></LI +><LI +><P +> Fix bug with load balance node id info on shmem. (Tatsuo Ishii) + </P +><P +> There are few places where the load balance node was mistakenly put on + wrong place. It should be placed on: + </P><PRE +CLASS="PROGRAMLISTING" +>ConnectionInfo *con_info[child id, connection pool_id, backend id].load_balancing_node]. + </PRE +><P> + In fact it was placed on: + </P><PRE +CLASS="PROGRAMLISTING" +>*con_info[child id, connection pool_id, 0].load_balancing_node]. + </PRE +><P> + </P +><P +> As long as the backend id in question is 0, it is ok. However while + testing <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 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. + </P +><P +> It seems the bug was there since long time ago but it had not found + until today by the reason above. + </P +></LI +><LI +><P +> Fix for bug that pgpool hangs connections to database. (bug 197) (Muhammad Usama) + </P +><P +> The client connection was getting stuck when backend node and remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + 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. + </P +></LI +><LI +><P +> Fix a posible hang during health checking. (bug 204) (Yugo Nagata) + </P +><P +> Helath checking was hang when any data wasn't sent + from backend after <CODE +CLASS="FUNCTION" +>connect(2)</CODE +> succeeded. To fix this, + <CODE +CLASS="FUNCTION" +>pool_check_fd()</CODE +> returns 1 when <CODE +CLASS="FUNCTION" +>select(2)</CODE +> exits with + EINTR due to SIGALRM while health checkking is performed. + </P +></LI +><LI +><P +> Deal with the case when the primary is not node 0 in streaming replication mode. (Tatsuo Ishii) + </P +><P +>&#13; <A +HREF="http://www.pgpool.net/mantisbt/view.php?id=194#c837" +TARGET="_top" +> http://www.pgpool.net/mantisbt/view.php?id=194#c837</A +> 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 <CODE +CLASS="FUNCTION" +>do_query()</CODE +> sends queries + to wrong node (this is not clear from the report but I confirmed it in + my investigation). + </P +><P +> <CODE +CLASS="FUNCTION" +>pool_virtual_master_db_node_id()</CODE +>, which is called in MASTER macro + returns query_context-&#62;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. + </P +><P +> For master and 3.5-stable, additional fixes/enhancements are made: + <CODE +CLASS="FUNCTION" +>pool_extended_send_and_wait()</CODE +> now issues flush message if the request + is 'E' (execute). Before it was issued outside (in Execute), but this + makes the logic to determine to which node the flush message to be + sent unnecessary complex. + </P +><P +> A debug message in pool_write is enhanced by adding backend node id. + </P +></LI +><LI +><P +> If statement timeout is enabled on backend and <CODE +CLASS="FUNCTION" +>do_query()</CODE +> sends a 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. (bug 194) (Tatsuo Ishii) + </P +><P +> This fix tries to mitigate the problem by sending sync message instead + of flush message in <CODE +CLASS="FUNCTION" +>do_query()</CODE +>, 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. + + </P +><P +> Plus, pg_stat_statement will no longer show the query issued by + <CODE +CLASS="FUNCTION" +>do_query()</CODE +> as "running". + </P +></LI +><LI +><P +> Fix extended protocol handling in raw mode. (Tatsuo Ishii) + </P +><P +> Bug152 reveals that extended protocol handling in raw mode (actually + other than in stream mode) was wrong in <CODE +CLASS="FUNCTION" +>Describe(</CODE +>) and <CODE +CLASS="FUNCTION" +>Close()</CODE +>. + Unlike stream mode, they should wait for backend response. + </P +></LI +><LI +><P +> Fix confusing comments in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. (Tatsuo Ishii) + </P +></LI +><LI +><P +> Fix Japanese and Chinese documetation bug about raw mode. (Yugo Nagata, Bo Peng) + </P +><P +> Connection pool is avalilable in raw mode. + </P +></LI +><LI +><P +> Fix is_<CODE +CLASS="FUNCTION" +>set_transaction_serializable()</CODE +> when + SET default_transaction_isolation TO 'serializable'. (bug 191) (Bo Peng) + </P +><P +> 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. + </P +></LI +><LI +><P +> Fix extended protocol hang with empty query. (bug 190) (Tatsuo Ishii) + </P +><P +> 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. + </P +></LI +><LI +><P +> Fix for <A +HREF="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004627.html" +TARGET="_top" +> [pgpool-general: 4569]</A +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.5 : segfault. (Muhammad Usama) + </P +><P +> PostgreSQL's memory and exception manager APIs adopted by the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 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. + </P +></LI +><LI +><P +> Validating the PCP packet length. (Muhammad Usama) + </P +><P +> 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. + </P +></LI +><LI +><P +> Fix <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> hang bug (bug 167). (Tatsuo Ishii) + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.5 or after in streaming replication mode does not wait for + response from each phase such parse, bind anymore. However, if + do_query is called, it sends flush message to retrieve the result of + system catalog look up. This is only sent to primary node which may + results in retrieving previous message results, for example parse + complete. If standby is assigned to load balance node, the node does + not return parse complete message, which will cause a problem in + bug167 case, because parse message for "BEGIN" was sent to both the + primary and the standby. Fix is, send flush message in do_query if the + load balance node is one of standbys. + </P +></LI +><LI +><P +> Fix <A +HREF="pgpool-setup.html" +>pgpool_setup </A +> to not confuse log output. (Tatsuo Ishii) + </P +><P +> Before it simply redirects the stdout and stderr of pgpool process to + a log file. This could cause log contents being garbled or even + missed because of race condition caused by multiple process being + writing concurrently. I and Usama found this while investigating the + regression failure of 004.watchdog. + + To fix this, <A +HREF="pgpool-setup.html" +>pgpool_setup </A +> now generates startall script so that pgpool + now sends stdout/stderr to cat command and cat writes to the log file + (It seems the race condition does not occur when writing to a pipe). + </P +></LI +><LI +><P +> Fix for <A +HREF="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004577.html" +TARGET="_top" +> [pgpool-general: 4519]</A +> Worker Processes Exit and Are Not Re-spawned. (Muhammad Usama) + </P +><P +> The problem was due to a logical mistake in the code for checking the exiting + child process type when the watchdog is enabled. + I have also changed the severity of the message from FATAL to LOG, emitted + for child exits due to max connection reached. + </P +></LI +><LI +><P +> Fix pgpool hung after receiving error state from backend. (bug #169) (Tatsuo Ishii) + </P +><P +> This could happend if we execute an extended protocol query and it + fails. After an error is received the "ignore till sync flag" is set + and remained even if sync message was actually received. Thus any + subsequent query (in the case above "DEALLOCATE message") is not + procesed and pgpool waits for message from frontend and backend, and + pgpool stucks here because no message will arrive from both side. + </P +><P +> To fix this, unconditionally reset the "ignore till sync flag" in + <CODE +CLASS="FUNCTION" +>ReadyforQuery()</CODE +>. This is safe because apparently we already received + the ready for query message. + </P +></LI +><LI +><P +> Fix query stack problems in extended protocol case. (bug 167, 168) (Tatstuo Ishii) + </P +><P +> </P +></LI +><LI +><P +> Fix <A +HREF="http://www.pgpool.net/pipermail/pgpool-hackers/2016-March/001440.html" +TARGET="_top" +> [pgpool-hackers: 1440]</A +> yet another reset query stuck problem. (Tatsuo Ishii) + </P +><P +> After receiving X message from frontend, if <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> detects EOF on + the connection before sending reset query, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> could wait for + backend which had not received the reset query. To fix this, if EOF + received, treat this as FRONTEND_ERROR, rather than ERROR. + </P +></LI +><LI +><P +> Fix for <A +HREF="http://www.pgpool.net/pipermail/pgpool-general/2015-December/004323.html" +TARGET="_top" +> [pgpool-general: 4265]</A +> another reset query stuck problem. (Muhammad Usama) + </P +><P +> The solution is to report FRONTEND_ERROR instead of simple ERROR when + pool_flush on front-end socket fails. + </P +></LI +><LI +><P +> Fixing pgpool-recovery module compilation issue with <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.6. (Muhammad Usama) + </P +><P +> Incorporating the change of function signature for + <CODE +CLASS="FUNCTION" +>GetConfigOption()</CODE +> functions in <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 9.6 + </P +></LI +><LI +><P +> Fix compile issue on freebsd. (Muhammad Usama) + </P +><P +> Add missing include files. The patch is contributed by + the bug reporter and enhanced a little by me. + </P +></LI +><LI +><P +> Fix regression test to check timeout of each test. (Yugo Nagata) + </P +></LI +><LI +><P +> Add some warning messages for <A +HREF="runtime-watchdog-config.html#GUC-WD-AUTHKEY" +>wd_authkey</A +> hash calculation failure. (Yugo Nagata) + </P +><P +> Sometimes <A +HREF="runtime-watchdog-config.html#GUC-WD-AUTHKEY" +>wd_authkey</A +> calculation fails for some reason other than + authkey mismatch. The additional messages make these distingushable + for each other. + </P +></LI +></UL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="release.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="bookindex.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Release Notes</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="release.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Index</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/release.html b/doc/src/sgml/html/release.html new file mode 100644 index 000000000..ba1109b01 --- /dev/null +++ b/doc/src/sgml/html/release.html @@ -0,0 +1,196 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Release Notes</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Appendixes" +HREF="appendixes.html"><LINK +REL="PREVIOUS" +TITLE="Appendixes" +HREF="appendixes.html"><LINK +REL="NEXT" +TITLE="Release 3.6" +HREF="release-3-6.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="APPENDIX" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Appendixes" +HREF="appendixes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="appendixes.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Release 3.6" +HREF="release-3-6.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="APPENDIX" +><H1 +><A +NAME="RELEASE" +></A +>Appendix A. Release Notes</H1 +><P +> The release notes contain the significant changes in each + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> release, with major features and migration + issues listed at the top. The release notes do not contain changes + that affect only a few users or changes that are internal and therefore not + user-visible. + </P +><P +> A complete list of changes for each release can be obtained by + viewing the Git logs for each release. + The <A +HREF="http://www.pgpool.net/pipermail/pgpool-committers/" +TARGET="_top" +><TT +CLASS="LITERAL" +>pgpool-committers</TT +> + email list</A +> records all source code changes as well. There is also + a <A +HREF="http://git.postgresql.org/gitweb?p=pgpool2.git;a=summary" +TARGET="_top" +>web + interface</A +> that shows changes to specific files. + </P +><P +> The name appearing next to each item represents the major developer for + that item. Of course all changes involve community discussion and patch + review, so each item is truly a community effort. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="appendixes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="release-3-6.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Appendixes</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="appendixes.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Release 3.6</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/resources.html b/doc/src/sgml/html/resources.html new file mode 100644 index 000000000..cac6960db --- /dev/null +++ b/doc/src/sgml/html/resources.html @@ -0,0 +1,232 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Further Information</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE="Conventions" +HREF="notation.html"><LINK +REL="NEXT" +TITLE="Restrictions" +HREF="restrictions.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Conventions" +HREF="notation.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Restrictions" +HREF="restrictions.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RESOURCES" +>Further Information</A +></H1 +><P +> Besides the documentation, that is, this book, there are other + resources about <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +>Web Site</DT +><DD +><P +> The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + <A +HREF="http://pgpool.net" +TARGET="_top" +>web site</A +> is a central place providing official information regarding + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>: downloads, documentation, FAQ, mailing list archives and more. + </P +></DD +><DT +>Mailing Lists</DT +><DD +><P +> The mailing lists are a good place to have your questions + answered, to share experiences with other users, and to contact + the developers. Consult the <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> web site + for details. + </P +></DD +><DT +>Yourself!</DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> is an open-source project. + As such, it depends on the user community for ongoing support. + As you begin to use <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>, you + will rely on others for help, either through the documentation + or through the mailing lists. Consider contributing your + knowledge back. Read the mailing lists and answer questions. If + you learn something which is not in the documentation, write it + up and contribute it. If you add features to the code, + contribute them. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="notation.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="restrictions.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Conventions</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Restrictions</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/restrictions.html b/doc/src/sgml/html/restrictions.html new file mode 100644 index 000000000..edf0bc53e --- /dev/null +++ b/doc/src/sgml/html/restrictions.html @@ -0,0 +1,473 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Restrictions</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Preface" +HREF="preface.html"><LINK +REL="PREVIOUS" +TITLE="Further Information" +HREF="resources.html"><LINK +REL="NEXT" +TITLE="Bug Reporting Guidelines" +HREF="bug-reporting.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Further Information" +HREF="resources.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Preface</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Bug Reporting Guidelines" +HREF="bug-reporting.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RESTRICTIONS" +>Restrictions</A +></H1 +><P +> This section descibes current restrictions of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +>Functionality of PostgreSQL</DT +><DD +><P +> If you use <CODE +CLASS="FUNCTION" +>pg_terminate_backend()</CODE +> to stop + a backend, this will trigger a failover. The reason why this + happens is that <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> sends + exactly the same message for a terminated backend as for a full + postmaster shutdown. There is no workaround prior of version + 3.6. From version 3.6, this limitation has been mitigated. If + the argument to the function (that is a process id) is a + constant, you can safely use the function. In extended protocol + mode, you cannot use the function though. + </P +></DD +><DT +>Authentication/Access Controls</DT +><DD +><P +> In the replication mode or master/slave mode, trust, clear + text password, and pam methods are supported. md5 in also + supported since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.0. md5 + is supported by using a authencitaion file <TT +CLASS="FILENAME" +>pool_passwd</TT +>. + <TT +CLASS="FILENAME" +>pool_passwd</TT +> is default name of the + authentication file. You can change the file name + using <SPAN +CLASS="APPLICATION" +>pool_passwd</SPAN +>. Here are the + steps to enable md5 authentication: + </P +><P +></P +><OL +TYPE="1" +><LI +><P +> Login as the database's operating system user and type: + </P><PRE +CLASS="PROGRAMLISTING" +> pg_md5 --md5auth --username=<TT +CLASS="LITERAL" +>your_username</TT +> <TT +CLASS="LITERAL" +>your_passwd</TT +> + </PRE +><P> + user name and md5 encrypted password are registered into + pool_passwd. If pool_passwd does not exist yet, pg_md5 + command will automatically create it for you. The format + of pool_passwd + is <TT +CLASS="LITERAL" +>username:encrypted_passwd</TT +>. + </P +></LI +><LI +><P +> You also need to add an appropriate md5 entry to + pool_hba.conf. See Setting up pool_hba.conf for client + authentication (HBA) for more details. + </P +></LI +><LI +><P +> Please note that the user name and password must be + identical to those registered + in <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>. + </P +></LI +><LI +><P +> After changing md5 password (in both pool_passwd and + PostgreSQL of course), you need to + execute <SPAN +CLASS="APPLICATION" +>pgpool reload</SPAN +>. + </P +></LI +></OL +></DD +><DT +>Large objects</DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> supports large object + replication in replication mode if the backend + is <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> 8.1 or later. For + this, you need to enable lobj_lock_table directive + in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. Large object replication + using backend function <CODE +CLASS="FUNCTION" +>lo_import</CODE +> is not + supported, however. + </P +></DD +><DT +>Temporary tables in master/slave mode</DT +><DD +><P +> Creating/inserting/updating/deleting temporary tables are + always executed on the master (primary) in master slave mode. + SELECT on these tables is executed on master as well. However + if the temporary table name is used as a literal in SELECT, + there's no way to detect it, and the SELECT will be load + balanced. That will trigger a "not found the table" error or + will find another table having same name. To avoid the + problem, use /*NO LOAD BALANCE*/ SQL comment. + Sample SELECT which causes a problem: + </P><PRE +CLASS="PROGRAMLISTING" +> SELECT 't1'::regclass::oid; + </PRE +><P> + psql's \d command uses literal table + names. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> checks if the + SELECT includes any access to system catalogs and always send + these queries to the master. Thus we avoid the problem. + </P +></DD +><DT +>Functions, etc. In replication mode</DT +><DD +><P +> There is no guarantee that any data provided using a + context-dependent mechanism (e.g. random number, transaction + ID, OID, SERIAL, sequence), will be replicated correctly on + multiple backends. For SERIAL, enabling insert_lock will help + replicating data. insert_lock also helps SELECT setval() and + SELECT nextval(). + </P +><P +> INSERT/UPDATE + using <CODE +CLASS="FUNCTION" +>CURRENT_TIMESTAMP</CODE +>, <CODE +CLASS="FUNCTION" +>CURRENT_DATE</CODE +>, + <CODE +CLASS="FUNCTION" +>now()</CODE +> will be replicated + correctly. INSERT/UPDATE for tables + using <CODE +CLASS="FUNCTION" +>CURRENT_TIMESTAMP</CODE +>, <CODE +CLASS="FUNCTION" +>CURRENT_DATE</CODE +>, + <CODE +CLASS="FUNCTION" +>now()</CODE +> as their DEFAULT values will also + be replicated correctly. This is done by replacing those + functions by constants fetched from master at query execution + time. There are a few limitations however: + </P +><P +> In <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.0 or before, the + calculation of temporal data in table default value is not + accurate in some cases. For example, the following table + definition: + </P><PRE +CLASS="PROGRAMLISTING" +>CREATE TABLE rel1( + d1 date DEFAULT CURRENT_DATE + 1 +) + </PRE +><P> + is treated the same as: + </P><PRE +CLASS="PROGRAMLISTING" +>CREATE TABLE rel1( + d1 date DEFAULT CURRENT_DATE +) + </PRE +><P> + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> 3.1 or later handles + these cases correctly. Thus the column "d1" will have + tomorrow as the default value. However this enhancement does + not apply if extended protocols(used in JDBC, PHP PDO for + example) or PREPARE are used. + </P +><P +> Please note that if the column type is not a temporal one, + rewriting is not performed. Such example: + </P><PRE +CLASS="PROGRAMLISTING" +>foo bigint default (date_part('epoch'::text,('now'::text)::timestamp(3) with time zone) * (1000)::double precision) + </PRE +><P> + Suppose we have the following table: + </P><PRE +CLASS="PROGRAMLISTING" +>CREATE TABLE rel1( + c1 int, + c2 timestamp default now() +) + </PRE +><P> + We can replicate + </P><PRE +CLASS="PROGRAMLISTING" +>INSERT INTO rel1(c1) VALUES(1) + </PRE +><P> + + since this turn into + + </P><PRE +CLASS="PROGRAMLISTING" +>INSERT INTO rel1(c1, c2) VALUES(1, '2009-01-01 23:59:59.123456+09') + </PRE +><P> + + However, + </P><PRE +CLASS="PROGRAMLISTING" +>INSERT INTO rel1(c1) SELECT 1 + </PRE +><P> + cannot to be transformed, thus cannot be properly replicated in the current implementation. + Values will still be inserted, with no transformation at all. + </P +><P +> Tables created by <TT +CLASS="COMMAND" +>CREATE TEMP TABLE</TT +> will be + deleted at the end of the session by specifying DISCARD ALL in + reset_query_list if you are using PostgreSQL 8.3 or later. + </P +><P +> For 8.2.x or earlier, <TT +CLASS="COMMAND" +>CREATE TEMP TABLE</TT +> + will not be deleted after exiting a session. It is because of + the connection pooling which, from PostgreSQL's backend point + of view, keeps the session alive. To avoid this, you must + explicitly drop the temporary tables by issuing <TT +CLASS="COMMAND" +>DROP + TABLE</TT +>, or use <TT +CLASS="COMMAND" +>CREATE TEMP TABLE ... ON + COMMIT DROP</TT +> inside the transaction block. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="resources.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="bug-reporting.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Further Information</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="preface.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Bug Reporting Guidelines</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-backend-settings.html b/doc/src/sgml/html/runtime-config-backend-settings.html new file mode 100644 index 000000000..80cfdf1ee --- /dev/null +++ b/doc/src/sgml/html/runtime-config-backend-settings.html @@ -0,0 +1,437 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Backend Settings</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Running mode" +HREF="runtime-config-runnung-mode.html"><LINK +REL="NEXT" +TITLE="Connection Pooling" +HREF="runtime-config-connection-pooling.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Running mode" +HREF="runtime-config-runnung-mode.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Connection Pooling" +HREF="runtime-config-connection-pooling.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-BACKEND-SETTINGS" +>5.4. Backend Settings</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" +>5.4.1. Backend Connection Settings</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-BACKEND-HOSTNAME" +></A +><TT +CLASS="VARNAME" +>backend_hostname</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> <TT +CLASS="VARNAME" +>backend_hostname</TT +> specifies where to + connect to the <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + backend. It is used + by <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> to communicate + with the server. + </P +><P +> For TCP/IP communication, this parameter can take a hostname + or an IP address. If this begins with a slash, it specifies + Unix-domain communication rather than TCP/IP; the value is + the name of the directory in which the socket file is + stored. The default behavior when backend_hostname is empty + ('') is to connect to a Unix-domain socket in /tmp. + </P +><P +> Multiple backends can be specified by adding a number at the + end of the parameter name (e.g.backend_hostname0). This + number is referred to as "DB node ID", and it starts from + 0. The backend which was given the DB node ID of 0 will be + called "Master DB". When multiple backends are defined, the + service can be continued even if the Master DB is down (not + true in some modes). In this case, the youngest DB node ID + alive will be the new Master DB. + </P +><P +> Please note that the DB node which has id 0 has no special + meaning if operated in streaming replication mode. Rather, + you should care about if the DB node is the "primary node" or + not. See Streaming Replication for more details. + </P +><P +> If you plan to use only one PostgreSQL server, specify it by + backend_hostname0. + </P +><P +> New nodes can be added in this parameter by reloading a + configuration file. However, values cannot be updated so + you must restart <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> in + that case. + </P +></DD +><DT +><A +NAME="GUC-BACKEND-PORT" +></A +><TT +CLASS="VARNAME" +>backend_port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> <TT +CLASS="VARNAME" +>backend_port</TT +> specifies the port number + of the backends. Multiple backends can be specified by + adding a number at the end of the parameter name + (e.g. backend_port0). If you plan to use only one + PostgreSQL server, specify it by backend_port0. + </P +><P +> New backend ports can be added in this parameter by + reloading a configuration file. However, values cannot be + updated so you must + restart <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> in that case. + </P +></DD +><DT +><A +NAME="GUC-BACKEND-WEIGHT" +></A +><TT +CLASS="VARNAME" +>backend_weight</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> <TT +CLASS="VARNAME" +>backend_weight</TT +> specifies the load balance + ratio of the backends. Multiple backends can be specified by + adding a number at the end of the parameter name + (e.g. backend_weight0). If you plan to use only one + PostgreSQL server, specify it by backend_weight0. + </P +><P +> New backend weights can be added in this parameter by + reloading a configuration file. However, this will take + effect only for new established client sessions. + This is useful if you want to prevent any query sent to + slaves to perform some administrative work in master/slave mode.. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-BACKEND-DATA" +>5.4.2. Backend Data Settings</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-BACKEND-DATA-DIRECTORY" +></A +><TT +CLASS="VARNAME" +>backend_data_directory</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> <TT +CLASS="VARNAME" +>backend_data_directory</TT +> specifies the + database directory. Multiple backends can be + specified by adding a number at the end of the parameter + name (e.g. backend_data_directory0). If you plan to use + only one PostgreSQL server, specify it by + backend_data_directory0. + </P +><P +> New backend data_directorys can be added in this parameter + by reloading a configuration file. However, values cannot + be updated so you must + restart <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> in that case. + </P +></DD +><DT +><A +NAME="GUC-BACKEND-FLAG" +></A +><TT +CLASS="VARNAME" +>backend_flag</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> <TT +CLASS="VARNAME" +>backend_flag</TT +> controls various backend + behavior. Multiple backends can be specified by adding a + number at the end of the parameter name + (e.g. backend_flag0). If you plan to use only one + PostgreSQL server, specify it by backend_flag0. + </P +><P +> New backend flags can be added in this parameter by + reloading a configuration file. Currently followings are + allowed. Multiple flags can be specified by using "|". + </P +><DIV +CLASS="TABLE" +><A +NAME="BACKEND-FLAG-TABLE" +></A +><P +><B +>Table 5-3. Backend flags</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Flag</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +><TT +CLASS="LITERAL" +>ALLOW_TO_FAILOVER</TT +></TD +><TD +>Allow to failover or detaching backend. This + is the default. You cannot specify with + DISALLOW_TO_FAILOVER at a same time.</TD +></TR +><TR +><TD +><TT +CLASS="LITERAL" +>DISALLOW_TO_FAILOVER</TT +></TD +><TD +>This is useful when you protect backend by + using HA (High Availability) softwares such as + Heartbeat or Pacemaker. You cannot specify with + ALLOW_TO_FAILOVER at a same time. + </TD +></TR +></TBODY +></TABLE +></DIV +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-runnung-mode.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-connection-pooling.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Running mode</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Connection Pooling</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-connection-pooling.html b/doc/src/sgml/html/runtime-config-connection-pooling.html new file mode 100644 index 000000000..79e7e5344 --- /dev/null +++ b/doc/src/sgml/html/runtime-config-connection-pooling.html @@ -0,0 +1,803 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Connection Pooling</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Backend Settings" +HREF="runtime-config-backend-settings.html"><LINK +REL="NEXT" +TITLE="Error Reporting and Logging" +HREF="runtime-config-logging.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Backend Settings" +HREF="runtime-config-backend-settings.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Error Reporting and Logging" +HREF="runtime-config-logging.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-CONNECTION-POOLING" +>5.5. Connection Pooling</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> maintains established + connections to the PostgreSQL servers, and reuses them whenever a + new connection with the same properties (i.e. user name, database, + protocol version) comes in. It reduces the connection overhead, + and improves system's overall throughput. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-CONNECTION-POOLING-SETTINGS" +>5.5.1. Connection Pooling Settings</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-CONNECTION-CACHE" +></A +><TT +CLASS="VARNAME" +>connection_cache</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Caches connections to backends when set to on. Default is on. + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>However, connections to template0, template1, postgres and + regression databases are not cached even if connection_cache is + on.</I +></SPAN +> + </P +><P +> You need to restart <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + if you change this value. + </P +></DD +><DT +><A +NAME="GUC-MAX-POOL" +></A +><TT +CLASS="VARNAME" +>max_pool</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> The maximum number of cached connections + in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> children + processes. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> reuses the + cached connection if an incoming connection is connecting + to the same database with the same user name. If not, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> creates a new + connection to the backend. If the number of cached + connections exceeds max_pool, the oldest connection will + be discarded, and uses that slot for the new connection. + </P +><P +> Default value is 4. Please be aware that the number of + connections from pgpool-II processes to the backends may reach + num_init_children * max_pool. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-LISTEN-BACKLOG-MULTIPLIER" +></A +><TT +CLASS="VARNAME" +>listen_backlog_multiplier</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the length of connection queue from frontend to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. The queue length (actually + <TT +CLASS="LITERAL" +>"backlog"</TT +> parameter of <TT +CLASS="LITERAL" +>listen()</TT +> + system call) is defined as + <TT +CLASS="VARNAME" +>listen_backlog_multiplier</TT +> * <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +>. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Some systems have the upper limit of the backlog parameter of + <TT +CLASS="LITERAL" +>listen()</TT +> system call. + See <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +> for more details. + </P +></BLOCKQUOTE +></DIV +><P +> Default is 2. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SERIALIZE-ACCEPT" +></A +><TT +CLASS="VARNAME" +>serialize_accept</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> enables the serialization + on incoming client connections. + Without serialization the OS kernel wakes up all of the <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +> child process to execute accept() and one of them + actually gets the incoming connection. The problem here is, because so my child + process wake up at a same time, heavy context switching occurs and the + performance is affected. + </P +><P +> This phenomena is a well known classic problem called + "the thundering herd problem". which can be solved by the + the serialization of the accept calls, so that only one + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process gets woken up + for incoming connection to execute the <TT +CLASS="LITERAL" +>accept() + </TT +>. + </P +><P +> But serialization has its own overheads, and it is recomended + to be used only with the larger values of <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +>. + For the small number of <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +>, + the serialize accept can degrade the performance because of + serializing overhead. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> It is recomended to do a benchmark before deciding wether to use + <TT +CLASS="VARNAME" +>serialize_accept</TT +> or not, because the corelation + of <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +> and <TT +CLASS="VARNAME" +>serialize_accept</TT +> + can be different on different environments. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-SERIALIZE-ACCEPT-PGBENCH" +></A +><P +><B +>Example 5-1. Using pgbench to decide if serialize_accept should be used</B +></P +><P +> To run the <TT +CLASS="COMMAND" +>pgbench</TT +> use the following + command. + </P><PRE +CLASS="PROGRAMLISTING" +>pgbench -n -S -p 9999 -c 32 -C -S -T 300 test + </PRE +><P> + Here, <TT +CLASS="LITERAL" +>-C</TT +> tells <TT +CLASS="COMMAND" +>pgbench</TT +> to connect + to database each time a transaction gets executed. <TT +CLASS="LITERAL" +>-c 32</TT +> + specifies the concurrent sessions to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + You should change this according to your system's requirement. + When <TT +CLASS="COMMAND" +>pgbench</TT +> finishes, you want to check the number from + "including connections establishing". + </P +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> When <A +HREF="runtime-config-connection-pooling.html#GUC-CHILD-LIFE-TIME" +>child_life_time</A +> is enabled, <TT +CLASS="VARNAME" +>serialize_accept</TT +> + has no effect. Make sure that you set <A +HREF="runtime-config-connection-pooling.html#GUC-CHILD-LIFE-TIME" +>child_life_time</A +> to 0 if you intend + to turn on the <TT +CLASS="VARNAME" +>serialize_accept</TT +>. + And if you are worried about <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process memory leaks + or whatever potential issue, you could use <A +HREF="runtime-config-connection-pooling.html#GUC-CHILD-MAX-CONNECTIONS" +>child_max_connections</A +> instead. + This is purely an implementation limitation and may be removed in the future. + </P +></BLOCKQUOTE +></DIV +><P +> Default is off. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-CHILD-LIFE-TIME" +></A +><TT +CLASS="VARNAME" +>child_life_time</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time in seconds to terminate a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> child process if it remains idle. The new child process + is immediately spawned by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, when it + is terminated because of <TT +CLASS="VARNAME" +>child_life_time</TT +>. + <TT +CLASS="VARNAME" +>child_life_time</TT +> is a measure to prevent the + memory leaks and other unexpected errors in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> children. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="VARNAME" +>child_life_time</TT +> does not apply to + processes that have not accepted any connection yet. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-connection-pooling.html#GUC-SERIALIZE-ACCEPT" +>serialize_accept</A +> becomes ineffective when + <TT +CLASS="VARNAME" +>child_life_time</TT +> is enabled. + </P +></BLOCKQUOTE +></DIV +><P +> Default is 300 (5 minutes) and setting it to 0 disables the feature. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-CLIENT-IDLE-LIMIT" +></A +><TT +CLASS="VARNAME" +>client_idle_limit</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time in seconds to disconnect a client if it remains idle + since the last query. + This is useful for preventing the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + children from being occupied by a lazy clients or broken TCP/IP + connection between client and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="VARNAME" +>client_idle_limit</TT +> is ignored in + the second stage of online recovery. + </P +></BLOCKQUOTE +></DIV +><P +> The default is 0, which turns off the feature. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-CHILD-MAX-CONNECTIONS" +></A +><TT +CLASS="VARNAME" +>child_max_connections</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the lifetime of a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + child process in terms of the number of client connections it can receive. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will terminate the child process + after it has served <TT +CLASS="VARNAME" +>child_max_connections</TT +> client + connections and will immediately spawn a new child process to take its place. + </P +><P +> <TT +CLASS="VARNAME" +>child_max_connections</TT +> is useful on a very busy server, + where <A +HREF="runtime-config-connection-pooling.html#GUC-CHILD-LIFE-TIME" +>child_life_time</A +> and <A +HREF="runtime-config-connection-pooling.html#GUC-CONNECTION-LIFE-TIME" +>connection_life_time</A +> + never gets triggered. It is also useful to prevent the PostgreSQL servers from getting + too big. + </P +><P +> The default is 0, which turns off the feature. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-CONNECTION-LIFE-TIME" +></A +><TT +CLASS="VARNAME" +>connection_life_time</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time in seconds to terminate the cached connections + to the PostgreSQL backend. This serves as the cached connection expiration time. + </P +><P +> The default is 0, which means the cached connections will not be disconnected. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-RESET-QUERY-LIST" +></A +><TT +CLASS="VARNAME" +>reset_query_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> commands to be sent to reset the backend connection + when exiting the user session. Multiple commands can be specified by delimiting each + by <TT +CLASS="LITERAL" +>";"</TT +>. + </P +><P +> Since the commands are different in each PostgreSQL version, So + below are some recommended settings for <TT +CLASS="VARNAME" +>reset_query_list</TT +> + on different PostgreSQL versions. + </P +><DIV +CLASS="TABLE" +><A +NAME="RESET-QUERY-LIST-SUGGESTIONS-TABLE" +></A +><P +><B +>Table 5-4. Recommended setting for <TT +CLASS="VARNAME" +>reset_query_list</TT +> + on different PostgreSQL versions</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>PostgreSQL version</TH +><TH +>reset_query_list</TH +></TR +></THEAD +><TBODY +><TR +><TD +>7.1 or earlier</TD +><TD +><TT +CLASS="LITERAL" +>'ABORT'</TT +></TD +></TR +><TR +><TD +>7.2 to 8.2</TD +><TD +><TT +CLASS="LITERAL" +>'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'</TT +></TD +></TR +><TR +><TD +>8.3 or later</TD +><TD +><TT +CLASS="LITERAL" +>'ABORT; DISCARD ALL'</TT +></TD +></TR +></TBODY +></TABLE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="LITERAL" +>"ABORT"</TT +> is not issued when not in a transaction block for 7.4 or later + PostgreSQL versions. + </P +></BLOCKQUOTE +></DIV +><P +> Default is <TT +CLASS="LITERAL" +>'ABORT; DISCARD ALL'</TT +>. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-backend-settings.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-logging.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Backend Settings</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Error Reporting and Logging</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-connection.html b/doc/src/sgml/html/runtime-config-connection.html new file mode 100644 index 000000000..9a84ddc8a --- /dev/null +++ b/doc/src/sgml/html/runtime-config-connection.html @@ -0,0 +1,589 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Connections and Authentication</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Setting Parameters" +HREF="config-setting.html"><LINK +REL="NEXT" +TITLE="Running mode" +HREF="runtime-config-runnung-mode.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Setting Parameters" +HREF="config-setting.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Running mode" +HREF="runtime-config-runnung-mode.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-CONNECTION" +>5.2. Connections and Authentication</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-CONNECTION-SETTINGS" +>5.2.1. Connection Settings</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-LISTEN-ADDRESSES" +></A +><TT +CLASS="VARNAME" +>listen_addresses</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the hostname or IP address, on which pgpool-II + will accept TCP/IP connections. <TT +CLASS="LITERAL" +>'*'</TT +> + accepts all incoming connections. <TT +CLASS="LITERAL" +>''</TT +> + disables TCP/IP connections. Default + is <TT +CLASS="LITERAL" +>'localhost'</TT +>. Connections via UNIX + domain socket are always accepted. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-PORT" +></A +><TT +CLASS="VARNAME" +>port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> The port number used + by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to listen for + connections. Default is 9999. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SOCKET-DIR" +></A +><TT +CLASS="VARNAME" +>socket_dir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> The directory where the UNIX domain socket accepting connections for + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will be + created. Default is <TT +CLASS="LITERAL" +>/tmp</TT +>. Be aware that this + socket might be deleted by a cron job. We recommend to set this + value to <TT +CLASS="LITERAL" +>/var/run</TT +> or such directory. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-PCP-LISTEN-ADDRESSES" +></A +><TT +CLASS="VARNAME" +>pcp_listen_addresses</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the hostname or IP address, on which pcp process + will accept TCP/IP connections. <TT +CLASS="LITERAL" +>*</TT +> + accepts all incoming connections. <TT +CLASS="LITERAL" +>"" </TT +> + disables TCP/IP connections. Default + is <TT +CLASS="LITERAL" +>*</TT +>. Connections via UNIX domain + socket are always accepted. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-PCP-PORT" +></A +><TT +CLASS="VARNAME" +>pcp_port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> The port number used by <SPAN +CLASS="PRODUCTNAME" +>PCP</SPAN +> + process to listen for connections. Default is 9898. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-PCP-SOCKET-DIR" +></A +><TT +CLASS="VARNAME" +>pcp_socket_dir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> The directory where the UNIX domain socket accepting connections for + <SPAN +CLASS="PRODUCTNAME" +>PCP</SPAN +> process will be + created. Default is <TT +CLASS="LITERAL" +>/tmp</TT +>. Be aware that + this socket might be deleted by a cron job. We recommend + to set this value to <TT +CLASS="LITERAL" +>/var/run</TT +> or such + directory. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-NUM-INIT-CHILDREN" +></A +><TT +CLASS="VARNAME" +>num_init_children</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> The number of + preforked <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server + processes. Default is 32. num_init_children is also the + concurrent connections limit + to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> from clients. If + more than num_init_children clients try to connect to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>they are + blocked (not rejected) until a connection to + any <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process is + closed</I +></SPAN +>. Up to + <A +HREF="runtime-config-connection-pooling.html#GUC-LISTEN-BACKLOG-MULTIPLIER" +>listen_backlog_multiplier</A +>* + num_init_children can be queued. + </P +><P +> The queue is inside the kernel called "listen queue". The + length of the listen queue is called "backlog". There is + an upper limit of the backlog in some systems, and if + num_init_children*<A +HREF="runtime-config-connection-pooling.html#GUC-LISTEN-BACKLOG-MULTIPLIER" +>listen_backlog_multiplier</A +> + exceeds the number, you need to set the backlong higher. + Otherwise, following problems may occur in heavy loaded systems: + 1) connecting to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> fails + 2) connecting to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is + getting slow because of retries in the kernel. You can + check if the listen queue is actually overflowed by using + "netstat -s" command. If you find something like: + </P><PRE +CLASS="PROGRAMLISTING" +>535 times the listen queue of a socket overflowed + </PRE +><P> + then the listen queue is definitely overflowed. + You should increase the backlog in this case (you will be required a super user privilege). + </P><PRE +CLASS="PROGRAMLISTING" +># sysctl net.core.somaxconn +net.core.somaxconn = 128 +# sysctl -w net.core.somaxconn = 256 + </PRE +><P> +You could add following to /etc/sysctl.conf instead. + </P><PRE +CLASS="PROGRAMLISTING" +>net.core.somaxconn = 256 + </PRE +><P> + </P +><P +> Number of connections to each PostgreSQL is roughly max_pool*num_init_children. + </P +><P +> Canceling a query creates another + connection to the backend; thus, a query cannot be canceled if + all the connections are in use. If you want to ensure that queries can + be canceled, set this value to twice the expected connections. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> allows concurrent + connections for non superusers up to max_connections - + superuser_reserved_connections. + </P +><P +> In summary, max_pool, num_init_children, max_connections, + superuser_reserved_connections must satisfy the following formula: + </P><PRE +CLASS="PROGRAMLISTING" +>max_pool*num_init_children &lt;= (max_connections - superuser_reserved_connections) (no query canceling needed) +max_pool*num_init_children*2 &lt;= (max_connections - superuser_reserved_connections) (query canceling needed) + </PRE +><P> + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" +>5.2.2. Authentication Settings</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-ENABLE-POOL-HBA" +></A +><TT +CLASS="VARNAME" +>enable_pool_hba</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> If true <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will use the + <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> for the client authentication. + See <A +HREF="auth-pool-hba-conf.html" +>Section 6.1</A +> for details on how to configure + <TT +CLASS="FILENAME" +>pool_hba.conf</TT +> for client authentication. + Default is <TT +CLASS="LITERAL" +>false</TT +> + </P +><P +> This parameter can be changed by reloading pgpool configuration.. + </P +></DD +><DT +><A +NAME="GUC-POOL-PASSWD" +></A +><TT +CLASS="VARNAME" +>pool_passwd</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specify the pool_passwd file name for md5 authentication. + Default value is <TT +CLASS="LITERAL" +>"pool_passwd"</TT +>. + See <A +HREF="auth-methods.html#AUTH-MD5" +>Section 6.2.2</A +> for more details. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-AUTHENTICATION-TIMEOUT" +></A +><TT +CLASS="VARNAME" +>listen_addresses</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specify the timeout in seconds for <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + authentication. Specifying 0 disables the time out. + Default value is 60 + </P +><P +> This parameter can be changed by reloading pgpool configuration.. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="config-setting.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-runnung-mode.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Setting Parameters</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Running mode</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-failover.html b/doc/src/sgml/html/runtime-config-failover.html new file mode 100644 index 000000000..32b15f6c5 --- /dev/null +++ b/doc/src/sgml/html/runtime-config-failover.html @@ -0,0 +1,665 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Failover and Failback</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Health Check" +HREF="runtime-config-health-check.html"><LINK +REL="NEXT" +TITLE="Online Recovery" +HREF="runtime-online-recovery.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Health Check" +HREF="runtime-config-health-check.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Online Recovery" +HREF="runtime-online-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-FAILOVER" +>5.9. Failover and Failback</A +></H1 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-FAILOVER-COMMAND" +></A +><TT +CLASS="VARNAME" +>failover_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a user command to run when a PostgreSQL backend node detaches. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> replaces the following special characters + with the backend specific information. + </P +><DIV +CLASS="TABLE" +><A +NAME="FAILOVER-COMMAND-TABLE" +></A +><P +><B +>Table 5-6. failover command options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Special character</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>%d</TD +><TD +>Backend ID of a detached node</TD +></TR +><TR +><TD +>%h</TD +><TD +>Hostname of a detached node</TD +></TR +><TR +><TD +>%p</TD +><TD +>Port number of a detached node</TD +></TR +><TR +><TD +>%D</TD +><TD +>Database cluster directory of a detached node</TD +></TR +><TR +><TD +>%M</TD +><TD +>Old master node ID</TD +></TR +><TR +><TD +>%m</TD +><TD +> New master node ID</TD +></TR +><TR +><TD +>%H</TD +><TD +>Hostname of the new master node</TD +></TR +><TR +><TD +>%P</TD +><TD +> Old primary node ID</TD +></TR +><TR +><TD +>%r</TD +><TD +>New master port number</TD +></TR +><TR +><TD +>%R</TD +><TD +>New master database cluster directory</TD +></TR +><TR +><TD +>%%</TD +><TD +> '%' character</TD +></TR +></TBODY +></TABLE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> When a failover is performed, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> kills all + its child processes, which will in turn terminate all the active sessions to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. After that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + invokes the <TT +CLASS="COMMAND" +>failover_command</TT +> and after the command completion + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> starts new child processes + which makes it ready again to accept client connections. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-FAILBACK-COMMAND" +></A +><TT +CLASS="VARNAME" +>failback_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a user command to run when a PostgreSQL backend node gets attached to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + replaces the following special characters with the backend specific information. + </P +><DIV +CLASS="TABLE" +><A +NAME="FFAILBACK-COMMAND-TABLE" +></A +><P +><B +>Table 5-7. failback command options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Special character</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>%d</TD +><TD +>Backend ID of a detached node</TD +></TR +><TR +><TD +>%h</TD +><TD +>Hostname of a detached node</TD +></TR +><TR +><TD +>%p</TD +><TD +>Port number of a detached node</TD +></TR +><TR +><TD +>%D</TD +><TD +>Database cluster directory of a detached node</TD +></TR +><TR +><TD +>%M</TD +><TD +>Old master node ID</TD +></TR +><TR +><TD +>%m</TD +><TD +> New master node ID</TD +></TR +><TR +><TD +>%H</TD +><TD +>Hostname of the new master node</TD +></TR +><TR +><TD +>%P</TD +><TD +> Old primary node ID</TD +></TR +><TR +><TD +>%r</TD +><TD +>New master port number</TD +></TR +><TR +><TD +>%R</TD +><TD +>New master database cluster directory</TD +></TR +><TR +><TD +>%%</TD +><TD +> '%' character</TD +></TR +></TBODY +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-FOLLOW-MASTER-COMMAND" +></A +><TT +CLASS="VARNAME" +>follow_master_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a user command to run in master/slave streaming replication mode + after the master backend node failover. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + replaces the following special characters with the backend specific information. + </P +><DIV +CLASS="TABLE" +><A +NAME="FOLLOW-MASTER-COMMAND-TABLE" +></A +><P +><B +>Table 5-8. follow master command options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Special character</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>%d</TD +><TD +>Backend ID of a detached node</TD +></TR +><TR +><TD +>%h</TD +><TD +>Hostname of a detached node</TD +></TR +><TR +><TD +>%p</TD +><TD +>Port number of a detached node</TD +></TR +><TR +><TD +>%D</TD +><TD +>Database cluster directory of a detached node</TD +></TR +><TR +><TD +>%M</TD +><TD +>Old master node ID</TD +></TR +><TR +><TD +>%m</TD +><TD +> New master node ID</TD +></TR +><TR +><TD +>%H</TD +><TD +>Hostname of the new master node</TD +></TR +><TR +><TD +>%P</TD +><TD +> Old primary node ID</TD +></TR +><TR +><TD +>%r</TD +><TD +>New master port number</TD +></TR +><TR +><TD +>%R</TD +><TD +>New master database cluster directory</TD +></TR +><TR +><TD +>%%</TD +><TD +> '%' character</TD +></TR +></TBODY +></TABLE +></DIV +><P +> If <A +HREF="runtime-config-failover.html#GUC-FOLLOW-MASTER-COMMAND" +>follow_master_command</A +> is not left out empty, then when + a master node failover gets completed in master/slave streaming replication mode, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> degenerates all nodes excepted the new master + and starts new child processes to be ready again to accept connections from the clients. + After this, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> executes the command configured + in the <A +HREF="runtime-config-failover.html#GUC-FOLLOW-MASTER-COMMAND" +>follow_master_command</A +> for each degenerated backend nodes. + </P +><P +> Typically <A +HREF="runtime-config-failover.html#GUC-FOLLOW-MASTER-COMMAND" +>follow_master_command</A +> command is used to recover + the slave from the new master by calling the pcp_recovery_node command. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-FAIL-OVER-ON-BACKEND-ERROR" +></A +><TT +CLASS="VARNAME" +>fail_over_on_backend_error</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> considers the reading/writing + errors on the PostgreSQL backend connection as the backend node failure and trigger the + failover on that node after disconnecting the current session. + When this is set to off, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> only report an error + and disconnect the session in case of such errors. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> It is recommended to turn on the backend health checking + (see <A +HREF="runtime-config-health-check.html" +>Section 5.8</A +>) + when <A +HREF="runtime-config-failover.html#GUC-FAIL-OVER-ON-BACKEND-ERROR" +>fail_over_on_backend_error</A +> is set to off. + However, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> still triggers the + failover when it detects the administrative shutdown of + PostgreSQL backend server. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SEARCH-PRIMARY-NODE-TIMEOUT" +></A +><TT +CLASS="VARNAME" +>search_primary_node_timeout</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the maximum amount of time in seconds to search for the + primary node when a failover scenario occurs. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will give up looking for the primary + node if it is not found with-in this configured time. + Default is 10 and Setting this parameter to 0 means keep trying forever. + </P +><P +> This parameter is only applicable in the streaming replication mode. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-health-check.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-online-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Health Check</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Online Recovery</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-health-check.html b/doc/src/sgml/html/runtime-config-health-check.html new file mode 100644 index 000000000..bb56d81c7 --- /dev/null +++ b/doc/src/sgml/html/runtime-config-health-check.html @@ -0,0 +1,469 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Health Check</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Load Balancing" +HREF="runtime-config-load-balancing.html"><LINK +REL="NEXT" +TITLE="Failover and Failback" +HREF="runtime-config-failover.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Load Balancing" +HREF="runtime-config-load-balancing.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Failover and Failback" +HREF="runtime-config-failover.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-HEALTH-CHECK" +>5.8. Health Check</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> periodically connects to the configured + PostgreSQL backends to detect any error on the servers or networks. + This error check procedure is called "health check". + If an error is detected, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> performs failover + or degeneration depending on the configurations. + <DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="100%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> Health check requires one extra connection to each backend, + so max_connections in the <TT +CLASS="FILENAME" +>postgresql.conf</TT +> + needs to be adjusted accordingly. + </P +></TD +></TR +></TABLE +></DIV +> + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-HEALTH-CHECK-TIMEOUT" +></A +><TT +CLASS="VARNAME" +>health_check_timeout</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the timeout in seconds to give up connecting to the backend + PostgreSQL if the TCP connect does not succeed within this time. + </P +><P +> This parameter serves to prevent the health check from waiting for a + long time in a case such as unplugged network cable. + Default value is 20. Setting it to 0, disables the timeout (waits until TCP/IP timeout). + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-PERIOD" +></A +><TT +CLASS="VARNAME" +>health_check_period</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the interval between the health checks in seconds. + Default is 0, which means health check is disabled. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-USER" +></A +><TT +CLASS="VARNAME" +>health_check_user</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the PostgreSQL user name to perform health check. + The same user must exist in all the PostgreSQL backends. + Otherwise, health check causes an error. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-PASSWORD" +></A +><TT +CLASS="VARNAME" +>health_check_password</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the password for the PostgreSQL user name configured in + <A +HREF="runtime-config-health-check.html#GUC-HEALTH-CHECK-USER" +>health_check_user</A +> to perform health check. + The user and password must be same in all the PostgreSQL backends. + Otherwise, health check causes an error. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-DATABASE" +></A +><TT +CLASS="VARNAME" +>health_check_database</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the PostgreSQL database name to perform health check. + The default is <TT +CLASS="LITERAL" +>''</TT +>(empty), which tries <TT +CLASS="LITERAL" +>"postgres"</TT +> + database first, then <TT +CLASS="LITERAL" +>"template1"</TT +> database until it succeeds + </P +><P +> <TT +CLASS="VARNAME" +>health_check_database</TT +> was introduced in + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-MAX-RETRIES" +></A +><TT +CLASS="VARNAME" +>health_check_max_retries</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the maximum number of retries to do with a failed health check + before giving up and initiating failover. + <DIV +CLASS="TIP" +><BLOCKQUOTE +CLASS="TIP" +><P +><B +>Tip: </B +> This setting can be useful in spotty networks, when it is expected that + health checks will fail occasionally even when the master is fine. + It is advised that you disable fail_over_on_backend_error if you want to enable health_check_max_retries. + </P +></BLOCKQUOTE +></DIV +> + <DIV +CLASS="TIP" +><BLOCKQUOTE +CLASS="TIP" +><P +><B +>Tip: </B +> It is advised that fail_over_on_backend_error must be disabled, + if you want to enable health_check_max_retries. + </P +></BLOCKQUOTE +></DIV +> + Default is 0, which means do not retry. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-HEALTH-CHECK-RETRY-DELAY" +></A +><TT +CLASS="VARNAME" +>health_check_retry_delay</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the amount of time (in seconds) to sleep between failed + health check retries (not used unless <A +HREF="runtime-config-health-check.html#GUC-HEALTH-CHECK-MAX-RETRIES" +>health_check_max_retries</A +> is &#62; 0). + If 0, then retries are immediate (no delay). + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-CONNECT-TIMEOUT" +></A +><TT +CLASS="VARNAME" +>connect_timeout</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the amount of time in milliseconds before giving up connecting + to backend using connect() system call. + Default is 10000 ms (10 second). The flaky network user may want to increase the value. + 0 means no timeout. + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="VARNAME" +>connect_timeout</TT +> value is not only used for a health check, + but also for creating ordinary connection pools. + </P +></BLOCKQUOTE +></DIV +><P> + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-load-balancing.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-failover.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Load Balancing</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Failover and Failback</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-load-balancing.html b/doc/src/sgml/html/runtime-config-load-balancing.html new file mode 100644 index 000000000..a8e5ae4b7 --- /dev/null +++ b/doc/src/sgml/html/runtime-config-load-balancing.html @@ -0,0 +1,926 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Load Balancing</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Error Reporting and Logging" +HREF="runtime-config-logging.html"><LINK +REL="NEXT" +TITLE="Health Check" +HREF="runtime-config-health-check.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Error Reporting and Logging" +HREF="runtime-config-logging.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Health Check" +HREF="runtime-config-health-check.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-LOAD-BALANCING" +>5.7. Load Balancing</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> load balancing of SELECT queries + works with Master Slave mode (<A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" +>Section 5.3.1</A +>) + and Replication mode (<A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Section 5.3.2</A +>). When enabled + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> sends the writing queries to the + <ACRONYM +CLASS="ACRONYM" +>Master DB</ACRONYM +>, and other queries get load balanced to + <ACRONYM +CLASS="ACRONYM" +>Standby DB nodes</ACRONYM +> if possible. To which node + the load balancing mechanism sends read queries is decided at the + session start time and will not be changed until the session + ends. The only exception is by writing special SQL comments. See + below for more details. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Queries sent to Master DB because they cannot be balanced are + also accounted for in the load balancing algorithm. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> If you don't want a query that qualifies for the load balancing to be + load balanced by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, you can put + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>/*NO LOAD BALANCE*/</I +></SPAN +> comment before the <ACRONYM +CLASS="ACRONYM" +>SELECT + </ACRONYM +> statement, This will disable the load balance of the particular query + and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will send it to the Master DB node. + </P +></BLOCKQUOTE +></DIV +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-LOAD-BALANCE-MODE" +></A +><TT +CLASS="VARNAME" +>load_balance_mode</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> enables the + load balancing on incoming <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries. + i.e. SELECT queries from the clients gets distributed to + the configured PostgreSQL backends. + Default is off. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-IGNORE-LEADING-WHITE-SPACE" +></A +><TT +CLASS="VARNAME" +>ignore_leading_white_space</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> ignores the + white spaces at the beginning of SQL queries while in the load balance mode. + It is useful if used with APIs like DBI/DBD:Pg which adds + white spaces against the user's will. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-WHITE-FUNCTION-LIST" +></A +><TT +CLASS="VARNAME" +>white_function_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a comma separated list of function names that + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>DO NOT</I +></SPAN +> update the database. SELECTs using + functions not specified in this list are neither load balanced, + nor replicated (in the replication mode). + In master slave mode, such SELECTs are sent to master (primary) only. + </P +><P +> You can use regular expression into the list to match function name + (to which ^ and $ are automatically added), + </P +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-WHITE-FUNCTION-LIST-1" +></A +><P +><B +>Example 5-2. Using regular expression</B +></P +><P +> If you have prefixed all your read only function + with 'get_' or 'select_', You can + set the <A +HREF="runtime-config-load-balancing.html#GUC-WHITE-FUNCTION-LIST" +>white_function_list</A +> like below: + </P><PRE +CLASS="PROGRAMLISTING" +>white_function_list = 'get_.*,select_.*' + </PRE +><P> + </P +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-BLACK-FUNCTION-LIST" +></A +><TT +CLASS="VARNAME" +>black_function_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a comma separated list of function names that + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>DO</I +></SPAN +> update the database. + SELECTs using functions specified in this list are neither + load balanced, nor replicated (in the replication mode). + In master slave mode, such SELECTs are sent to master(primary) only. + </P +><P +> You can use regular expression into the list to match function name + (to which ^ and $ are automatically added), + </P +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-BLACK-FUNCTION-LIST-1" +></A +><P +><B +>Example 5-3. Using regular expression</B +></P +><P +> If you have prefixed all your updating functions + with 'set_', 'update_', 'delete_' or 'insert_', You can + set the <A +HREF="runtime-config-load-balancing.html#GUC-BLACK-FUNCTION-LIST" +>black_function_list</A +> like below: + </P><PRE +CLASS="PROGRAMLISTING" +>black_function_list = 'nextval,setval,set_.*,update_.*,delete_.*,insert_.*' + </PRE +><P> + </P +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-load-balancing.html#GUC-BLACK-FUNCTION-LIST" +>black_function_list</A +> and <A +HREF="runtime-config-load-balancing.html#GUC-WHITE-FUNCTION-LIST" +>white_function_list</A +> + are mutually exclusive and only one of the two lists can be set in the configuration. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-BLACK-FUNCTION-LIST-2" +></A +><P +><B +>Example 5-4. Configuring using <TT +CLASS="LITERAL" +>nextval()</TT +> and <TT +CLASS="LITERAL" +>setval()</TT +> to land on proper backend</B +></P +><P +> Prior to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.0</I +></SPAN +>, + <TT +CLASS="LITERAL" +>nextval()</TT +> and <TT +CLASS="LITERAL" +>setval()</TT +> were known to do writes to the database. + You can configure this by using <A +HREF="runtime-config-load-balancing.html#GUC-BLACK-FUNCTION-LIST" +>black_function_list</A +> + and <A +HREF="runtime-config-load-balancing.html#GUC-WHITE-FUNCTION-LIST" +>white_function_list</A +> as follows + </P><PRE +CLASS="PROGRAMLISTING" +>white_function_list = '' +black_function_list = 'nextval,setval,lastval,currval' + </PRE +><P> + </P +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> PostgreSQL also contains <TT +CLASS="LITERAL" +>lastval()</TT +> and + <TT +CLASS="LITERAL" +>currval()</TT +> in addition to + <TT +CLASS="LITERAL" +>nextval()</TT +> and <TT +CLASS="LITERAL" +>setval()</TT +>. + Though <TT +CLASS="LITERAL" +>lastval()</TT +> and <TT +CLASS="LITERAL" +>currval()</TT +> + are not writing function type, But it is advised to treat + <TT +CLASS="LITERAL" +>lastval()</TT +> and <TT +CLASS="LITERAL" +>currval()</TT +> + as a writing functions to avoid errors in the case if + these functions are accidentally load balanced. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-DATABASE-REDIRECT-PREFERENCE-LIST" +></A +><TT +CLASS="VARNAME" +>database_redirect_preference_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the list of <TT +CLASS="LITERAL" +>"database-name:node id"</TT +> pairs + to make the <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries land on particular Backend + node for particular database connection. + For example, by specifying "test:1", <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will redirect all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries to backend node 1 for + the connection connecting to "test" database. + You can specify multiple "database name:node id" pair by separating them + using comma (,). + </P +><P +> Regular expressions are also accepted for database name. + Special keyword <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>"primary"</I +></SPAN +> indicates the primary node and + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>"standby"</I +></SPAN +> indicates one of standby nodes. + </P +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-DATABASE-REDIRECT-LIST" +></A +><P +><B +>Example 5-5. Using database_redirect_preference_list</B +></P +><P +> If you want to configure the following <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> query routing rules. + </P +><P +></P +><UL +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries on <TT +CLASS="LITERAL" +>postgres</TT +> + database to PRIMARY backend server. + </P +></LI +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries on <TT +CLASS="LITERAL" +>mydb0</TT +> or on + <TT +CLASS="LITERAL" +>mydb1</TT +> databases to backend node 1. + </P +></LI +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries on <TT +CLASS="LITERAL" +>mydb2</TT +> + databases to STANDBY backend server. + </P +></LI +></UL +><P +> The <A +HREF="runtime-config-load-balancing.html#GUC-DATABASE-REDIRECT-PREFERENCE-LIST" +>database_redirect_preference_list</A +> will be configured as follows: + </P><PRE +CLASS="PROGRAMLISTING" +>database_redirect_preference_list = 'postgres:primary,mydb[01]:1,mydb2:standby' + </PRE +><P> + </P +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-APP-NAME-REDIRECT-PREFERENCE-LIST" +></A +><TT +CLASS="VARNAME" +>app_name_redirect_preference_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the list of <TT +CLASS="LITERAL" +>"application-name:node id"</TT +> pairs + to make the <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries land on particular Backend + node for particular client application connection. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> In PostgreSQL V9.0 or later the "Application name" is a name specified + by a client when it connects to database. + </P +></BLOCKQUOTE +></DIV +><P +> For example, application name of <TT +CLASS="COMMAND" +>psql</TT +> command is + <TT +CLASS="LITERAL" +>"psql"</TT +> + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> ony recognizes the application name + specified in the start-up packet. + Although a client can provide the application name + later in the session, but that does not get considered by the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> for query routing. + </P +></BLOCKQUOTE +></DIV +><P +> The notion of <A +HREF="runtime-config-load-balancing.html#GUC-APP-NAME-REDIRECT-PREFERENCE-LIST" +>app_name_redirect_preference_list</A +> + is same as the <A +HREF="runtime-config-load-balancing.html#GUC-DATABASE-REDIRECT-PREFERENCE-LIST" +>database_redirect_preference_list</A +> + thus you can also use the regular expressions for application names. + Similarly special keyword <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>"primary"</I +></SPAN +> indicates the primary node and + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>"standby"</I +></SPAN +> indicates one of standby nodes. + </P +><DIV +CLASS="EXAMPLE" +><A +NAME="EXAMPLE-APP-NAME-REDIRECT-LIST" +></A +><P +><B +>Example 5-6. Using app-name_redirect_preference_list</B +></P +><P +> If you want to configure the following <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> query routing rules. + </P +><P +></P +><UL +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> from <TT +CLASS="LITERAL" +>psql</TT +> + client to PRIMARY backend server. + </P +></LI +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries from <TT +CLASS="LITERAL" +>myapp1</TT +> + client to backend node 1. + </P +></LI +><LI +><P +> Route all <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> queries from <TT +CLASS="LITERAL" +>myapp2</TT +> + client to STANDBY backend server. + </P +></LI +></UL +><P +> The <A +HREF="runtime-config-load-balancing.html#GUC-APP-NAME-REDIRECT-PREFERENCE-LIST" +>app_name_redirect_preference_list</A +> will be configured as follows: + </P><PRE +CLASS="PROGRAMLISTING" +>app_name_redirect_preference_list = 'psql:primary,myapp1:1,myapp2:standby' + </PRE +><P> + </P +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-load-balancing.html#GUC-APP-NAME-REDIRECT-PREFERENCE-LIST" +>app_name_redirect_preference_list</A +> takes precedence + over the <A +HREF="runtime-config-load-balancing.html#GUC-DATABASE-REDIRECT-PREFERENCE-LIST" +>database_redirect_preference_list</A +>. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="90%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> <ACRONYM +CLASS="ACRONYM" +>JDBC</ACRONYM +> driver PostgreSQL-9.3 and earlier versions + does not send the application name in the startup packet even if + the application name is specified using the <ACRONYM +CLASS="ACRONYM" +>JDBC</ACRONYM +> + driver option <TT +CLASS="LITERAL" +>"ApplicationName"</TT +> and + <TT +CLASS="LITERAL" +>"assumeMinServerVersion=9.0"</TT +>. + So if you want to use the <A +HREF="runtime-config-load-balancing.html#GUC-APP-NAME-REDIRECT-PREFERENCE-LIST" +>app_name_redirect_preference_list</A +> + feature through <ACRONYM +CLASS="ACRONYM" +>JDBC</ACRONYM +>, Use PostgreSQL-9.4 or later version of the driver. + </P +></TD +></TR +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-ALLOW-SQL-COMMENTS" +></A +><TT +CLASS="VARNAME" +>allow_sql_comments</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> ignore the + <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> comments when identifying if the load balance + or query cache is possible on the query. + When this parameter is set to off, the <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> comments + on the query could effectively prevent the query from being + load balanced or cached (pre <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.4</I +></SPAN +> behavior). + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-logging.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-health-check.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Error Reporting and Logging</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Health Check</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-logging.html b/doc/src/sgml/html/runtime-config-logging.html new file mode 100644 index 000000000..4a3e507ce --- /dev/null +++ b/doc/src/sgml/html/runtime-config-logging.html @@ -0,0 +1,630 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Error Reporting and Logging</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Connection Pooling" +HREF="runtime-config-connection-pooling.html"><LINK +REL="NEXT" +TITLE="Load Balancing" +HREF="runtime-config-load-balancing.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Connection Pooling" +HREF="runtime-config-connection-pooling.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Load Balancing" +HREF="runtime-config-load-balancing.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-LOGGING" +>5.6. Error Reporting and Logging</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" +>5.6.1. Where To Log</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-LOG-DESTINATION" +></A +><TT +CLASS="VARNAME" +>log_destination</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> supports several methods + for logging server messages, including <TT +CLASS="LITERAL" +>stderr</TT +> + and <TT +CLASS="LITERAL" +>syslog</TT +>. + The default is to log to <TT +CLASS="LITERAL" +>stderr</TT +>. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> On some systems you will need to alter the configuration of your + system's syslog daemon in order to make use of the syslog option + for <A +HREF="runtime-config-logging.html#GUC-LOG-DESTINATION" +>log_destination</A +>. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + can log to syslog facilities LOCAL0 through LOCAL7 + (see <A +HREF="runtime-config-logging.html#GUC-SYSLOG-FACILITY" +>syslog_facility</A +>), but the default syslog + configuration on most platforms will discard all such messages. + You will need to add something like: + </P><PRE +CLASS="PROGRAMLISTING" +>local0.* /var/log/postgresql + </PRE +><P> + to the syslog daemon's configuration file to make it work. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SYSLOG-FACILITY" +></A +><TT +CLASS="VARNAME" +>syslog_facility</TT +> (<TT +CLASS="TYPE" +>enum</TT +>) + </DT +><DD +><P +> When logging to syslog is enabled, this parameter determines + the syslog <TT +CLASS="LITERAL" +>"facility"</TT +> to be used. + You can choose from LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, + LOCAL5, LOCAL6, LOCAL7; the default is LOCAL0. + See also the documentation of your system's syslog daemon. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SYSLOG-IDENT" +></A +><TT +CLASS="VARNAME" +>syslog_ident</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> When logging to syslog is enabled, this parameter determines + the program name used to identify <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + messages in syslog logs. The default is <TT +CLASS="LITERAL" +>pgpool</TT +>. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" +>5.6.2. When To Log</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-CLIENT-MIN-MESSAGES" +></A +><TT +CLASS="VARNAME" +>client_min_messages</TT +> (<TT +CLASS="TYPE" +>enum</TT +>) + </DT +><DD +><P +> Controls which minimum message levels are sent to the client. + Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, + LOG, NOTICE, WARNING and ERROR. Each level includes + all the levels that follow it. The default is NOTICE. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-LOG-MIN-MESSAGES" +></A +><TT +CLASS="VARNAME" +>log_min_messages</TT +> (<TT +CLASS="TYPE" +>enum</TT +>) + </DT +><DD +><P +> Controls which minimum message levels are emitted to log. + Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, + INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. + Each level includes all the levels that follow it. + The default is WARNING. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>5.6.3. What To Log</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-LOG-STATEMENT" +></A +><TT +CLASS="VARNAME" +>log_statement</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, prints all statements to the log. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-LOG-PER-NODE-STATEMENT" +></A +><TT +CLASS="VARNAME" +>log_per_node_statement</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Similar to <A +HREF="runtime-config-logging.html#GUC-LOG-STATEMENT" +>log_statement</A +>, except that it print the + logs for each DB node separately. It can be useful to make sure that + replication is working. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-LOG-HOSTNAME" +></A +><TT +CLASS="VARNAME" +>log_hostname</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, prints the hostname instead of IP address + in ps command and connection logs(when <A +HREF="runtime-config-logging.html#GUC-LOG-CONNECTIONS" +>log_connections</A +> is on). + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-LOG-CONNECTIONS" +></A +><TT +CLASS="VARNAME" +>log_connections</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, prints all incoming connections to the log. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-LOG-ERROR-VERBOSITY" +></A +><TT +CLASS="VARNAME" +>log_error_verbosity</TT +> (<TT +CLASS="TYPE" +>enum</TT +>) + </DT +><DD +><P +> Controls the amount of detail emitted for each message that is logged. + Valid values are TERSE, DEFAULT, and VERBOSE, each adding more fields + to displayed messages. TERSE excludes the logging of DETAIL, HINT, + and CONTEXT error information. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-LOG-LINE-PREFIX" +></A +><TT +CLASS="VARNAME" +>log_line_prefix</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> This is a printf-style string that is output at the beginning of each log line. + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>%</I +></SPAN +> characters begin "escape sequences" that are replaced + with information outlined below. + All unrecognized escapes are ignored. Other characters are copied straight to + the log line. Default is '%t: pid %p: ', which prints timestamp and process id, + which keeps backward compatibily with pre<SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.4</I +></SPAN +>. + </P +><DIV +CLASS="TABLE" +><A +NAME="LOG-LINE-PREFIX-TABLE" +></A +><P +><B +>Table 5-5. log_line_prefix escape options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Escape</TH +><TH +>Effect</TH +></TR +></THEAD +><TBODY +><TR +><TD +>%a</TD +><TD +>Client application name</TD +></TR +><TR +><TD +>%p</TD +><TD +>Process ID (PID)</TD +></TR +><TR +><TD +>%P</TD +><TD +>Process name</TD +></TR +><TR +><TD +>%t</TD +><TD +>Time stamp</TD +></TR +><TR +><TD +>%d</TD +><TD +>Database name</TD +></TR +><TR +><TD +>%u</TD +><TD +>User name</TD +></TR +><TR +><TD +>%l</TD +><TD +>Log line number for each process</TD +></TR +><TR +><TD +>%%</TD +><TD +>'%' character</TD +></TR +></TBODY +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-connection-pooling.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-load-balancing.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Connection Pooling</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Load Balancing</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config-runnung-mode.html b/doc/src/sgml/html/runtime-config-runnung-mode.html new file mode 100644 index 000000000..ce9fe1bdb --- /dev/null +++ b/doc/src/sgml/html/runtime-config-runnung-mode.html @@ -0,0 +1,1050 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Running mode</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Connections and Authentication" +HREF="runtime-config-connection.html"><LINK +REL="NEXT" +TITLE="Backend Settings" +HREF="runtime-config-backend-settings.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Connections and Authentication" +HREF="runtime-config-connection.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Backend Settings" +HREF="runtime-config-backend-settings.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-CONFIG-RUNNUNG-MODE" +>5.3. Running mode</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-MASTER-SLAVE-MODE" +>5.3.1. Master slave mode</A +></H2 +><P +> This mode is used to couple <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + with another master/slave replication software (like <ACRONYM +CLASS="ACRONYM" +>Slony-I</ACRONYM +> + and Streaming replication), that is responsible for doing the actual data replication. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> The number of slave nodes are not limited to 1 and + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> can have up to 127 slave nodes. + master/slave mode can also work just master node without any slave nodes. + </P +></BLOCKQUOTE +></DIV +><P +> Load balancing (see <A +HREF="runtime-config-load-balancing.html" +>Section 5.7</A +> ) can + also be used with master/slave mode to distribute the read load on the + standby backend nodes. + </P +><P +> Following options are required to be specified for master/slave mode. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MASTER-SLAVE-MODE" +></A +><TT +CLASS="VARNAME" +>master_slave_mode</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on enables the master/slave mode. + Default is off. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-runnung-mode.html#GUC-MASTER-SLAVE-MODE" +>master_slave_mode</A +> and <A +HREF="runtime-config-runnung-mode.html#GUC-REPLICATION-MODE" +>replication_mode</A +> + are mutually exclusive and only one can be enabled at a time. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-MASTER-SLAVE-SUB-MODE" +></A +><TT +CLASS="VARNAME" +>master_slave_sub_mode</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the external replication system used for data replication between + PostgreSQL nodes. + Below table contains the list of valid values for the parameter. + </P +><DIV +CLASS="TABLE" +><A +NAME="MASTER-SLAVE-SUB-MODE-TABLE" +></A +><P +><B +>Table 5-1. master slave sub mode options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Value</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +><TT +CLASS="LITERAL" +>'slony'</TT +></TD +><TD +>Suitable for <ACRONYM +CLASS="ACRONYM" +>Slony-I</ACRONYM +></TD +></TR +><TR +><TD +><TT +CLASS="LITERAL" +>'stream'</TT +></TD +><TD +>Suitable for PostgreSQL's built-in replication system (Streaming Replication)</TD +></TR +></TBODY +></TABLE +></DIV +><P +> Default is <TT +CLASS="LITERAL" +>'slony'</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-CONFIG-REPLICATION-MODE" +>5.3.2. Replication mode</A +></H2 +><P +> This mode makes the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to replicate data + between PostgreSQL backends. + </P +><P +> Load balancing (see <A +HREF="runtime-config-load-balancing.html" +>Section 5.7</A +> ) can + also be used with replication mode to distribute the load to the + attached backend nodes. + </P +><P +> Following options affect the behavior of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> in the replication mode. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-REPLICATION-MODE" +></A +><TT +CLASS="VARNAME" +>replication_mode</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on enables the replication mode. + Default is off. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-config-runnung-mode.html#GUC-REPLICATION-MODE" +>replication_mode</A +> and <A +HREF="runtime-config-runnung-mode.html#GUC-MASTER-SLAVE-MODE" +>master_slave_mode</A +> + are mutually exclusive and only one can be enabled at a time. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-REPLICATION-STOP-ON-MISMATCH" +></A +><TT +CLASS="VARNAME" +>replication_stop_on_mismatch</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, and all nodes do not reply with the same packet kind + to the query that was sent to all PostgreSQL backend nodes, then the + backend node whose reply differs from the majority is degenerated + by the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + If <TT +CLASS="VARNAME" +>replication_stop_on_mismatch</TT +> is set to off and + a similar situation happens then the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + only terminates the current user session but does not degenerate a backend node. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not examine the data returned + by the backends and takes the decision only by comparing the result packet + types. + </P +></BLOCKQUOTE +></DIV +><P +> A typical use case of enabling the <TT +CLASS="VARNAME" +>replication_stop_on_mismatch</TT +> + is to guard against the data inconsistency among the backend nodes. + For example, you may want to degenerate a backend node if an UPDATE statement + fails on one backend node while passes on others. + </P +><P +> Default is off. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-FAILOVER-IF-AFFECTED-TUPLES-MISMATCH" +></A +><TT +CLASS="VARNAME" +>failover_if_affected_tuples_mismatch</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, and all nodes do not reply with the same number of + affected tuples to the INSERT/UPDATE/DELETE query, then the + backend node whose reply differs from the majority is degenerated + by the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + If <TT +CLASS="VARNAME" +>failover_if_affected_tuples_mismatch</TT +> is set to off and + a similar situation happens then the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + only terminates the current user session but does not degenerate a backend node. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> In case of a tie, when two or more groups have the same number of nodes, + then the group containing the MASTER backend node(Backend node having + the youngest node id) gets the precedence. + </P +></BLOCKQUOTE +></DIV +><P +> Default is off. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-REPLICATE-SELECT" +></A +><TT +CLASS="VARNAME" +>replicate_select</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> enables the + SELECT query replication mode. i.e. The SELECT queries are sent + to all backend nodes. + </P +><DIV +CLASS="TABLE" +><A +NAME="REPLICATE-SELECT-AFFECT-TABLE" +></A +><P +><B +>Table 5-2. replicate_select with <A +HREF="runtime-config-load-balancing.html#GUC-LOAD-BALANCE-MODE" +>load_balance_mode</A +> affects on SELECT routing</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL +WIDTH="1*" +TITLE="_1"><COL +WIDTH="1*" +TITLE="_2"><COL +WIDTH="1*" +TITLE="_3"><COL +WIDTH="1*" +TITLE="_4"><COL +WIDTH="1*" +TITLE="_5"><COL +WIDTH="1*" +TITLE="_6"><TBODY +><TR +><TD +>replicate_select is true</TD +><TD +ALIGN="CENTER" +>Y</TD +><TD +COLSPAN="4" +ALIGN="CENTER" +>N</TD +></TR +><TR +><TD +>load_balance_mode is true</TD +><TD +>ANY</TD +><TD +ALIGN="CENTER" +>Y</TD +><TD +COLSPAN="3" +ALIGN="CENTER" +>N</TD +></TR +><TR +><TD +>SELECT is inside a transaction block</TD +><TD +ALIGN="CENTER" +>ANY</TD +><TD +COLSPAN="2" +ALIGN="CENTER" +> Y </TD +><TD +ALIGN="CENTER" +>N</TD +><TD +ALIGN="CENTER" +>ANY</TD +></TR +><TR +><TD +> Transaction isolation level is SERIALIZABLE and + the transaction has issued a write query + </TD +><TD +ALIGN="CENTER" +>Y</TD +><TD +ALIGN="CENTER" +>N</TD +><TD +ALIGN="CENTER" +>ANY</TD +><TD +ALIGN="CENTER" +>ANY</TD +><TD +ALIGN="CENTER" +>ANY</TD +></TR +><TR +><TD +> results(R:replication, M: send only to master, L: load balance) + </TD +><TD +ALIGN="CENTER" +>R</TD +><TD +ALIGN="CENTER" +>M</TD +><TD +ALIGN="CENTER" +>L</TD +><TD +ALIGN="CENTER" +>L</TD +><TD +ALIGN="CENTER" +>M</TD +></TR +></TBODY +></TABLE +></DIV +><P +> Default is off. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-INSERT-LOCK" +></A +><TT +CLASS="VARNAME" +>insert_lock</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will automatically lock + the table on PostgreSQL before an INSERT statement is issued for that. + </P +><P +> When replicating a table with SERIAL data type, + the SERIAL column value may get different values + on the different backends. + The workaround to this problem is to explicitly lock the table + before issuing the INSERT. + </P +><P +> So for automatically locking the table <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> do the following transformation: + </P><PRE +CLASS="PROGRAMLISTING" +>INSERT INTO ... + </PRE +><P> + to + </P><PRE +CLASS="PROGRAMLISTING" +>BEGIN; +LOCK TABLE ... +INSERT INTO ... +COMMIT; + </PRE +><P> + </P +><DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="90%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> This approach severely degrades the transactions' parallelism + </P +></TD +></TR +></TABLE +></DIV +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V2.2</I +></SPAN +> or later, + automatically detects whether the table has a SERIAL columns or not, + so it only locks the table if it uses the SERIAL columns. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.0</I +></SPAN +> until + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.0.4</I +></SPAN +> uses a row lock + against the sequence relation, rather than table lock. + This is intended to minimize lock conflict with <ACRONYM +CLASS="ACRONYM" +>VACUUM</ACRONYM +> + (including autovacuum). + However this can lead to another problem. After transaction wraparound happens, + row locking against the sequence relation causes PostgreSQL internal error + (more precisely, access error on pg_clog, which keeps transaction status). + To prevent this, PostgreSQL core developers decided to disallow row locking + against sequences and this broke the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, + of course (the "fixed" version of PostgreSQL was released as + 9.0.5, 8.4.9, 8.3.16 and 8.2.22). + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.0.5</I +></SPAN +> or later + uses a row lock against <TT +CLASS="LITERAL" +>pgpool_catalog.insert_lock</TT +> table + because new PostgreSQL disallows a row lock against the sequence relation. + So creating insert_lock table in all databases which are accessed via + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> beforehand is required. + See Creating insert_lock table for more details. + If does not exist insert_lock table, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + locks the insert target table. + This behavior is same as <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V2.2</I +></SPAN +> + and <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V2.3</I +></SPAN +> series. + </P +><P +> If you want to use <TT +CLASS="VARNAME" +>insert_lock</TT +> which is compatible + with older releases, you can specify lock method by configure script. + See <A +HREF="create-installlock-table.html" +>Section 3.7</A +> for more details. + </P +><P +> For fine (per statement) control: + </P +><P +></P +><UL +><LI +><P +> set insert_lock to true, and add /*NO INSERT LOCK*/ at the beginning of an + INSERT statement for which you do not want to acquire the table lock. + </P +></LI +><LI +><P +> set insert_lock to false, and add /*INSERT LOCK*/ at the beginning of an + INSERT statement for which you want to acquire the table lock. + </P +></LI +></UL +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> If insert_lock is enabled, the regression tests for PostgreSQL 8.0 gets fail + in transactions, privileges, rules, and alter_table. + </P +><P +> The reason for this is that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + tries to LOCK the VIEW for the rule test, and it produces the below error message: + </P><PRE +CLASS="PROGRAMLISTING" +>! ERROR: current transaction is aborted, commands ignored until +end of transaction block + </PRE +><P> + For example, the transactions test tries an INSERT into a table which does not exist, + and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> causes PostgreSQL to acquire the lock before that. + The transaction will be aborted, and the following INSERT statement produces the above error message. + </P +></BLOCKQUOTE +></DIV +><P +> Default is off. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-LOBJ-LOCK-TABLE" +></A +><TT +CLASS="VARNAME" +>lobj_lock_table</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a table name used for large object replication control. + If it is specified, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will lock + the table specified by <TT +CLASS="VARNAME" +>lobj_lock_table</TT +> and generate + a large object id by looking into <TT +CLASS="LITERAL" +>pg_largeobject</TT +> + system catalog and then call <TT +CLASS="LITERAL" +>lo_create</TT +> to create + the large object. + This procedure guarantees that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will get the same large object id in all DB nodes in replication mode. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> PostgreSQL 8.0 and older does not have <TT +CLASS="LITERAL" +>lo_create,</TT +>, + So this feature does not work with PostgreSQL 8.0 and older versions. + </P +></BLOCKQUOTE +></DIV +><P +> A call to the <TT +CLASS="LITERAL" +>libpq</TT +> function <TT +CLASS="LITERAL" +>lo_creat()</TT +> + triggers this feature. Also large object creation through <ACRONYM +CLASS="ACRONYM" +>Java</ACRONYM +> + API (<ACRONYM +CLASS="ACRONYM" +>JDBC</ACRONYM +> driver), <ACRONYM +CLASS="ACRONYM" +>PHP</ACRONYM +> API + (<TT +CLASS="LITERAL" +>pg_lo_create</TT +>, or similar API in PHP library such as PDO), + and this same API in various programming languages are known to use a + similar protocol, and thus should work. + </P +><P +> This feature does not works with following operations on large objects. + </P +><P +></P +><UL +><LI +><P +> <TT +CLASS="LITERAL" +>lo_create</TT +> of <ACRONYM +CLASS="ACRONYM" +>libpq</ACRONYM +>. + </P +></LI +><LI +><P +> All APIs using <TT +CLASS="LITERAL" +>lo_create</TT +>. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>lo_import</TT +> function in backend. + </P +></LI +><LI +><P +> SELECT <TT +CLASS="LITERAL" +>lo_create</TT +>. + </P +></LI +></UL +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> All PostgreSQL users must have a write access on <TT +CLASS="VARNAME" +>lobj_lock_table</TT +> + and it can be created in any schema. + </P +></BLOCKQUOTE +></DIV +><P +> Example to create a large object lock table: + </P><PRE +CLASS="PROGRAMLISTING" +>CREATE TABLE public.my_lock_table (); +GRANT ALL ON public.my_lock_table TO PUBLIC; + </PRE +><P> + </P +><P +> Default is <TT +CLASS="LITERAL" +>''</TT +>(empty), which disables the feature. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-connection.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-config-backend-settings.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Connections and Authentication</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Backend Settings</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-config.html b/doc/src/sgml/html/runtime-config.html new file mode 100644 index 000000000..639cc54f0 --- /dev/null +++ b/doc/src/sgml/html/runtime-config.html @@ -0,0 +1,416 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Server Configuration</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="PREVIOUS" +TITLE="Configuring backend information" +HREF="configuring-backend-info.html"><LINK +REL="NEXT" +TITLE="Setting Parameters" +HREF="config-setting.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Configuring backend information" +HREF="configuring-backend-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Setting Parameters" +HREF="config-setting.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="RUNTIME-CONFIG" +></A +>Chapter 5. Server Configuration</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>5.1. <A +HREF="config-setting.html" +>Setting Parameters</A +></DT +><DD +><DL +><DT +>5.1.1. <A +HREF="config-setting.html#CONFIG-SETTING-NAMES-VALUES" +>Parameter Names and Values</A +></DT +><DT +>5.1.2. <A +HREF="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" +>Parameter Interaction via the Configuration File</A +></DT +><DT +>5.1.3. <A +HREF="config-setting.html#CONFIG-SETTING-SQL-COMMAND-INTERACTION" +>Parameter Interaction via SQL Clients</A +></DT +></DL +></DD +><DT +>5.2. <A +HREF="runtime-config-connection.html" +>Connections and Authentication</A +></DT +><DD +><DL +><DT +>5.2.1. <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS" +>Connection Settings</A +></DT +><DT +>5.2.2. <A +HREF="runtime-config-connection.html#RUNTIME-CONFIG-AUTHENTICATION-SETTINGS" +>Authentication Settings</A +></DT +></DL +></DD +><DT +>5.3. <A +HREF="runtime-config-runnung-mode.html" +>Running mode</A +></DT +><DD +><DL +><DT +>5.3.1. <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-MASTER-SLAVE-MODE" +>Master slave mode</A +></DT +><DT +>5.3.2. <A +HREF="runtime-config-runnung-mode.html#RUNTIME-CONFIG-REPLICATION-MODE" +>Replication mode</A +></DT +></DL +></DD +><DT +>5.4. <A +HREF="runtime-config-backend-settings.html" +>Backend Settings</A +></DT +><DD +><DL +><DT +>5.4.1. <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-CONNECTION-SETTINGS" +>Backend Connection Settings</A +></DT +><DT +>5.4.2. <A +HREF="runtime-config-backend-settings.html#RUNTIME-CONFIG-BACKEND-DATA" +>Backend Data Settings</A +></DT +></DL +></DD +><DT +>5.5. <A +HREF="runtime-config-connection-pooling.html" +>Connection Pooling</A +></DT +><DT +>5.6. <A +HREF="runtime-config-logging.html" +>Error Reporting and Logging</A +></DT +><DD +><DL +><DT +>5.6.1. <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE-TO-LOG" +>Where To Log</A +></DT +><DT +>5.6.2. <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN-TO-LOG" +>When To Log</A +></DT +><DT +>5.6.3. <A +HREF="runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT-TO-LOG" +>What To Log</A +></DT +></DL +></DD +><DT +>5.7. <A +HREF="runtime-config-load-balancing.html" +>Load Balancing</A +></DT +><DT +>5.8. <A +HREF="runtime-config-health-check.html" +>Health Check</A +></DT +><DT +>5.9. <A +HREF="runtime-config-failover.html" +>Failover and Failback</A +></DT +><DT +>5.10. <A +HREF="runtime-online-recovery.html" +>Online Recovery</A +></DT +><DT +>5.11. <A +HREF="runtime-streaming-replication-check.html" +>Streaming Replication Check</A +></DT +><DT +>5.12. <A +HREF="runtime-in-memory-query-cache.html" +>In Memory Query Cache</A +></DT +><DD +><DL +><DT +>5.12.1. <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-ENABLING" +>Enabling in memory query cache</A +></DT +><DT +>5.12.2. <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CHOOSE-STORAGE" +>Choosing cache storage</A +></DT +><DT +>5.12.3. <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>Common configurations</A +></DT +><DT +>5.12.4. <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" +>Configurations to use shared memory</A +></DT +><DT +>5.12.5. <A +HREF="runtime-in-memory-query-cache.html#RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" +>Configurations to use memcached</A +></DT +></DL +></DD +><DT +>5.13. <A +HREF="runtime-ssl.html" +>Secure Sockect Layer (SSL)</A +></DT +><DT +>5.14. <A +HREF="runtime-watchdog-config.html" +>Watchdog</A +></DT +><DD +><DL +><DT +>5.14.1. <A +HREF="runtime-watchdog-config.html#CONFIG-ENABLE-WATCHDOG" +>Enable watchdog</A +></DT +><DT +>5.14.2. <A +HREF="runtime-watchdog-config.html#CONFIG-COMMUNICATION-WATCHDOG" +>Watchdog communication</A +></DT +><DT +>5.14.3. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" +>Upstream server connection</A +></DT +><DT +>5.14.4. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-VIP-CONTROL" +>Virtual IP control</A +></DT +><DT +>5.14.5. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" +>Behaivor on escalation and de-escalation</A +></DT +><DT +>5.14.6. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK" +>Life checking <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></DT +><DT +>5.14.7. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>Lifecheck Heartbeat mode configuration</A +></DT +><DT +>5.14.8. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-LIFECHECK-QUERY" +>Lifecheck Query mode configuration</A +></DT +><DT +>5.14.9. <A +HREF="runtime-watchdog-config.html#CONFIG-WATCHDOG-SERVER-CONFIGURATION" +>Watchdog servers configurations</A +></DT +></DL +></DD +><DT +>5.15. <A +HREF="runtime-misc.html" +>Misc Configuration Parameters</A +></DT +></DL +></DIV +><P +> There are many configuration parameters that affect the behavior of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. In the first section of this chapter we + describe how to interact with configuration parameters. The subsequent sections + discuss each parameter in detail. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="configuring-backend-info.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="config-setting.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Configuring backend information</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Setting Parameters</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-in-memory-query-cache.html b/doc/src/sgml/html/runtime-in-memory-query-cache.html new file mode 100644 index 000000000..a5784b8a9 --- /dev/null +++ b/doc/src/sgml/html/runtime-in-memory-query-cache.html @@ -0,0 +1,874 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>In Memory Query Cache</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Streaming Replication Check" +HREF="runtime-streaming-replication-check.html"><LINK +REL="NEXT" +TITLE="Secure Sockect Layer (SSL)" +HREF="runtime-ssl.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Streaming Replication Check" +HREF="runtime-streaming-replication-check.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Secure Sockect Layer (SSL)" +HREF="runtime-ssl.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE" +>5.12. In Memory Query Cache</A +></H1 +><P +> In memory query cache can be used with all modes of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. It is different + from the query cache on the point that in memory query + cache is faster because of the in memory nature of the storage. + Moreover <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not + need a restart when the cache gets outdated because of + the underlying table updates. + </P +><P +> In memory cache saves the pair of SELECT statement + and its result + (along with the Bind parameters, if the SELECT is an + extended query). If the same SELECTs comes in, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> returns the value + from cache. Since no <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> parsing nor + access to PostgreSQL are involved, the serving of results + from the in memory cache is extremely fast. + </P +><P +> On the other hand, it might be slower than the normal path + in some cases, because it adds some overhead to store cache. + Moreover when a table is updated, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> automatically deletes all the caches related + to the table. So the performance will be degraded by a system + with a lot of updates. + If the cache_hit_ratio is lower than 70%, you might want + to disable in memory cache. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE-ENABLING" +>5.12.1. Enabling in memory query cache</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MEMORY-CACHE-ENABLED" +></A +><TT +CLASS="VARNAME" +>memory_cache_enabled</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on enables the memory cache. + Default is off. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE-CHOOSE-STORAGE" +>5.12.2. Choosing cache storage</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MEMQCACHE-METHOD" +></A +><TT +CLASS="VARNAME" +>memqcache_method</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the storage type to be used for the cache. + Below table contains the list of all valid values for the parameter. + </P +><DIV +CLASS="TABLE" +><A +NAME="MEMQCACHE-METHOD-TABLE" +></A +><P +><B +>Table 5-10. Memcache method options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Value</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +><TT +CLASS="LITERAL" +>'shmem'</TT +></TD +><TD +>Use shared memory</TD +></TR +><TR +><TD +><TT +CLASS="LITERAL" +>'memcached'</TT +></TD +><TD +>Use <A +HREF="http://memcached.org/" +TARGET="_top" +>memcached</A +></TD +></TR +></TBODY +></TABLE +></DIV +><P +> Default is <TT +CLASS="LITERAL" +>'shmem'</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE-CONFIG" +>5.12.3. Common configurations</A +></H2 +><P +> These below parameter are valid for both <TT +CLASS="LITERAL" +>shmem</TT +> + and <TT +CLASS="LITERAL" +>memcached</TT +> type query cache. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MEMQCACHEEXPIRE" +></A +><TT +CLASS="VARNAME" +>memqcache_expire</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the life time of query cache in seconds. + Default is 0. which means no cache expiration and cache remains + valid until the table is updated. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> This parameters <A +HREF="runtime-in-memory-query-cache.html#GUC-MEMQCACHEEXPIRE" +>memqcache_expire</A +> and + <A +HREF="runtime-in-memory-query-cache.html#GUC-MEMQCACHE-AUTO-CACHE-INVALIDATION" +>memqcache_auto_cache_invalidation</A +> are orthogonal to each other. + </P +></BLOCKQUOTE +></DIV +></DD +><DT +><A +NAME="GUC-MEMQCACHE-AUTO-CACHE-INVALIDATION" +></A +><TT +CLASS="VARNAME" +>memqcache_auto_cache_invalidation</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, automatically deletes the cache related to the updated tables. + When off, cache is not deleted. + </P +><P +> Default is on. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> This parameters <A +HREF="runtime-in-memory-query-cache.html#GUC-MEMQCACHE-AUTO-CACHE-INVALIDATION" +>memqcache_auto_cache_invalidation</A +> + and <A +HREF="runtime-in-memory-query-cache.html#GUC-MEMQCACHEEXPIRE" +>memqcache_expire</A +> are orthogonal to each other. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-MEMQCACHE-MAXCACHE" +></A +><TT +CLASS="VARNAME" +>memqcache_maxcache</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the maximum size in bytes of the SELECT query result to be cached. + The result with data size larger than this value will not be cached by + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + And when the caching of data is rejected because of the size constraint the following + message is shown. + </P><PRE +CLASS="PROGRAMLISTING" +>LOG: pid 13756: pool_add_temp_query_cache: data size exceeds memqcache_maxcache. current:4095 requested:111 memq_maxcache:4096 + </PRE +><P> + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> For the shared memory query(<TT +CLASS="LITERAL" +>'shmem'</TT +>) cache the + <TT +CLASS="VARNAME" +>memqcache_maxcache</TT +> must be set lower than + <A +HREF="runtime-in-memory-query-cache.html#GUC-MEMQCACHE-CACHE-BLOCK-SIZE" +>memqcache_cache_block_size</A +> and for <TT +CLASS="LITERAL" +>'memcached'</TT +> + it must be lower than the size of slab (default is 1 MB). + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-WHITE-MEMQCACHE-TABLE-LIST" +></A +><TT +CLASS="VARNAME" +>white_memqcache_table_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a comma separated list of table names whose SELECT + results should be cached by the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +><P +> You can use regular expression into the list to match table name + (to which ^ and $ are automatically added), + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> If the queries can refer the table with and without the schema + qualification then you must add both entries(with and without + schema name) in the list. + </P><PRE +CLASS="PROGRAMLISTING" +>#For example: +#If the queries sometime use "table1" and other times "public.table1" +#to refer the table1 then the white_memqcache_table_list +#would be configured as follows. + +white_memqcache_table_list = "table1,public.table1" + + </PRE +><P> + + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <TT +CLASS="VARNAME" +>white_memqcache_table_list</TT +> white_memqcache_table_list takes + precedence over <A +HREF="runtime-in-memory-query-cache.html#GUC-BLACK-MEMQCACHE-TABLE-LIST" +>black_memqcache_table_list</A +> + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-BLACK-MEMQCACHE-TABLE-LIST" +></A +><TT +CLASS="VARNAME" +>black_memqcache_table_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a comma separated list of table names whose SELECT + results should <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>NOT</I +></SPAN +> be cached by the <SPAN +CLASS="PRODUCTNAME" +> Pgpool-II</SPAN +>. + </P +><P +> You can use regular expression into the list to match table name + (to which ^ and $ are automatically added), + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> If the queries can refer the table with and without the schema + qualification then you must add both entries(with and without + schema name) in the list. + </P><PRE +CLASS="PROGRAMLISTING" +>#For example: +#If the queries sometime use "table1" and other times "public.table1" +#to refer the table1 then the black_memqcache_table_list +#would be configured as follows. + +black_function_list = "table1,public.table1" + + </PRE +><P> + + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-MEMQCACHE-OIDDIR" +></A +><TT +CLASS="VARNAME" +>memqcache_oiddir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the full path to the directory for storing the + <TT +CLASS="LITERAL" +>oids</TT +> of tables used by SELECT queries. + </P +><P +> <TT +CLASS="VARNAME" +>memqcache_oiddir</TT +> directory contains the sub directories + for the databases. The directory name is the OID of the database, And each + database directory contains the files for each table used by SELECT statement. + Again the name of the file is the OID of the table. + These files contains the pointers to query cache which are used as key for + deleting the caches. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Normal restart of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not clear the + contents of <TT +CLASS="VARNAME" +>memqcache_oiddir</TT +>. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE-SHMEM-CONFIG" +>5.12.4. Configurations to use shared memory</A +></H2 +><P +> These are the parameters used with shared memory as the cache storage. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MEMQCACHE-TOTAL-SIZE" +></A +><TT +CLASS="VARNAME" +>memqcache_total_size</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the shared memory cache size in bytes. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-MEMQCACHE-MAX-NUM-CACHE" +></A +><TT +CLASS="VARNAME" +>memqcache_max_num_cache</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the number of cache entries. This is used to define the size of cache management space. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> The management space size can be calculated by: + <TT +CLASS="VARNAME" +>memqcache_max_num_cache</TT +> * 48 bytes. + Too small number will cause an error while registering cache. + On the other hand too large number will just waste space. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-MEMQCACHE-CACHE-BLOCK-SIZE" +></A +><TT +CLASS="VARNAME" +>memqcache_cache_block_size</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the cache block size. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> uses the + cache memory arranged in <TT +CLASS="VARNAME" +>memqcache_cache_block_size</TT +> blocks. + SELECT result is packed into the block and must fit in a single block. + And the results larger than <TT +CLASS="VARNAME" +>memqcache_cache_block_size</TT +> are + not cached. + </P +><P +> <TT +CLASS="VARNAME" +>memqcache_cache_block_size</TT +> must be set to atleast 512. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="RUNTIME-IN-MEMORY-QUERY-CACHE-MEMCACHED-CONFIG" +>5.12.5. Configurations to use memcached</A +></H2 +><P +> These are the parameters used with memcached as the cache storage. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-MEMQCACHE-MEMCACHED-HOST" +></A +><TT +CLASS="VARNAME" +>memqcache_memcached_host</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the host name or the IP address on which <TT +CLASS="LITERAL" +>memcached</TT +> + works. You can use <TT +CLASS="LITERAL" +>'localhost'</TT +> if <TT +CLASS="LITERAL" +>memcached</TT +> + and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> resides on same server. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-MEMQCACHE-MEMCACHED-PORT" +></A +><TT +CLASS="VARNAME" +>memqcache_memcached_port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the port number of <ACRONYM +CLASS="ACRONYM" +>memcached</ACRONYM +>. + Default is 11211. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-streaming-replication-check.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-ssl.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Streaming Replication Check</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Secure Sockect Layer (SSL)</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-misc.html b/doc/src/sgml/html/runtime-misc.html new file mode 100644 index 000000000..6acf24952 --- /dev/null +++ b/doc/src/sgml/html/runtime-misc.html @@ -0,0 +1,395 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Misc Configuration Parameters</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Watchdog" +HREF="runtime-watchdog-config.html"><LINK +REL="NEXT" +TITLE="Client Authentication" +HREF="client-authentication.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Watchdog" +HREF="runtime-watchdog-config.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Client Authentication" +HREF="client-authentication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-MISC" +>5.15. Misc Configuration Parameters</A +></H1 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-RELCACHE-EXPIRE" +></A +><TT +CLASS="VARNAME" +>relcache_expire</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the relation cache expiration time in seconds. + The relation cache is used for caching the query result of + PostgreSQL system catalogs that is used by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> to get various informations including the table + structures and to check table types(e.g. To check if the referred + table is a temporary table or not). The cache is maintained in + the local memory space of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + child process and its lifetime is same as of the child process. + So If the table is modified using <TT +CLASS="COMMAND" +>ALTER TABLE</TT +> + or some other means, the relcache becomes inconsistent. + For this purpose, <TT +CLASS="VARNAME" +>relcache_expire</TT +> controls + the life time of the cache. + Default is 0, which means the cache never expires. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-RELCACHE-SIZE" +></A +><TT +CLASS="VARNAME" +>relcache_size</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the number of relcache entries. + Default is 256. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> If the below message frequently appears in the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> log, You may need to + increase the <TT +CLASS="VARNAME" +>relcache_size</TT +> for better performance. + </P><PRE +CLASS="PROGRAMLISTING" +>"pool_search_relcache: cache replacement happened" + </PRE +><P> + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-CHECK-TEMP-TABLE" +></A +><TT +CLASS="VARNAME" +>check_temp_table</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, enables the temporary table check in the <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> + statements. To check the temporary table <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + queries the system catalog of primary/master PostgreSQL backend which increases + the load on the primary/master server. + If you are absolutely sure that your system never uses temporary tables, then + you can safely turn off the <TT +CLASS="VARNAME" +>check_temp_table</TT +>. + Default is on. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-CHECK-UNLOGGED-TABLE" +></A +><TT +CLASS="VARNAME" +>check_unlogged_table</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> Setting to on, enables the unlogged table check in the <ACRONYM +CLASS="ACRONYM" +>SELECT</ACRONYM +> + statements. To check the unlogged table <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + queries the system catalog of primary/master PostgreSQL backend which increases + the load on the primary/master server. + If you are absolutely sure that your system never uses the unlogged tables + (for example, you are using 9.0 or earlier version of PostgreSQL) then you + can safely turn off the <TT +CLASS="VARNAME" +>check_unlogged_table</TT +>.. + Default is on. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +><DT +><A +NAME="GUC-PID-FILE-NAME" +></A +><TT +CLASS="VARNAME" +>pid_file_name</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the full path to a file to store the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> process id. + Default is <TT +CLASS="LITERAL" +>"/var/run/pgpool/pgpool.pid"</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-LOGDIR" +></A +><TT +CLASS="VARNAME" +>logdir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the full path to a directory to store the <TT +CLASS="LITERAL" +>pool_status</TT +>. + Default is <TT +CLASS="LITERAL" +>"/tmp"</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-watchdog-config.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="client-authentication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Watchdog</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Client Authentication</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-online-recovery.html b/doc/src/sgml/html/runtime-online-recovery.html new file mode 100644 index 000000000..65713e817 --- /dev/null +++ b/doc/src/sgml/html/runtime-online-recovery.html @@ -0,0 +1,740 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Online Recovery</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Failover and Failback" +HREF="runtime-config-failover.html"><LINK +REL="NEXT" +TITLE="Streaming Replication Check" +HREF="runtime-streaming-replication-check.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Failover and Failback" +HREF="runtime-config-failover.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Streaming Replication Check" +HREF="runtime-streaming-replication-check.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-ONLINE-RECOVERY" +>5.10. Online Recovery</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, when in replication mode, + can sync a database and attach a node while still servicing the clients. + This feature is called <ACRONYM +CLASS="ACRONYM" +>"online recovery"</ACRONYM +>. + </P +><P +> For online recovery, a recovery target node must be in the detached state. + And if you wish to add a PostgreSQL server dynamically, reload the + <TT +CLASS="FILENAME" +>pgpool.conf</TT +> after adding the + <A +HREF="runtime-config-backend-settings.html#GUC-BACKEND-HOSTNAME" +>backend_hostname</A +> and its associated parameters. + This is how the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will register this + new node as a detached backend node. + </P +><DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="100%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> Make sure that <TT +CLASS="COMMAND" +>autovacuum</TT +> is stopped on the + master node (the first node which is up and running) before starting the + online recovery. Autovacuum can change the contents of the database which + can cause the inconsistency after the online recovery. + </P +><P +> This applies only if you're recovering with a simple copy mechanism, + such as the <TT +CLASS="COMMAND" +>rsync</TT +> and doesn't apply when using + the PostgreSQL's PITR mechanism. + </P +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> The target PostgreSQL server must not be running for performing the online recovery. + If the target PostgreSQL server has already started, you must shut it down before + starting the online recovery. + </P +></BLOCKQUOTE +></DIV +><P +> online recovery is performed in two phases, and client connections are + not allowd only in second phase of online recovery while the data can be + updated or retrieved during the first phase. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> performs the follows steps in online recovery: + </P +><P +></P +><UL +><LI +><P +> CHECKPOINT. + </P +></LI +><LI +><P +> First stage of online recovery. + </P +></LI +><LI +><P +> Wait until all clients have disconnected. + </P +></LI +><LI +><P +> CHECKPOINT. + </P +></LI +><LI +><P +> Second stage of online recovery. + </P +></LI +><LI +><P +> Start up postmaster (perform <TT +CLASS="LITERAL" +>pgpool_remote_start</TT +>) + </P +></LI +><LI +><P +> Node attach + </P +></LI +></UL +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> There is a restriction in the online recovery. If + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> itself is installed + on multiple hosts, online recovery does not work correctly, + because <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> has to stop all + the clients during the 2nd stage of online recovery. + If there are several <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> hosts, + only one will have received the online recovery command and will + block the connections. + </P +></BLOCKQUOTE +></DIV +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-RECOVERY-USER" +></A +><TT +CLASS="VARNAME" +>recovery_user</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the PostgreSQL user name to perform online recovery. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-RECOVERY-PASSWORD" +></A +><TT +CLASS="VARNAME" +>recovery_password</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the password for the PostgreSQL user name configured in + <A +HREF="runtime-online-recovery.html#GUC-RECOVERY-USER" +>recovery_user</A +> to perform online recovery. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-RECOVERY-1ST-STAGE-COMMAND" +></A +><TT +CLASS="VARNAME" +>recovery_1st_stage_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a command to be run by master(primary) PostgreSQL server at the + first stage of online recovery. The command file must be placed in the + database cluster directory for security reasons. + For example, if <TT +CLASS="VARNAME" +>recovery_1st_stage_command</TT +> = <TT +CLASS="LITERAL" +> 'sync-command'</TT +>, then <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will + look for the command scrit in <TT +CLASS="LITERAL" +>$PGDATA</TT +> directory and will + try to execute <TT +CLASS="COMMAND" +>$PGDATA/sync-command</TT +>. + </P +><P +> <TT +CLASS="VARNAME" +>recovery_1st_stage_command</TT +> receives following 4 parameters: + </P +><P +></P +><UL +><LI +><P +> Path to master(primary) database cluster. + </P +></LI +><LI +><P +> PostgreSQL host name to be recovered. + </P +></LI +><LI +><P +> Path to database cluster to be recovered. + </P +></LI +><LI +><P +> Master database port number. + </P +></LI +></UL +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> accept connections and queries + while <TT +CLASS="VARNAME" +>recovery_1st_stage command</TT +> is executed. + So You can retrieve and update data during this stage. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="90%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> <TT +CLASS="VARNAME" +>recovery_1st_stage command</TT +> runs as a <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> + command from PostgreSQL's point of view. So <TT +CLASS="VARNAME" +>recovery_1st_stage command + </TT +> can get prematuraly killed by PostgreSQL if the PostgreSQL's + <TT +CLASS="VARNAME" +>statement_time_out</TT +> is configured with the value that is + smaller than the time <TT +CLASS="VARNAME" +>recovery_1st_stage_command</TT +> takes for + completion. + </P +><P +> Typical error in such case is + </P><PRE +CLASS="PROGRAMLISTING" +>rsync used in the command is killed by signal 2 for example. + </PRE +><P> + </P +></TD +></TR +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-RECOVERY-2ND-STAGE-COMMAND" +></A +><TT +CLASS="VARNAME" +>recovery_2nd_stage_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies a command to be run by master(primary) PostgreSQL server at the + second stage of online recovery. The command file must be placed in the + database cluster directory for security reasons. + For example, if <TT +CLASS="VARNAME" +>recovery_2nd_stage_command</TT +> = <TT +CLASS="LITERAL" +> 'sync-command'</TT +>, then <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> will + look for the command scrit in <TT +CLASS="LITERAL" +>$PGDATA</TT +> directory and will + try to execute <TT +CLASS="COMMAND" +>$PGDATA/sync-command</TT +>. + </P +><P +> <TT +CLASS="VARNAME" +>recovery_2nd_stage_command</TT +> receives following 4 parameters: + </P +><P +></P +><UL +><LI +><P +> Path to master(primary) database cluster. + </P +></LI +><LI +><P +> PostgreSQL host name to be recovered. + </P +></LI +><LI +><P +> Path to database cluster to be recovered. + </P +></LI +><LI +><P +> Port number of database to be recovered. + </P +></LI +></UL +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>does not</I +></SPAN +> + accept client connections and queries during the execution + of <TT +CLASS="VARNAME" +>recovery_2nd_stage command</TT +> command, and waits + for the existing clients to close their connections before executing the + command. + So the <TT +CLASS="VARNAME" +>recovery_2nd_stage command</TT +> may not execute + if the client stays connected for a long time. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="90%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> <TT +CLASS="VARNAME" +>recovery_2nd_stage command</TT +> runs as a <ACRONYM +CLASS="ACRONYM" +>SQL</ACRONYM +> + command from PostgreSQL's point of view. So <TT +CLASS="VARNAME" +>recovery_2nd_stage command + </TT +> can get prematuraly killed by PostgreSQL if the PostgreSQL's + <TT +CLASS="VARNAME" +>statement_time_out</TT +> is configured with the value that is + smaller than the time <TT +CLASS="VARNAME" +>recovery_2nd_stage_command</TT +> takes for + completion. + </P +></TD +></TR +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-RECOVERY-TIMEOUT" +></A +><TT +CLASS="VARNAME" +>recovery_timeout</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the timeout in seconds to cancel the online recovery if it + does not completes within this time. + Since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> does not accepts the connections + during the second stage of recovery so this parameter can be used to cancel + the online recovery to manage the service down time during the online recovery. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-CLIENT-IDLE-LIMIT-IN-RECOVERY" +></A +><TT +CLASS="VARNAME" +>client_idle_limit_in_recovery</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time in seconds to disconnect a client if it remains idle + since the last query during the online recovery. + <TT +CLASS="VARNAME" +>client_idle_limit_in_recovery</TT +> is similar to the + <A +HREF="runtime-config-connection-pooling.html#GUC-CLIENT-IDLE-LIMIT" +>client_idle_limit</A +> but only takes effect during the + second stage of online recovery. + </P +><P +> This is useful for preventing the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + recovery from being disturbed by the lazy clients or if the TCP/IP + connection between the client and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + is accidentally down (a cut cable for instance). + </P +><P +> If set to -1, All clients get immediately disconnected when the second + stage of online recovery starts.. + The default is 0, which turns off the feature. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + You can also use <A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +> command to alter the value of + this parameter for a current session. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config-failover.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-streaming-replication-check.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Failover and Failback</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Streaming Replication Check</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-ssl.html b/doc/src/sgml/html/runtime-ssl.html new file mode 100644 index 000000000..b8031597e --- /dev/null +++ b/doc/src/sgml/html/runtime-ssl.html @@ -0,0 +1,371 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Secure Sockect Layer (SSL)</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="In Memory Query Cache" +HREF="runtime-in-memory-query-cache.html"><LINK +REL="NEXT" +TITLE="Watchdog" +HREF="runtime-watchdog-config.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="In Memory Query Cache" +HREF="runtime-in-memory-query-cache.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Watchdog" +HREF="runtime-watchdog-config.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-SSL" +>5.13. Secure Sockect Layer (SSL)</A +></H1 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-SSL" +></A +><TT +CLASS="VARNAME" +>ssl</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> enables the <ACRONYM +CLASS="ACRONYM" +>SSL</ACRONYM +> + for both the frontend and backend communications. + Default is off. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-ssl.html#GUC-SSL-KEY" +>ssl_key</A +> and <A +HREF="runtime-ssl.html#GUC-SSL-CERT" +>ssl_cert</A +> must also be + configured in order for SSL to work with frontend connections. + </P +></BLOCKQUOTE +></DIV +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> For SSL to work <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> must be build with OpenSSL support. + See <A +HREF="install-pgpool.html" +>Section 3.4</A +> for details on building the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SSL-KEY" +></A +><TT +CLASS="VARNAME" +>ssl_key</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to the private key file to be used for + incoming frontend connections. + There is no default value for this option, and if left unset + <ACRONYM +CLASS="ACRONYM" +>SSL</ACRONYM +> will be disabled for incoming frontend connections. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SSL-CERT" +></A +><TT +CLASS="VARNAME" +>ssl_cert</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to the public x509 certificate file to be used + for the incoming frontend connections. + There is no default value for this option, and if left unset + <ACRONYM +CLASS="ACRONYM" +>SSL</ACRONYM +> will be disabled for incoming frontend connections. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SSL-CA-CERT" +></A +><TT +CLASS="VARNAME" +>ssl_ca_cert</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to a <ACRONYM +CLASS="ACRONYM" +>PEM</ACRONYM +> + format <ACRONYM +CLASS="ACRONYM" +>CA</ACRONYM +> certificate files, which can be used + to verify the backend server certificates. This is analogous to + the <TT +CLASS="COMMAND" +>-CApath</TT +> option of the + <TT +CLASS="COMMAND" +>OpenSSL verify(1)</TT +> command. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-SSL-CA-CERT-DIR" +></A +><TT +CLASS="VARNAME" +>ssl_ca_cert_dir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to a directory containing <ACRONYM +CLASS="ACRONYM" +>PEM</ACRONYM +> + format <ACRONYM +CLASS="ACRONYM" +>CA</ACRONYM +> certificate files, which can be used + to verify the backend server certificates. This is analogous to + the <TT +CLASS="COMMAND" +>-CApath</TT +> option of the + <TT +CLASS="COMMAND" +>OpenSSL verify(1)</TT +> command. + </P +><P +> The default value for this option is unset, which means no + verification takes place. Verification will still happen if + this option is not set but a value is provided for + <A +HREF="runtime-ssl.html#GUC-SSL-CA-CERT" +>ssl_ca_cert</A +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-in-memory-query-cache.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-watchdog-config.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>In Memory Query Cache</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Watchdog</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-streaming-replication-check.html b/doc/src/sgml/html/runtime-streaming-replication-check.html new file mode 100644 index 000000000..2c9e36c6f --- /dev/null +++ b/doc/src/sgml/html/runtime-streaming-replication-check.html @@ -0,0 +1,435 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Streaming Replication Check</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Online Recovery" +HREF="runtime-online-recovery.html"><LINK +REL="NEXT" +TITLE="In Memory Query Cache" +HREF="runtime-in-memory-query-cache.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Online Recovery" +HREF="runtime-online-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="In Memory Query Cache" +HREF="runtime-in-memory-query-cache.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-STREAMING-REPLICATION-CHECK" +>5.11. Streaming Replication Check</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> can work with PostgreSQL native + Streaming Replication, that is available since PostgreSQL 9.0. + To configure <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> with streaming + replication, enable <A +HREF="runtime-config-runnung-mode.html#GUC-MASTER-SLAVE-MODE" +>master_slave_mode</A +> and set + <A +HREF="runtime-config-runnung-mode.html#GUC-MASTER-SLAVE-SUB-MODE" +>master_slave_sub_mode</A +> to <TT +CLASS="LITERAL" +>'stream'</TT +>. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> assumes that Streaming Replication + is configured with Hot Standby on PostgreSQL, which means that the + standby database can handle read-only queries. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-SR-CHECK-PERIOD" +></A +><TT +CLASS="VARNAME" +>sr_check_period</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time interval in seconds to check the streaming + replication delay. + Default is 0, which means the check is disabled. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SR-CHECK-USER" +></A +><TT +CLASS="VARNAME" +>sr_check_user</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the PostgreSQL user name to perform streaming replication check. + The user must exist on all the PostgreSQL backends. + </P +><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> <A +HREF="runtime-streaming-replication-check.html#GUC-SR-CHECK-USER" +>sr_check_user</A +> and <A +HREF="runtime-streaming-replication-check.html#GUC-SR-CHECK-PASSWORD" +>sr_check_password</A +> + are used even when <A +HREF="runtime-streaming-replication-check.html#GUC-SR-CHECK-PERIOD" +>sr_check_period</A +> is set to 0 (disabled) + for the identification of the primary server. + </P +></BLOCKQUOTE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SR-CHECK-PASSWORD" +></A +><TT +CLASS="VARNAME" +>sr_check_password</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the password of the <A +HREF="runtime-streaming-replication-check.html#GUC-SR-CHECK-USER" +>sr_check_user</A +> PostgreSQL user + to perform the streaming replication checks. + Use <TT +CLASS="LITERAL" +>''</TT +> (empty string) if the user does not requires a password. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-SR-CHECK-DATABASE" +></A +><TT +CLASS="VARNAME" +>sr_check_database</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the database to perform streaming replication delay checks. + The default is <TT +CLASS="LITERAL" +>"postgres"</TT +>. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-DELAY-THRESHOLD" +></A +><TT +CLASS="VARNAME" +>delay_threshold</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the maximum tolerance level of replication delay in + <ACRONYM +CLASS="ACRONYM" +>WAL</ACRONYM +> bytes on the standby server against the + primary server. If the delay exceeds this configured level, + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> stops sending the <ACRONYM +CLASS="ACRONYM" +> SELECT</ACRONYM +> queries to the standby server and starts routing + everything to the primary server even if <A +HREF="runtime-config-load-balancing.html#GUC-LOAD-BALANCE-MODE" +>load_balance_mode</A +> + is enabled, until the standby catches-up with the primary. + Setting this parameter to 0 disables, the delay checking. + This delay threshold check is performed every <A +HREF="runtime-streaming-replication-check.html#GUC-SR-CHECK-PERIOD" +>sr_check_period</A +>. + Default is 0. + </P +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +><DT +><A +NAME="GUC-LOG-STANDBY-DELAY" +></A +><TT +CLASS="VARNAME" +>log_standby_delay</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies when to log the replication delay. Below table contains the list + of all valid values for the parameter. + </P +><DIV +CLASS="TABLE" +><A +NAME="LOG-STANDBY-DELAY-TABLE" +></A +><P +><B +>Table 5-9. Log standby delay options</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Value</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +><TT +CLASS="LITERAL" +>'none'</TT +></TD +><TD +>Never log the standby delay</TD +></TR +><TR +><TD +><TT +CLASS="LITERAL" +>'always'</TT +></TD +><TD +>Log the standby delay, every time the replication delay is checked</TD +></TR +><TR +><TD +><TT +CLASS="LITERAL" +>'if_over_threshold'</TT +></TD +><TD +>Only log the standby delay, when it exceeds <A +HREF="runtime-streaming-replication-check.html#GUC-DELAY-THRESHOLD" +>delay_threshold</A +> value</TD +></TR +></TBODY +></TABLE +></DIV +><P +> This parameter can be changed by reloading the pgpool configurations. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-online-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-in-memory-query-cache.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Online Recovery</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>In Memory Query Cache</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime-watchdog-config.html b/doc/src/sgml/html/runtime-watchdog-config.html new file mode 100644 index 000000000..68b2ffd90 --- /dev/null +++ b/doc/src/sgml/html/runtime-watchdog-config.html @@ -0,0 +1,1614 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Watchdog</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Configuration" +HREF="runtime-config.html"><LINK +REL="PREVIOUS" +TITLE="Secure Sockect Layer (SSL)" +HREF="runtime-ssl.html"><LINK +REL="NEXT" +TITLE="Misc Configuration Parameters" +HREF="runtime-misc.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Secure Sockect Layer (SSL)" +HREF="runtime-ssl.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Server Configuration</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Misc Configuration Parameters" +HREF="runtime-misc.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="RUNTIME-WATCHDOG-CONFIG" +>5.14. Watchdog</A +></H1 +><P +> Watchdog configuration parameters are described in pgpool.conf. + There is sample configuration in the WATCHDOG section of + <TT +CLASS="FILENAME" +>pgpool.conf.sample</TT +> file. + All following options are required to be specified in watchdog process.</P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-ENABLE-WATCHDOG" +>5.14.1. Enable watchdog</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-USE-WATCHDOG" +></A +><TT +CLASS="VARNAME" +>use_watchdog</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> If on, activates the watchdog. Default is off + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-COMMUNICATION-WATCHDOG" +>5.14.2. Watchdog communication</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-WD-HOSTNAME" +></A +><TT +CLASS="VARNAME" +>wd_hostname</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the hostname or IP address of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server. + This is used for sending/receiving queries and packets, + and also as an identifier of the watchdog node. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-PORT" +></A +><TT +CLASS="VARNAME" +>wd_port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the port number to be used by watchdog + process to listen for connections. Default is 9999. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-AUTHKEY" +></A +><TT +CLASS="VARNAME" +>wd_authkey</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the authentication key used for all watchdog communications. + All <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> must have the same key. + Packets from watchdog having different key will get rejected. + This authentication is also applied to the heatrbeat singals + when the <TT +CLASS="LITERAL" +>heartbeat</TT +> mode is used as a lifecheck method. + </P +><P +> Since <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +> + <TT +CLASS="VARNAME" +>wd_authkey</TT +> is also used to authenticate + the watchdog IPC clients. + All clients communicating with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + watchdog process needs to provide this wd_authkey value + for <TT +CLASS="LITERAL" +>"IPCAuthKey"</TT +> key in the JSON data + of the command. + </P +><P +> Default is <TT +CLASS="LITERAL" +>''</TT +> (empty) which means disables + the watchdog authentication. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-UPSTREAM-CONNECTIONS" +>5.14.3. Upstream server connection</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-TRUSTED-SERVERS" +></A +><TT +CLASS="VARNAME" +>trusted_servers</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the list of trusted servers to check the up stream connections. + Each server in the list is required to respond to ping. + Specify a comma separated list of servers such as + <TT +CLASS="LITERAL" +>"hostA,hostB,hostC"</TT +>. + If none of the server are reachable, watchdog will regard it as + failure of the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Therefore, it is recommended to specify multiple servers. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-PING-PATH" +></A +><TT +CLASS="VARNAME" +>ping_path</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path of a ping command for monitoring + connection to the upper servers. Set the only path of the directory containing the + ping utility, such as <TT +CLASS="LITERAL" +>"/bin"</TT +> or such directory. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-VIP-CONTROL" +>5.14.4. Virtual IP control</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-DELEGATE-IP" +></A +><TT +CLASS="VARNAME" +>delegate_IP</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the virtual IP address (VIP) of pgpool-II that is + connected from client servers (application servers etc.). + When a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is switched from standby to active, + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> takes over + this VIP. + Default is <TT +CLASS="LITERAL" +>''</TT +>(empty): which means virtual + IP will never be brought up. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-IF-CMD-PATH" +></A +><TT +CLASS="VARNAME" +>if_cmd_path</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to the command that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will use to switch the virtual IP on the system. + Set only the path of the directory containing the binary, + such as <TT +CLASS="LITERAL" +>"/sbin"</TT +> or such directory. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-IF-UP-CMD" +></A +><TT +CLASS="VARNAME" +>if_up_cmd</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the command to bring up the virtual IP. + Set the command and parameters such as + <TT +CLASS="COMMAND" +>"ip addr add $_IP_$/24 dev eth0 label eth0:0"</TT +> + <TT +CLASS="LITERAL" +>$_IP_$</TT +> will get replaced by the IP address + specified in the <A +HREF="runtime-watchdog-config.html#GUC-DELEGATE-IP" +>delegate_IP</A +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-IF-DOWN-CMD" +></A +><TT +CLASS="VARNAME" +>if_down_cmd</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the command to bring down the virtual IP. + Set the command and parameters such as + <TT +CLASS="LITERAL" +>"ip addr del $_IP_$/24 dev eth0"</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-ARPING-PATH" +></A +><TT +CLASS="VARNAME" +>arping_path</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the path to the command that <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + will use to send the ARP requests after the virtual IP switch. + Set only the path of the directory containing the binary, + such as <TT +CLASS="LITERAL" +>"/usr/sbin"</TT +> or such directory. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-ARPING-CMD" +></A +><TT +CLASS="VARNAME" +>arping_cmd</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the command to use for sending the ARP requests + after the virtual IP switch. + Set the command and parameters such as + <TT +CLASS="LITERAL" +>"arping -U $_IP_$ -w 1"</TT +>. + <TT +CLASS="LITERAL" +>$_IP_$</TT +> will get replaced by + the IP address specified in the <TT +CLASS="VARNAME" +>delegate_IP</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-ESCALATION-DE-ESCALATION" +>5.14.5. Behaivor on escalation and de-escalation</A +></H2 +><P +> Configuration about behavior when <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + escalates to active (virtual IP holder) + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-CLEAR-MEMQCACHE-ON-ESCALATION" +></A +><TT +CLASS="VARNAME" +>clear_memqcache_on_escalation</TT +> (<TT +CLASS="TYPE" +>boolean</TT +>) + </DT +><DD +><P +> When set to on, watchdog clears all the query cache in the shared memory + when pgpool-II escaltes to active. This prevents the new active <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + from using old query caches inconsistence to the old active. + </P +><P +> Default is on. + </P +><P +> This works only if <TT +CLASS="VARNAME" +>memqcache_method</TT +> + is <TT +CLASS="LITERAL" +>'shmem'</TT +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-ESCALATION-COMMAND" +></A +><TT +CLASS="VARNAME" +>wd_escalation_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Watchdog executes this command on the node that is escalated + to the master watchdog. + </P +><P +> This command is executed just before bringing up the + virtual/floating IP if that is configured on the node. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-DE-ESCALATION-COMMAND" +></A +><TT +CLASS="VARNAME" +>wd_de_escalation_command</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Watchdog executes this command on the master <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + watchdog node when that node resigns from the master node responsibilities. + A master watchdog node can resign from being a master node, + when the master node <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> shuts down, detects a network + blackout or detects the lost of quorum. + </P +><P +> This command is executed before bringing down the virtual/floating IP address + if it is configured on the watchdog node. + </P +><P +> <TT +CLASS="VARNAME" +>wd_de_escalation_command</TT +> is not available prior to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +><SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-LIFECHECK" +>5.14.6. Life checking <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></A +></H2 +><P +> Watchdog checks pgpool-II status periodically. This is called "life check". + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-WD-LIFECHECK-METHOD" +></A +><TT +CLASS="VARNAME" +>wd_lifecheck_method</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the method of life check. This can be either of <TT +CLASS="LITERAL" +>'heartbeat'</TT +> (default), + <TT +CLASS="LITERAL" +>'query'</TT +> or <TT +CLASS="LITERAL" +>'external'</TT +>. + </P +><P +> <TT +CLASS="LITERAL" +>heartbeat</TT +>: In this mode, watchdog sends the heartbeat singals (<ACRONYM +CLASS="ACRONYM" +>UDP</ACRONYM +> packets) + periodically to other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. Similarly watchdog also receives the signals + from other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> . + If there are no signal for a certain period, watchdog regards is as failure + of the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> . + </P +><P +> <TT +CLASS="LITERAL" +>query</TT +>: In this mode, watchdog sends the monitoring queries + to other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> and checks the response + <DIV +CLASS="CAUTION" +><P +></P +><TABLE +CLASS="CAUTION" +BORDER="1" +WIDTH="90%" +><TR +><TD +ALIGN="CENTER" +><B +>Caution</B +></TD +></TR +><TR +><TD +ALIGN="LEFT" +><P +> In query mode, you need to set <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +> + large enough if you plan to use watchdog. + This is because the watchdog process connects to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> as a client. + </P +></TD +></TR +></TABLE +></DIV +> + </P +><P +> <TT +CLASS="LITERAL" +>external</TT +>: This mode disables the built + in lifecheck of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog + and relies on external system to provide node health checking + of local and remote watchdog nodes. + </P +><P +> <TT +CLASS="LITERAL" +>external</TT +> mode is not available in versions prior to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-MONITORING-INTERFACES-LIST" +></A +><TT +CLASS="VARNAME" +>wd_monitoring_interfaces_list</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specify a comma separated list of network device names, to be monitored by the watchdog process + for the network link state. If all network interfaces in the list becomes inactive + (disabled or cable unplugged), the watchdog will consider it as a complete network failure + and the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node will commit the suicide. + Specifying an <TT +CLASS="LITERAL" +>''</TT +>(empty) list disables the network interface monitoring. + Setting it to <TT +CLASS="LITERAL" +>'any'</TT +> enables the monitoring on all available network interfaces + except the loopback. Default is <TT +CLASS="LITERAL" +>''</TT +> empty list (monitoring disabled). + </P +><P +> <TT +CLASS="VARNAME" +>wd_monitoring_interfaces_list</TT +> is not available in versions prior to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-INTERVAL" +></A +><TT +CLASS="VARNAME" +>wd_interval</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the interval between life checks of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + in seconds. (A number greater than or equal to 1) Default is 10. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-PRIORITY" +></A +><TT +CLASS="VARNAME" +>wd_priority</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> This parameter can be used to elevate the local watchdog node priority in the elections + to select master watchdog node. + The node with the higher <TT +CLASS="VARNAME" +>wd_priority</TT +> value will get selected + as master watchdog node when cluster will be electing its new master node + at the time of cluster startup or in the event of old master watchdog node failure + </P +><P +> <TT +CLASS="VARNAME" +>wd_priority</TT +> is not available in versions prior to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-IPC-SOCKET-DIR" +></A +><TT +CLASS="VARNAME" +>wd_ipc_socket_dir</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> The directory where the <ACRONYM +CLASS="ACRONYM" +>UNIX</ACRONYM +> domain socket + accepting <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + watchdog <ACRONYM +CLASS="ACRONYM" +>IPC</ACRONYM +> connections will be created. + Default is <TT +CLASS="LITERAL" +>'/tmp'</TT +>. + Be aware that this socket might be deleted by a cron job. + We recommend to set this value to <TT +CLASS="LITERAL" +>'/var/run'</TT +> or such directory. + </P +><P +> <TT +CLASS="VARNAME" +>wd_ipc_socket_dir</TT +> is not available in versions prior to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-LIFECHECK-HEARTBEAT" +>5.14.7. Lifecheck Heartbeat mode configuration</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-WD-HEARTBEAT-PORT" +></A +><TT +CLASS="VARNAME" +>wd_heartbeat_port</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the <ACRONYM +CLASS="ACRONYM" +>UDP</ACRONYM +> port number to receive heartbeat signals. + Default is 9694. + <TT +CLASS="VARNAME" +>wd_heartbeat_port</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-HEARTBEAT-KEEPALIVE" +></A +><TT +CLASS="VARNAME" +>wd_heartbeat_keepalive</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the interval time in seconds between sending the heartbeat signals. + <TT +CLASS="VARNAME" +>wd_heartbeat_port</TT +> is only applicable if the + <TT +CLASS="VARNAME" +>wd_lifecheck_method</TT +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-HEARTBEAT-DEADTIME" +></A +><TT +CLASS="VARNAME" +>wd_heartbeat_deadtime</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the time in seconds before marking the remote watchdog node as failed/dead node, + if no heartbeat signal is received within that time. + DDefault is <TT +CLASS="LITERAL" +>30</TT +> + <TT +CLASS="VARNAME" +>wd_heartbeat_deadtime</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-HEARTBEAT-DESTINATION" +></A +><TT +CLASS="VARNAME" +>heartbeat_destination0</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the <ACRONYM +CLASS="ACRONYM" +>IP</ACRONYM +> address or <ACRONYM +CLASS="ACRONYM" +>hostname</ACRONYM +> of destination the remote + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> for sending the heartbeat signals. + Multiple destinations can be configured for the heartbeat singnals, + the number at the end of the parameter name is + referred as the "destination number", that starts from 0. + </P +><P +> <TT +CLASS="VARNAME" +>heartbeat_destination</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-HEARTBEAT-DESTINATION-PORT" +></A +><TT +CLASS="VARNAME" +>heartbeat_destination_port0</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the destination port number for the heartbeat_destinationX of the remote + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> for sending the heartbeat signals. + Multiple destinations can be configured for the heartbeat singnals, + the number at the end of the parameter name is + referred as the "destination number", that starts from 0. + </P +><P +> <TT +CLASS="VARNAME" +>heartbeat_destination_port</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-HEARTBEAT-DEVICE" +></A +><TT +CLASS="VARNAME" +>heartbeat_device0</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the network device name for sending the heartbeat signals to the destination specified by + heartbeat_destinationX:heartbeat_destination_portX + Different heartbeat devices can be configured for each heartbeat destination + by changing the value of X(destination number) + at the end of parameter name. The destination index number starts from 0. + </P +><P +> <TT +CLASS="VARNAME" +>heartbeat_device</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'heartbeat'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-LIFECHECK-QUERY" +>5.14.8. Lifecheck Query mode configuration</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-WD-LIFE-POINT" +></A +><TT +CLASS="VARNAME" +>wd_life_point</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the number of times to retry a failed life check of pgpool-II. + Valid value could be a number greater than or equal to 1. + Default is 3. + </P +><P +> <TT +CLASS="VARNAME" +>wd_life_point</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'query'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-LIFECHECK-QUERY" +></A +><TT +CLASS="VARNAME" +>wd_lifecheck_query</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the query to use for the life check of remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Default is <TT +CLASS="LITERAL" +>"SELECT 1"</TT +>. + </P +><P +> <TT +CLASS="VARNAME" +>wd_lifecheck_query</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'query'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-LIFECHECK-DBNAME" +></A +><TT +CLASS="VARNAME" +>wd_lifecheck_dbname</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the database name for the connection used for the + life check of remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Default is <TT +CLASS="LITERAL" +>"template1"</TT +>. + </P +><P +> <TT +CLASS="VARNAME" +>wd_lifecheck_dbname</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'query'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-LIFECHECK-USER" +></A +><TT +CLASS="VARNAME" +>wd_lifecheck_user</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the user name for the connection used for the life + check of remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Default is <TT +CLASS="LITERAL" +>"nobody"</TT +>. + </P +><P +> <TT +CLASS="VARNAME" +>wd_lifecheck_user</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'query'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-WD-LIFECHECK-PASSWORD" +></A +><TT +CLASS="VARNAME" +>wd_lifecheck_password</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the password for the user used for the life check of remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Default is <TT +CLASS="LITERAL" +>''</TT +>(empty). + </P +><P +> <TT +CLASS="VARNAME" +>wd_lifecheck_password</TT +> is only applicable if the + <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +> is set to <TT +CLASS="LITERAL" +>'query'</TT +> + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="CONFIG-WATCHDOG-SERVER-CONFIGURATION" +>5.14.9. Watchdog servers configurations</A +></H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><A +NAME="GUC-OTHER-PGPOOL-HOSTNAME" +></A +><TT +CLASS="VARNAME" +>other_pgpool_hostname0</TT +> (<TT +CLASS="TYPE" +>string</TT +>) + </DT +><DD +><P +> Specifies the hostname of remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server for watchdog node. + The number at the end of the parameter name is referred as "server id", and it starts from 0. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-OTHER-PGPOOL-PORT" +></A +><TT +CLASS="VARNAME" +>other_pgpool_port0</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the port number of the remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + server for watchdog node. + The number at the end of the parameter name is referred + as "server id", and it starts from 0. + </P +><P +> This parameter can only be set at server start. + </P +></DD +><DT +><A +NAME="GUC-OTHER-WD-PORT" +></A +><TT +CLASS="VARNAME" +>other_wd_port0</TT +> (<TT +CLASS="TYPE" +>integer</TT +>) + </DT +><DD +><P +> Specifies the watchdog port number of the remote + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server for watchdog node. + The number at the end of the parameter name is referred + as "server id", and it starts from 0. + </P +><P +> This parameter can only be set at server start. + </P +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="runtime-ssl.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime-misc.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Secure Sockect Layer (SSL)</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="runtime-config.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Misc Configuration Parameters</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/runtime.html b/doc/src/sgml/html/runtime.html new file mode 100644 index 000000000..3ea83651e --- /dev/null +++ b/doc/src/sgml/html/runtime.html @@ -0,0 +1,215 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Server Setup and Operation</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="PREVIOUS" +TITLE="Setting up pgpool.conf" +HREF="setting-up-pgpool-conf.html"><LINK +REL="NEXT" +TITLE="The Pgpool-II User Account" +HREF="pgpool-ii-user.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Setting up pgpool.conf" +HREF="setting-up-pgpool-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="The Pgpool-II User Account" +HREF="pgpool-ii-user.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="RUNTIME" +></A +>Chapter 4. Server Setup and Operation</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>4.1. <A +HREF="pgpool-ii-user.html" +>The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> User Account</A +></DT +><DT +>4.2. <A +HREF="configuring-pcp-conf.html" +>Configuring pcp.conf</A +></DT +><DT +>4.3. <A +HREF="configuring-pgpool.html" +>Configuring pgpool</A +></DT +><DD +><DL +><DT +>4.3.1. <A +HREF="configuring-pgpool.html#CONFIGURING-PGPOOL-CONF" +>Configuring pgpool.conf</A +></DT +><DT +>4.3.2. <A +HREF="configuring-pgpool.html#RUNNING-MODE" +>Running mode of Pgpool-II</A +></DT +></DL +></DD +><DT +>4.4. <A +HREF="configuring-backend-info.html" +>Configuring backend information</A +></DT +></DL +></DIV +><P +> This chapter discusses how to set up and run the pgpool-II server + and its interactions with the operating system. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="setting-up-pgpool-conf.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="pgpool-ii-user.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Setting up pgpool.conf</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>The <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> User Account</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/setting-up-pgpool-conf.html b/doc/src/sgml/html/setting-up-pgpool-conf.html new file mode 100644 index 000000000..e66774553 --- /dev/null +++ b/doc/src/sgml/html/setting-up-pgpool-conf.html @@ -0,0 +1,248 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Setting up pgpool.conf</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Pgpool-II Installation from Source Code" +HREF="installation.html"><LINK +REL="PREVIOUS" +TITLE="Creating insert_lock table" +HREF="create-installlock-table.html"><LINK +REL="NEXT" +TITLE="Server Setup and Operation" +HREF="runtime.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Creating insert_lock table" +HREF="create-installlock-table.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> Installation from Source Code</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Server Setup and Operation" +HREF="runtime.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="SETTING-UP-PGPOOL-CONF" +>3.8. Setting up pgpool.conf</A +></H1 +><P +> For each <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> operation mode, + there are sample configurations. + </P +><DIV +CLASS="TABLE" +><A +NAME="PGPOOL-CONF-SAMPLES-TABLE" +></A +><P +><B +>Table 3-1. pgpool.conf samples</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><THEAD +><TR +><TH +>Operation mode</TH +><TH +>Configuration file name</TH +></TR +></THEAD +><TBODY +><TR +><TD +>Streaming replication mode</TD +><TD +><TT +CLASS="LITERAL" +>pgpool.conf.sample-stream</TT +></TD +></TR +><TR +><TD +>Replication mode</TD +><TD +><TT +CLASS="LITERAL" +>pgpool.conf.sample-replication</TT +></TD +></TR +><TR +><TD +>Master slave mode</TD +><TD +><TT +CLASS="LITERAL" +>pgpool.conf.sample-master-slave</TT +></TD +></TR +><TR +><TD +>Raw mode</TD +><TD +><TT +CLASS="LITERAL" +>pgpool.conf.sample</TT +> </TD +></TR +></TBODY +></TABLE +></DIV +><P +> These configuration files are located at /usr/local/etc with + default installtion from source code. + You can copy one of them as <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. + (probably you need root privilege for this) + </P><PRE +CLASS="PROGRAMLISTING" +># cd /usr/local/etc +# cp pgpool.conf.sample-stream pgpool.conf + </PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="create-installlock-table.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="runtime.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Creating insert_lock table</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="installation.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Server Setup and Operation</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-commands.html b/doc/src/sgml/html/sql-commands.html new file mode 100644 index 000000000..2cd700df9 --- /dev/null +++ b/doc/src/sgml/html/sql-commands.html @@ -0,0 +1,257 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SQL type commands</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Reference" +HREF="reference.html"><LINK +REL="PREVIOUS" +TITLE="watchdog_setup" +HREF="watchdog-setup.html"><LINK +REL="NEXT" +TITLE="PGPOOL SHOW" +HREF="sql-pgpool-show.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFERENCE" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="watchdog_setup" +HREF="watchdog-setup.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="PGPOOL SHOW" +HREF="sql-pgpool-show.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="REFERENCE" +><A +NAME="SQL-COMMANDS" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>III. SQL type commands</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN5080" +></A +><P +> This part contains reference information for various SQL type Pgpool-II commands. + These commands can be issued inside the SQL session using the standard PostgreSQL + client like <TT +CLASS="LITERAL" +>psql</TT +> and are not forwarded to the backend DB instead + are processed by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +>&nbsp;--&nbsp;show the value of a configuration parameter</DT +><DT +><A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +>&nbsp;--&nbsp;change a configuration parameter</DT +><DT +><A +HREF="sql-pgpool-reset.html" +>PGPOOL RESET</A +>&nbsp;--&nbsp;restore the value of a configuration parameter to the default value</DT +><DT +><A +HREF="sql-show-pgpool-status.html" +>SHOW PGPOOL STATUS</A +>&nbsp;--&nbsp; sends back the list of configuration parameters with their name, + value, and description + </DT +><DT +><A +HREF="sql-show-pool-nodes.html" +>SHOW POOL NODES</A +>&nbsp;--&nbsp; sends back a list of all configured nodes + </DT +><DT +><A +HREF="sql-show-pool-processes.html" +>SHOW POOL_PROCESSES</A +>&nbsp;--&nbsp; sends back a list of all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + processes waiting for connections and dealing with a connection + </DT +><DT +><A +HREF="sql-show-pool-pools.html" +>SHOW POOL_POOLS</A +>&nbsp;--&nbsp; sends back a list of pools handled + by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </DT +><DT +><A +HREF="sql-show-pool-version.html" +>SHOW POOL_VERSION</A +>&nbsp;--&nbsp; displays a string containing + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> release number. + </DT +><DT +><A +HREF="sql-show-pool-cache.html" +>SHOW POOL_CACHE</A +>&nbsp;--&nbsp; displays cache storage statistics + </DT +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="watchdog-setup.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-pgpool-show.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>watchdog_setup</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="reference.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>PGPOOL SHOW</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-pgpool-reset.html b/doc/src/sgml/html/sql-pgpool-reset.html new file mode 100644 index 000000000..80fd7060f --- /dev/null +++ b/doc/src/sgml/html/sql-pgpool-reset.html @@ -0,0 +1,307 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>PGPOOL RESET</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="PGPOOL SET" +HREF="sql-pgpool-set.html"><LINK +REL="NEXT" +TITLE="SHOW PGPOOL STATUS" +HREF="sql-show-pgpool-status.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="PGPOOL SET" +HREF="sql-pgpool-set.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW PGPOOL STATUS" +HREF="sql-show-pgpool-status.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-PGPOOL-RESET" +></A +>PGPOOL RESET</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5207" +></A +><H2 +>Name</H2 +>PGPOOL RESET&nbsp;--&nbsp;restore the value of a configuration parameter to the default value</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5210" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +>RESET <TT +CLASS="REPLACEABLE" +><I +>configuration_parameter</I +></TT +> +RESET ALL</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5213" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>PGPOOL RESET</TT +> command restores the value of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters to + the default value. + The default value is defined as the value that the parameter would have had, + if no <TT +CLASS="COMMAND" +>PGPOOL SET</TT +> had ever been issued for it in the + current session. + + This command is similar to the + <A +HREF="https://www.postgresql.org/docs/current/static/sql-reset.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>RESET</TT +></A +> command in PostgreSQL with an addition + of <ACRONYM +CLASS="ACRONYM" +>PGPOOL</ACRONYM +> keyword to distinguish it from the + PostgreSQL RESET command. + + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5222" +></A +><H2 +>Parameters</H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="REPLACEABLE" +><I +>configuration_parameter</I +></TT +></DT +><DD +><P +> Name of a settable <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameter. + Available parameters are + documented in <A +HREF="runtime-config.html" +>Chapter 5</A +>. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>ALL</TT +></DT +><DD +><P +> Resets all settable <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters to default values. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5238" +></A +><H2 +>Examples</H2 +><P +> Reset the value of client_idle_limit parameter: +</P><PRE +CLASS="SCREEN" +>PGPOOL RESET client_idle_limit;</PRE +><P></P +><P +> Reset the value of all parameter to default: +</P><PRE +CLASS="SCREEN" +>PGPOOL RESET ALL;</PRE +><P></P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5244" +></A +><H2 +>See Also</H2 +><A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +>, <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-pgpool-set.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pgpool-status.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>PGPOOL SET</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW PGPOOL STATUS</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-pgpool-set.html b/doc/src/sgml/html/sql-pgpool-set.html new file mode 100644 index 000000000..e36180fa9 --- /dev/null +++ b/doc/src/sgml/html/sql-pgpool-set.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>PGPOOL SET</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="PGPOOL SHOW" +HREF="sql-pgpool-show.html"><LINK +REL="NEXT" +TITLE="PGPOOL RESET" +HREF="sql-pgpool-reset.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="PGPOOL SHOW" +HREF="sql-pgpool-show.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="PGPOOL RESET" +HREF="sql-pgpool-reset.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-PGPOOL-SET" +></A +>PGPOOL SET</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5167" +></A +><H2 +>Name</H2 +>PGPOOL SET&nbsp;--&nbsp;change a configuration parameter</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5170" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +>SET <TT +CLASS="REPLACEABLE" +><I +>configuration_parameter</I +></TT +> { TO | = } { <TT +CLASS="REPLACEABLE" +><I +>value</I +></TT +> | '<TT +CLASS="REPLACEABLE" +><I +>value</I +></TT +>' | DEFAULT }</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5175" +></A +><H2 +>Description</H2 +><P +>&#13; The <TT +CLASS="COMMAND" +>PGPOOL SET</TT +> command changes the value of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters for the current session. + + This command is similar to the + <A +HREF="https://www.postgresql.org/docs/current/static/sql-set.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>SET</TT +></A +> command in PostgreSQL with an addition + of <ACRONYM +CLASS="ACRONYM" +>PGPOOL</ACRONYM +> keyword to distinguish it from the + PostgreSQL SET command. + Many of the configuration parameters listed in + <A +HREF="runtime-config.html" +>Chapter 5</A +> can be changed on-the-fly with + <TT +CLASS="COMMAND" +>PGPOOL SET</TT +> and it only affects the value used by the current + session. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5185" +></A +><H2 +>Examples</H2 +><P +> Change the value of client_idle_limit parameter: + </P><PRE +CLASS="PROGRAMLISTING" +>PGPOOL SET client_idle_limit = 350; + </PRE +><P> + </P +><P +> Reset the value of client_idle_limit parameter to default: + </P><PRE +CLASS="PROGRAMLISTING" +>PGPOOL SET client_idle_limit TO DEFAULT; + </PRE +><P> + </P +><P +> Change the value of log_min_messages parameter: + </P><PRE +CLASS="PROGRAMLISTING" +>PGPOOL SET log_min_messages TO INFO; + </PRE +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5193" +></A +><H2 +>See Also</H2 +><A +HREF="sql-pgpool-reset.html" +>PGPOOL RESET</A +>, <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-pgpool-show.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-pgpool-reset.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>PGPOOL SHOW</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>PGPOOL RESET</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-pgpool-show.html b/doc/src/sgml/html/sql-pgpool-show.html new file mode 100644 index 000000000..6dd0eaada --- /dev/null +++ b/doc/src/sgml/html/sql-pgpool-show.html @@ -0,0 +1,411 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>PGPOOL SHOW</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="NEXT" +TITLE="PGPOOL SET" +HREF="sql-pgpool-set.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SQL type commands" +HREF="sql-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="PGPOOL SET" +HREF="sql-pgpool-set.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-PGPOOL-SHOW" +></A +>PGPOOL SHOW</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5091" +></A +><H2 +>Name</H2 +>PGPOOL SHOW&nbsp;--&nbsp;show the value of a configuration parameter</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5094" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +>PGPOOL SHOW <TT +CLASS="REPLACEABLE" +><I +>configuration_parameter</I +></TT +> +PGPOOL SHOW <TT +CLASS="REPLACEABLE" +><I +>configuration_parameter_group</I +></TT +> +PGPOOL SHOW ALL</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5098" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>PGPOOL SHOW</TT +> will display the current value of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters. + + This command is similar to the + <A +HREF="https://www.postgresql.org/docs/current/static/sql-show.html" +TARGET="_top" +> <TT +CLASS="COMMAND" +>SHOW</TT +></A +> command in PostgreSQL with an addition + of <ACRONYM +CLASS="ACRONYM" +>PGPOOL</ACRONYM +> keyword to distinguish it from the + PostgreSQL SHOW command. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5106" +></A +><H2 +>Parameters</H2 +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="REPLACEABLE" +><I +>configuration_parameter</I +></TT +></DT +><DD +><P +> The name of a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameter. + Available parameters are documented in <A +HREF="runtime-config.html" +>Chapter 5</A +> + </P +></DD +><DT +><TT +CLASS="REPLACEABLE" +><I +>configuration_parameter_group</I +></TT +></DT +><DD +><P +> The name of the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameter group. + Currently there are three parameter groups. + </P +><P +></P +><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="LITERAL" +>backend</TT +></DT +><DD +><P +> Configuration group of all backend config parameters. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>other_pgpool</TT +></DT +><DD +><P +> Configuration group of all watchdog node config parameters. + </P +></DD +><DT +><TT +CLASS="LITERAL" +>heartbeat</TT +></DT +><DD +><P +> configuration group of all watchdog heartbeat node config parameters. + </P +></DD +></DL +></DIV +></DD +><DT +><TT +CLASS="LITERAL" +>ALL</TT +></DT +><DD +><P +> Show the values of all configuration parameters, with descriptions. + </P +></DD +></DL +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5143" +></A +><H2 +>Examples</H2 +><P +> Show the current setting of the parameter <TT +CLASS="VARNAME" +>port</TT +>: + +</P><PRE +CLASS="PROGRAMLISTING" +>PGPOOL SHOW port; +port +------ +9999 +(1 row)</PRE +><P> + </P +><P +> Show the current setting of the parameter <TT +CLASS="VARNAME" +>black_function_list</TT +>: +</P><PRE +CLASS="PROGRAMLISTING" +>PGPOOL SHOW black_function_list; + black_function_list + --------------------- + nextval,setval + (1 row)</PRE +><P> + </P +><P +> Show the current settings of all the configuration parameters belonging to backend group: +</P><PRE +CLASS="PROGRAMLISTING" +> PGPOOL SHOW backend; + item | value | description + -------------------------+-------------------------+----------------------------------------------------------- + backend_hostname0 | 127.0.0.1 | hostname or IP address of PostgreSQL backend. + backend_port0 | 5434 | port number of PostgreSQL backend. + backend_weight0 | 0 | load balance weight of backend. + backend_data_directory0 | /var/lib/pgsql/data | data directory of the backend. + backend_flag0 | ALLOW_TO_FAILOVER | Controls various backend behavior. + backend_hostname1 | 127.0.0.1 | hostname or IP address of PostgreSQL backend. + backend_port1 | 5432 | port number of PostgreSQL backend. + backend_weight1 | 1 | load balance weight of backend. + backend_data_directory1 | /home/work/installed/pg | data directory of the backend. + backend_flag1 | ALLOW_TO_FAILOVER | Controls various backend behavior. + (10 rows)</PRE +><P></P +><P +> Show all settings: +</P><PRE +CLASS="PROGRAMLISTING" +> PGPOOL SHOW ALL; + item | value | description + -------------------------+-------------------------+----------------------------------------------------------- + backend_hostname0 | 127.0.0.1 | hostname or IP address of PostgreSQL backend. + backend_port0 | 5434 | port number of PostgreSQL backend. + backend_weight0 | 0 | load balance weight of backend. + backend_data_directory0 | /var/lib/pgsql/data | data directory of the backend. + backend_flag0 | ALLOW_TO_FAILOVER | Controls various backend behavior. + backend_hostname1 | 127.0.0.1 | hostname or IP address of PostgreSQL backend. + backend_port1 | 5432 | port number of PostgreSQL backend. + backend_weight1 | 1 | load balance weight of backend. + backend_data_directory1 | /home/work/installed/pg | data directory of the backend. + backend_flag1 | ALLOW_TO_FAILOVER | Controls various backend behavior. + other_pgpool_hostname0 | localhost | Hostname of other pgpool node for watchdog connection. + . + . + . + ssl | off | Enables SSL support for frontend and backend connections + (138 rows)&#13;</PRE +><P></P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5155" +></A +><H2 +>See Also</H2 +><A +HREF="sql-pgpool-set.html" +>PGPOOL SET</A +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-pgpool-set.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SQL type commands</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>PGPOOL SET</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pgpool-status.html b/doc/src/sgml/html/sql-show-pgpool-status.html new file mode 100644 index 000000000..24f446afb --- /dev/null +++ b/doc/src/sgml/html/sql-show-pgpool-status.html @@ -0,0 +1,222 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW PGPOOL STATUS</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="PGPOOL RESET" +HREF="sql-pgpool-reset.html"><LINK +REL="NEXT" +TITLE="SHOW POOL NODES" +HREF="sql-show-pool-nodes.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="PGPOOL RESET" +HREF="sql-pgpool-reset.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW POOL NODES" +HREF="sql-show-pool-nodes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-PGPOOL-STATUS" +></A +>SHOW PGPOOL STATUS</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5258" +></A +><H2 +>Name</H2 +>SHOW PGPOOL STATUS&nbsp;--&nbsp; sends back the list of configuration parameters with their name, + value, and description + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5261" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_STATUS + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5263" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW POOL_STATUS</TT +> displays the current value of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters. + </P +><P +> This command is similar to the + <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +> command, but this is the older + version of it. It is recommended to + use <A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +> instead. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5271" +></A +><H2 +>See Also</H2 +><A +HREF="sql-pgpool-show.html" +>PGPOOL SHOW</A +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-pgpool-reset.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pool-nodes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>PGPOOL RESET</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW POOL NODES</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pool-cache.html b/doc/src/sgml/html/sql-show-pool-cache.html new file mode 100644 index 000000000..2253a2ec1 --- /dev/null +++ b/doc/src/sgml/html/sql-show-pool-cache.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW POOL_CACHE</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SHOW POOL_VERSION" +HREF="sql-show-pool-version.html"><LINK +REL="NEXT" +TITLE="Appendixes" +HREF="appendixes.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW POOL_VERSION" +HREF="sql-show-pool-version.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Appendixes" +HREF="appendixes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-POOL-CACHE" +></A +>SHOW POOL_CACHE</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5425" +></A +><H2 +>Name</H2 +>SHOW POOL_CACHE&nbsp;--&nbsp; displays cache storage statistics + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5428" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_CACHE + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5430" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW POOL_CACHE</TT +> + displays <A +HREF="runtime-in-memory-query-cache.html" +>in memory + query cache </A +> statistics if in memory query cache is + enabled. Here is an example session: +</P><PRE +CLASS="PROGRAMLISTING" +>test=# \x +\x +Expanded display is on. +test=# show pool_cache; +show pool_cache; +-[ RECORD 1 ]---------------+--------- +num_cache_hits | 891703 +num_selects | 99995 +cache_hit_ratio | 0.90 +num_hash_entries | 131072 +used_hash_entries | 99992 +num_cache_entries | 99992 +used_cache_enrties_size | 12482600 +free_cache_entries_size | 54626264 +fragment_cache_entries_size | 0</PRE +><P> + + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pool-version.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="appendixes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW POOL_VERSION</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Appendixes</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pool-nodes.html b/doc/src/sgml/html/sql-show-pool-nodes.html new file mode 100644 index 000000000..903c8686b --- /dev/null +++ b/doc/src/sgml/html/sql-show-pool-nodes.html @@ -0,0 +1,232 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW POOL NODES</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SHOW PGPOOL STATUS" +HREF="sql-show-pgpool-status.html"><LINK +REL="NEXT" +TITLE="SHOW POOL_PROCESSES" +HREF="sql-show-pool-processes.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW PGPOOL STATUS" +HREF="sql-show-pgpool-status.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW POOL_PROCESSES" +HREF="sql-show-pool-processes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-POOL-NODES" +></A +>SHOW POOL NODES</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5283" +></A +><H2 +>Name</H2 +>SHOW POOL_NODES&nbsp;--&nbsp; sends back a list of all configured nodes + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5286" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_NODES + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5288" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW POOL_NODES</TT +> displays the node id, the + hostname, the port, the status, the weight (only meaningful if + you use the load balancing mode), the role, the SELECT query + counts issued to each backend, whether each node is the load + bakance node or not, and the replication delay (only if in + streaming replication mode). The possible values in the status + column are explained in the <A +HREF="pcp-node-info.html" +>pcp_node_info</A +> + reference. If the hostname is something like "/tmp", that means + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is connecting to backend by + using UNIX domain sockets. The SELECT count does not include + internal queries used + by <SPAN +CLASS="PRODUCTNAME" +>Pgoool-II</SPAN +>. Also the counters are + reset to zero upon starting up of pgpool-II. displays the + current value of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> configuration parameters. + </P +><P +> Here is an example session: +</P><PRE +CLASS="PROGRAMLISTING" +>test=# show pool_nodes; + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 0 | true | 0 +(2 rows)</PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pgpool-status.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pool-processes.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW PGPOOL STATUS</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW POOL_PROCESSES</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pool-pools.html b/doc/src/sgml/html/sql-show-pool-pools.html new file mode 100644 index 000000000..3b11ad455 --- /dev/null +++ b/doc/src/sgml/html/sql-show-pool-pools.html @@ -0,0 +1,595 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW POOL_POOLS</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SHOW POOL_PROCESSES" +HREF="sql-show-pool-processes.html"><LINK +REL="NEXT" +TITLE="SHOW POOL_VERSION" +HREF="sql-show-pool-version.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW POOL_PROCESSES" +HREF="sql-show-pool-processes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW POOL_VERSION" +HREF="sql-show-pool-version.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-POOL-POOLS" +></A +>SHOW POOL_POOLS</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5346" +></A +><H2 +>Name</H2 +>SHOW POOL_POOLS&nbsp;--&nbsp; sends back a list of pools handled + by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5350" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_POOLS + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5352" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW pool_pools</TT +> sends back a list of pools + handled by + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + </P +><P +> It has 11 columns: + <P +></P +></P><UL +><LI +><P +> <TT +CLASS="LITERAL" +>pool_pid</TT +> is the PID of the + displayed <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>start_time</TT +> is the timestamp of when + this process was launched. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>pool_id</TT +> is the pool identifier (should + be between 0 and <A +HREF="runtime-config-connection-pooling.html#GUC-MAX-POOL" +>max_pool</A +> - 1) + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>backend_id</TT +> is the backend identifier (should + be between 0 and the number of configured backends minus one) + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>database</TT +> is the database name for this + process's pool id connection. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>username</TT +> is the user name for this + process's pool id connection. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>create_time</TT +> is the creation time and + date of the connection. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>majorversion</TT +> + and <TT +CLASS="LITERAL" +>minorversion</TT +> are the protocol + version numbers used in this connection. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>pool_counter</TT +> counts the number of times + this pool of connections (process) has been used by + clients. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>pool_backendpid</TT +> is the PID of the + PostgreSQL process. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>pool_connected</TT +> is true (1) if a + frontend is currently using this backend. + </P +></LI +></UL +><P> + </P +><P +> It'll always return <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +> * <A +HREF="runtime-config-connection-pooling.html#GUC-MAX-POOL" +>max_pool</A +> * + number_of_backends lines. Here is an example session: +</P><PRE +CLASS="PROGRAMLISTING" +>test=# show pool_pools; + pool_pid | start_time | pool_id | backend_id | database | username | create_time | majorversion | minorversion | pool_counter | pool_backendpid | pool_connected +----------+---------------------+---------+------------+----------+----------+---------------------+--------------+--------------+--------------+-----------------+---------------- + 19696 | 2016-10-17 13:24:17 | 0 | 0 | postgres | t-ishii | 2016-10-17 13:35:12 | 3 | 0 | 1 | 20079 | 1 + 19696 | 2016-10-17 13:24:17 | 0 | 1 | postgres | t-ishii | 2016-10-17 13:35:12 | 3 | 0 | 1 | 20080 | 1 + 19696 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19696 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19696 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19696 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19696 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19696 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19697 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19698 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19699 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19700 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19701 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19702 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19703 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19704 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19705 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19706 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19707 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19708 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19709 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19710 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19711 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19712 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19713 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19714 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19715 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19716 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19717 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19718 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19719 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19720 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 0 | 0 | test | t-ishii | 2016-10-17 14:30:53 | 3 | 0 | 1 | 22055 | 1 + 20024 | 2016-10-17 13:33:46 | 0 | 1 | test | t-ishii | 2016-10-17 14:30:53 | 3 | 0 | 1 | 22056 | 1 + 20024 | 2016-10-17 13:33:46 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20024 | 2016-10-17 13:33:46 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 20600 | 2016-10-17 13:46:58 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19723 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19724 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19725 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19726 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 0 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 0 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 1 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 1 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 2 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 2 | 1 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 3 | 0 | | | | 0 | 0 | 0 | 0 | 0 + 19727 | 2016-10-17 13:24:17 | 3 | 1 | | | | 0 | 0 | 0 | 0 | 0 +(256 rows)</PRE +><P> + + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pool-processes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pool-version.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW POOL_PROCESSES</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW POOL_VERSION</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pool-processes.html b/doc/src/sgml/html/sql-show-pool-processes.html new file mode 100644 index 000000000..c433a11ba --- /dev/null +++ b/doc/src/sgml/html/sql-show-pool-processes.html @@ -0,0 +1,312 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW POOL_PROCESSES</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SHOW POOL NODES" +HREF="sql-show-pool-nodes.html"><LINK +REL="NEXT" +TITLE="SHOW POOL_POOLS" +HREF="sql-show-pool-pools.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW POOL NODES" +HREF="sql-show-pool-nodes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW POOL_POOLS" +HREF="sql-show-pool-pools.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-POOL-PROCESSES" +></A +>SHOW POOL_PROCESSES</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5305" +></A +><H2 +>Name</H2 +>SHOW POOL_PROCESSES&nbsp;--&nbsp; sends back a list of all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + processes waiting for connections and dealing with a connection + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5309" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_PROCESSES + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5311" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW pool_processes</TT +> sends back a list of all + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> processes waiting for + connections and dealing with a connection. + </P +><P +> It has 6 columns: + <P +></P +></P><UL +><LI +><P +> <TT +CLASS="LITERAL" +>pool_pid</TT +> is the PID of the + displayed <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> process. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>start_time</TT +> is the timestamp of when + this process was launched. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>database</TT +> is the database name of the + currently active backend for this process. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>username</TT +> is the user name used in the + connection of the currently active backend for this + process. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>create_time</TT +> is the creation time and + date of the connection. + </P +></LI +><LI +><P +> <TT +CLASS="LITERAL" +>pool_counter</TT +> counts the number of times + this pool of connections (process) has been used by + clients. + </P +></LI +></UL +><P> + </P +><P +> Here is an example session: +</P><PRE +CLASS="PROGRAMLISTING" +>test=# show pool_processes; + pool_pid | start_time | database | username | create_time | pool_counter +----------+---------------------+----------+----------+---------------------+-------------- + 19696 | 2016-10-17 13:24:17 | postgres | t-ishii | 2016-10-17 13:35:12 | 1 + 19697 | 2016-10-17 13:24:17 | | | | + 19698 | 2016-10-17 13:24:17 | | | | + 19699 | 2016-10-17 13:24:17 | | | | + 19700 | 2016-10-17 13:24:17 | | | | + 19701 | 2016-10-17 13:24:17 | | | | + 19702 | 2016-10-17 13:24:17 | | | | + 19703 | 2016-10-17 13:24:17 | | | | + 19704 | 2016-10-17 13:24:17 | | | | + 19705 | 2016-10-17 13:24:17 | | | | + 19706 | 2016-10-17 13:24:17 | | | | + 19707 | 2016-10-17 13:24:17 | | | | + 19708 | 2016-10-17 13:24:17 | | | | + 19709 | 2016-10-17 13:24:17 | | | | + 19710 | 2016-10-17 13:24:17 | | | | + 19711 | 2016-10-17 13:24:17 | | | | + 19712 | 2016-10-17 13:24:17 | | | | + 19713 | 2016-10-17 13:24:17 | | | | + 19714 | 2016-10-17 13:24:17 | | | | + 19715 | 2016-10-17 13:24:17 | | | | + 19716 | 2016-10-17 13:24:17 | | | | + 19717 | 2016-10-17 13:24:17 | | | | + 19718 | 2016-10-17 13:24:17 | | | | + 19719 | 2016-10-17 13:24:17 | | | | + 19720 | 2016-10-17 13:24:17 | | | | + 20024 | 2016-10-17 13:33:46 | | | | + 19722 | 2016-10-17 13:24:17 | test | t-ishii | 2016-10-17 13:34:42 | 1 + 19723 | 2016-10-17 13:24:17 | | | | + 19724 | 2016-10-17 13:24:17 | | | | + 19725 | 2016-10-17 13:24:17 | | | | + 19726 | 2016-10-17 13:24:17 | | | | + 19727 | 2016-10-17 13:24:17 | | | | +(32 rows)</PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pool-nodes.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pool-pools.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW POOL NODES</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW POOL_POOLS</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/sql-show-pool-version.html b/doc/src/sgml/html/sql-show-pool-version.html new file mode 100644 index 000000000..e72dc2a56 --- /dev/null +++ b/doc/src/sgml/html/sql-show-pool-version.html @@ -0,0 +1,212 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>SHOW POOL_VERSION</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="PREVIOUS" +TITLE="SHOW POOL_POOLS" +HREF="sql-show-pool-pools.html"><LINK +REL="NEXT" +TITLE="SHOW POOL_CACHE" +HREF="sql-show-pool-cache.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="SHOW POOL_POOLS" +HREF="sql-show-pool-pools.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SHOW POOL_CACHE" +HREF="sql-show-pool-cache.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SQL-SHOW-POOL-VERSION" +></A +>SHOW POOL_VERSION</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN5406" +></A +><H2 +>Name</H2 +>SHOW POOL_VERSION&nbsp;--&nbsp; displays a string containing + the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> release number. + </DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN5410" +></A +><H2 +>Synopsis</H2 +><PRE +CLASS="SYNOPSIS" +> SHOW POOL_VERSION + </PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5412" +></A +><H2 +>Description</H2 +><P +> <TT +CLASS="COMMAND" +>SHOW pool_version</TT +> displays a string + containing the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> release + number. Here is an example session: +</P><PRE +CLASS="PROGRAMLISTING" +>test=# show pool_version; + pool_version +-------------------------- + 3.6.0 (subaruboshi) +(1 row)</PRE +><P> + + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sql-show-pool-pools.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-show-pool-cache.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SHOW POOL_POOLS</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SHOW POOL_CACHE</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/stylesheet.css b/doc/src/sgml/html/stylesheet.css new file mode 100644 index 000000000..c4e185f0e --- /dev/null +++ b/doc/src/sgml/html/stylesheet.css @@ -0,0 +1,303 @@ +/* doc/src/sgml/stylesheet.css */ + +/* color scheme similar to www.postgresql.org */ + +@media screen and (min-width: 641px) { + BODY > * { + width: 90%; + margin: auto !important; + display: block; + text-align: left; + } +} + +BODY { + color: #000000; + background: #FFFFFF; + font-family: verdana, sans-serif; +} + +script { + display: none; +} + +A:link { color:#0085B0; } +A:visited { color:#004E66; } +A:active { color:#0085B0; } +A:hover { color:#000000; } + +p i, pre i, .emphasis em { + font-style: normal; + font-weight: bold; + color: #440000; +} + +.replaceable code { + font-style: italic; +} + +pre strong { + white-space: nowrap; +} + +p span, pre span, p acronym, pre acronym { + font-style: normal; + color: #440000; +} + +p tt, pre tt { + font-family: monospace; + color: #440000; +} + +H1 { + font-size: 1.4em; + font-weight: bold; + margin-top: 0em; + margin-bottom: 0em; + color: #EC5800; +} + +H2 { + font-size: 1.3em; + margin: 1.2em 0em 1.2em 0em; + font-weight: bold; + color: #EC5800; +} + +H3 { + font-size: 1.2em; + margin: 1.2em 0em 1.2em 0em; + font-weight: bold; + color: #EC5800; +} + +H4 { + font-size: 1.1em; + margin: 1.2em 0em 1.2em 0em; + font-weight: normal; + font-weight: bold; + color: #EC5800; +} + +H5 { + font-size: 0.9em; + margin: 1.2em 0em 1.2em 0em; + font-weight: normal; +} + +H6 { + font-size: 0.85em; + margin: 1.2em 0em 1.2em 0em; + font-weight: normal; +} + +p { + line-height: 1.3; +} + +/* center some titles */ + +.BOOK .TITLE, .BOOK .CORPAUTHOR, .BOOK .COPYRIGHT, .book .titlepage { + text-align: center; +} + +/* decoration for formal examples */ +DIV.EXAMPLE, div.example { + padding-left: 15px; + border-style: solid; + border-width: 0px; + border-left-width: 2px; + border-color: black; + margin: 0.5ex; +} + +BLOCKQUOTE.NOTE, BLOCKQUOTE.TIP, table.CAUTION, table.WARNING, div.note, div.tip, div.important, div.caution, div.warning, div.blockquote { + margin: 4ex auto; + color: black; + display: block; + border-color: #DBDBCC; + background-color: #EED; + padding: 14px; + max-width: 720px; + border-width: 1px; + border-style: solid; + overfileow: auto; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + -khtml-border-radius: 8px; + border-radius: 8px; +} + +/* less dense spacing of TOC */ + +.BOOK .TOC DL DT { + padding-top: 1.0ex; + padding-bottom: 1.0ex; +} + +.BOOK .TOC DL DL DT { + padding-top: 0.2ex; + padding-bottom: 0.2ex; +} + +/* miscellaneous */ + +PRE.LITERALLAYOUT, .SCREEN, .SYNOPSIS, .PROGRAMLISTING, pre.literallayout, pre.screen, pre.synopsis, pre.programlisting { + margin-left: 4ex; + border-color: #CFCFCF; + background-color: #F7F7F7; + color: #000; + border-width: 1px; + border-style: solid; + padding: 2ex; + margin: 2ex 0px 2ex 2ex; + overflow: auto; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + -khtml-border-radius: 8px; + border-radius: 8px; +} + +/* shadow */ + +PRE.LITERALLAYOUT, PRE.SCREEN, PRE.SYNOPSIS, PRE.PROGRAMLISTING, BLOCKQUOTE.NOTE, BLOCKQUOTE.TIP, table.CAUTION, table.CALSTABLE, table.WARNING, pre.literallayout, pre.screen, pre.synopsis, pre.programlisting, div.note, div.tip, table.caution, table.calstable, table.warning, div.blockquote, .informaltable table, .table-contents table { + -moz-box-shadow: 3px 3px 5px #DFDFDF; + -webkit-box-shadow: 3px 3px 5px #DFDFDF; + -khtml-box-shadow: 3px 3px 5px #DFDFDF; + -o-box-shadow: 3px 3px 5px #DFDFDF; + box-shadow: 3px 3px 5px #DFDFDF; +} + +/* Table Styles */ + +.table-contents table, +.informaltable table, +table.CALSTABLE, +table.CAUTION, +table.WARNING { + border-spacing: 0; + border-collapse: collapse; +} + +.table-contents table, +.informaltable table, +table.CALSTABLE { + margin: 2ex 0 2ex 2ex; + background-color: #E0ECEF; + border: 2px solid #A7C6DF; +} + +table.CAUTION, +table.WARNING { + border-collapse: separate; + display: block; + padding: 0; +} + +table.CAUTION { + background-color: #F5F5DC; + border-color: #DEDFA7; +} + +table.WARNING, div.warning { + background-color: #FFD7D7; + border-color: #DF421E; +} + +table.CALSTABLE td, +table.CALSTABLE th, +table.CAUTION td, +table.CAUTION th, +table.WARNING td, +table.WARNING th { + border-style: solid; +} + +table.CAUTION td, +table.CAUTION th, +table.WARNING td, +table.WARNING th { + border-width: 0; + padding-left: 2ex; + padding-right: 2ex; +} + +table.WARNING td { + padding-top: 7px; +} + +.table-contents table td, +table.CALSTABLE td { + background-color: #FFF; +} + +table.CAUTION td, +table.CAUTION th { + border-color: #f3e4d5; +} + +table.WARNING td, +table.WARNING th { + border-color: #ffd7d7; +} + +.table-contents table, .table-contents td, .table-contents th{ + border: 1px solid #a7c6df; + padding: 0.5ex 0.5ex; +} + +.table-contents table td, +.table-contents table th, +.informaltable table td, +.informaltable table th, +table.CALSTABLE td, +table.CALSTABLE th { + border: 1px solid #a7c6df; + padding: 0.5ex 0.5ex; +} + +.informaltable table td { + background-color: #FFF; +} + +.table-contents table tr:hover td, +.informaltable table tr:hover td, +table.CALSTABLE tr:hover td { + background-color: #EFEFEF; +} + +td.c1, +td.c2, +td.c3, +td.c4, +td.c5, +td.c6 { + font-size: 1.1em; + font-weight: bold; + border-bottom: 0 solid #ffefef; + padding: 1ex 2ex 0; +} + +table.simplelist { + border-collapse: collapse; +} +table.simplelist th, table.simplelist td { + border: 1px solid #ccc; + padding: 10px; +} + +.original { + display: block; + color: #008800; +} + +.actions { + font-size: 65%; +} + +.COMMENT,.comment { color: red; } + +VAR { font-family: monospace; font-style: italic; } +/* Konqueror's standard style for ACRONYM is italic. */ +ACRONYM { font-style: inherit; } diff --git a/doc/src/sgml/html/tutorial-advanced-arch.html b/doc/src/sgml/html/tutorial-advanced-arch.html new file mode 100644 index 000000000..2ccd93b47 --- /dev/null +++ b/doc/src/sgml/html/tutorial-advanced-arch.html @@ -0,0 +1,440 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Architecure of the watchdog</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="PREVIOUS" +TITLE="Restrictions on watchdog" +HREF="tutorial-watchdog-restrictions.html"><LINK +REL="NEXT" +TITLE="Server Administration" +HREF="admin.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Restrictions on watchdog" +HREF="tutorial-watchdog-restrictions.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 2. Watchdog</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Server Administration" +HREF="admin.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-ADVANCED-ARCH" +>2.4. Architecure of the watchdog</A +></H1 +><P +> Watchdog is a sub process of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, + which adds the high availability and resolves the single point of + failure by coordinating multiple <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + The watchdog process automatically starts (if enabled) when the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> starts up and consists of two + main components, Watchdog core and the lifecheck system. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-ADVANCED-ARCH-WD-CORE" +>2.4.1. Watchdog Core</A +></H2 +><P +> Watchdog core referred as a "watchdog" is a + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> child process that + manages all the watchdog related communications with the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes present in the + cluster and also communicates with the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + parent and lifecheck processes. + </P +><P +> The heart of a watchdog process is a state machine that starts + from its initial state (<TT +CLASS="LITERAL" +>WD_LOADING</TT +>) and transit + towards either standby (<TT +CLASS="LITERAL" +>WD_STANDBY</TT +>) or + master/coordinator (<TT +CLASS="LITERAL" +>WD_COORDINATOR</TT +>) state. + Both standby and master/coordinator states are stable states of the + watchdog state machine and the node stays in standby or + master/coordinator state until some problem in local + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node is detected or a + remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> disconnects from the cluster. + </P +><P +> The watchdog process performs the following tasks: + </P +><P +></P +><UL +><LI +><P +> Manages and coordinates the local node watchdog state. + </P +></LI +><LI +><P +> Interacts with built-in or external lifecheck system + for the of local and remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + node health checking. + </P +></LI +><LI +><P +> Interacts with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> main + process and provides the mechanism to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> parent process for + executing the cluster commands over the watchdog channel. + </P +></LI +><LI +><P +> Communicates with all the participating <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> nodes to coordinate the selection of + master/coordinator node and to ensure the quorum in the cluster. + </P +></LI +><LI +><P +> Manages the Virtual-IP on the active/coordinator node and + allow the users to provide custom scripts for + escalation and de-escalation. + </P +></LI +><LI +><P +> Verifies the consistency of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + configurations across the participating <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> nodes in the watchdog cluster. + </P +></LI +><LI +><P +> Synchronize the status of all PostgreSQL backends at startup. + </P +></LI +><LI +><P +> Provides the distributed locking facility to + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> main process + for synchronizing the different failover commands. + </P +></LI +></UL +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="TUTORIAL-ADVANCED-ARCH-WD-CORE-COMM" +>2.4.1.1. Communication with other nodes in the Cluster</A +></H3 +><P +> Watchdog uses TCP/IP sockets for all the communication with other nodes. + Each watchdog node can have two sockets opened with each node. One is the + outgoing (client) socket which this node creates and initiate the + connection to the remote node and the second socket is the one which + is listening socket for inbound connection initiated by remote + watchdog node. As soon as the socket connection to remote node succeeds + watchdog sends the ADD NODE (<TT +CLASS="LITERAL" +>WD_ADD_NODE_MESSAGE</TT +>) + message on that socket. And upon receiving the ADD NODE message the + watchdog node verifies the node information encapsulated in the message + with the Pgpool-II configurations for that node, and if the node passes + the verification test it is added to the cluster otherwise the connection + is dropped. + </P +></DIV +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="TUTORIAL-ADVANCED-ARCH-WD-IPC-DATA" +>2.4.1.2. IPC and data format</A +></H3 +><P +> Watchdog process exposes a <ACRONYM +CLASS="ACRONYM" +>UNIX</ACRONYM +> domain socket + for IPC communications, which accepts and provides the data in + <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format. All the internal <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> processes, including <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II's</SPAN +> + built-in lifecheck and <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> main process + uses this IPC socket interface to interact with the watchdog. + This IPC socket can also be used by any external/3rd party system + to interact with watchdog. + </P +><P +> See <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +>Section 2.2</A +> for details + on how to use watchdog IPC interface for integrating external/3rd party systems. + </P +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-ADVANCED-ARCH-WD-LIFECHECK" +>2.4.2. Watchdog Lifecheck</A +></H2 +><P +> Watchdog lifecheck is the sub-component of watchdog that monitors the health + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes participating in the watchdog + cluster. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog provides two built-in + methods of remote node health checking, "heartbeat" and "query" mode. + </P +><P +> In "heartbeat" mode, The lifecheck process sends and receives the data over + <ACRONYM +CLASS="ACRONYM" +>UDP</ACRONYM +> socket to check the availability of remote nodes and + for each node the parent lifecheck process spawns two child process one for + sending the heartbeat signal and another for receiving the heartbeat. + While in "query" mode, The lifecheck process uses the PostgreSQL libpq + interface for querying the remote <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + And in this mode the lifecheck process creates a new thread for each health + check query which gets destroyed as soon as the query finishes. + </P +><P +> Apart from remote node health checking watchdog lifecheck can also check the + health of node it is installed on by monitoring the connection to upstream servers. + For monitoring the connectivity to the upstream server <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II + </SPAN +> lifecheck uses <TT +CLASS="LITERAL" +>execv()</TT +> function to executes + <TT +CLASS="COMMAND" +>'ping -q -c3 hostname'</TT +> command. + So a new child process gets spawned for executing each ping command. + This means for each health check cycle a child process gets created and + destroyed for each configured upstream server. + For example, If two upstream servers are configured in the lifecheck and it is + asked to health check at ten second intervals, then after each ten second + lifecheck will spawn two child processes, one for each upstream server, + and each process will live until the ping command is finished. + </P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog-restrictions.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="admin.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Restrictions on watchdog</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Server Administration</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-arch.html b/doc/src/sgml/html/tutorial-arch.html new file mode 100644 index 000000000..5d499bcfd --- /dev/null +++ b/doc/src/sgml/html/tutorial-arch.html @@ -0,0 +1,271 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Architectural Fundamentals</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Testing Online Recovery" +HREF="tutorial-testing-online-recovery.html"><LINK +REL="NEXT" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Testing Online Recovery" +HREF="tutorial-testing-online-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Watchdog" +HREF="tutorial-watchdog.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-ARCH" +>1.7. Architectural Fundamentals</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is a proxy server sitting + between clients and <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>. + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> understands the wire level + protocol used by <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> called + "frontend and backend protocol". For more details of the + protocol, see the <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> manual. + No modified <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> is required to + use <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> (more precisely, you + will need a few extensions to use full functions + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>). So <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + can cope with variety of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + versions. In theory, even the earliest version + of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> can be used + with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. Same thing can be + said to client side. As long as it follows the + protocol, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> happily accept + connections from it, no matter what kind of languages or drivers + it uses. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> consists of multiple + process. There is a main process, which is the parent process of + all other process. It is responsible for forking child process + each of which accepts connections from clients. There are some + worker process those are forked from the main process as well, + which is responsible for detecting streaming replication + delay. There is also a special process called "pcp process", + which is solely used for management + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + itself. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> has a built-in high + availability function called "watchdog". Watchdog consists of + some process. For more details of watchdog, + see <A +HREF="tutorial-watchdog.html" +>Chapter 2</A +>. + </P +><P +> <DIV +CLASS="FIGURE" +><A +NAME="AEN344" +></A +><P +><B +>Figure 1-1. Process architecure of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +></B +></P +><DIV +CLASS="MEDIAOBJECT" +><P +><IMG +SRC="process-diagram.gif"></P +></DIV +></DIV +> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-testing-online-recovery.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Testing Online Recovery</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Watchdog</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-install.html b/doc/src/sgml/html/tutorial-install.html new file mode 100644 index 000000000..095ed9723 --- /dev/null +++ b/doc/src/sgml/html/tutorial-install.html @@ -0,0 +1,187 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Installation</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="NEXT" +TITLE="Your First Replication" +HREF="tutorial-replication.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Getting Started" +HREF="tutorial-start.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Your First Replication" +HREF="tutorial-replication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-INSTALL" +>1.1. Installation</A +></H1 +><P +> In this section we assume that you have already + installed <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> following an + instruction described in <A +HREF="admin.html" +>Part II</A +>. + Alternatively you can use <A +HREF="pgpool-setup.html" +>pgpool_setup</A +> to + create a temporary installation + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + and <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +>. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-replication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Getting Started</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Your First Replication</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-replication.html b/doc/src/sgml/html/tutorial-replication.html new file mode 100644 index 000000000..ea5905668 --- /dev/null +++ b/doc/src/sgml/html/tutorial-replication.html @@ -0,0 +1,269 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Your First Replication</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Installation" +HREF="tutorial-install.html"><LINK +REL="NEXT" +TITLE="Testing Load Balance" +HREF="tutorial-testing-load-balance.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Installation" +HREF="tutorial-install.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Testing Load Balance" +HREF="tutorial-testing-load-balance.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-REPLICATION" +>1.2. Your First Replication</A +></H1 +><P +> In this section we are going to explain how to manage a + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> cluster with streaming + replication using <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, which is + one of most common setup. + </P +><P +> Before going further, you should properly set + up <TT +CLASS="FILENAME" +>pgpool.conf</TT +> with streaming replication + mode. For this at least + following two directives must be set: + </P><PRE +CLASS="PROGRAMLISTING" +>master_slave_mode = on +master_slave_sub_mode = 'stream' + </PRE +><P> + </P +><P +> If you plan to use <TT +CLASS="COMMAND" +>pgpool_setup</TT +>, type: + </P><PRE +CLASS="PROGRAMLISTING" +>pgpool_setup</PRE +><P> + This will create + a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> with streaming + replication mode installation, + primary <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> installation, and + a async standby <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + installation. + </P +><P +> From now on, we assume that you + use <TT +CLASS="COMMAND" +>pgpool_setup</TT +> to create the installation + under current directory. Please note that the current directory + must be empty before executing <TT +CLASS="COMMAND" +>pgpool_setup</TT +>. + </P +><P +> To start the whole system, type: +</P><PRE +CLASS="PROGRAMLISTING" +>./startall</PRE +><P> + </P +><P +> Once the system starts, you can check the cluster status by + issuing a pseudo SQL command called "show pool_node" to any of + databases. <TT +CLASS="COMMAND" +>pgpool_setup</TT +> automatically creates + "test" database. We use the database. Note that the port number + is 11000, which is the default port number assigned + to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + by <TT +CLASS="COMMAND" +>pgpool_setup</TT +>. + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 0 | true | 0 +(2 rows) + </PRE +><P> + The result shows that the "status" column is "up", which means + the + <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> is up and running, which + is good. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-install.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-testing-load-balance.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Installation</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Testing Load Balance</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-start.html b/doc/src/sgml/html/tutorial-start.html new file mode 100644 index 000000000..1af59a88e --- /dev/null +++ b/doc/src/sgml/html/tutorial-start.html @@ -0,0 +1,206 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Getting Started</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Tutorial" +HREF="tutorial.html"><LINK +REL="PREVIOUS" +TITLE="Tutorial" +HREF="tutorial.html"><LINK +REL="NEXT" +TITLE="Installation" +HREF="tutorial-install.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Tutorial" +HREF="tutorial.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Installation" +HREF="tutorial-install.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="TUTORIAL-START" +></A +>Chapter 1. Getting Started</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>1.1. <A +HREF="tutorial-install.html" +>Installation</A +></DT +><DT +>1.2. <A +HREF="tutorial-replication.html" +>Your First Replication</A +></DT +><DT +>1.3. <A +HREF="tutorial-testing-load-balance.html" +>Testing Load Balance</A +></DT +><DT +>1.4. <A +HREF="tutorial-testing-replication.html" +>Testing Replication</A +></DT +><DT +>1.5. <A +HREF="tutorial-testing-failover.html" +>Testing Fail Over</A +></DT +><DT +>1.6. <A +HREF="tutorial-testing-online-recovery.html" +>Testing Online Recovery</A +></DT +><DT +>1.7. <A +HREF="tutorial-arch.html" +>Architectural Fundamentals</A +></DT +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-install.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Tutorial</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Installation</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-testing-failover.html b/doc/src/sgml/html/tutorial-testing-failover.html new file mode 100644 index 000000000..9c50d84c9 --- /dev/null +++ b/doc/src/sgml/html/tutorial-testing-failover.html @@ -0,0 +1,299 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Testing Fail Over</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Testing Replication" +HREF="tutorial-testing-replication.html"><LINK +REL="NEXT" +TITLE="Testing Online Recovery" +HREF="tutorial-testing-online-recovery.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Testing Replication" +HREF="tutorial-testing-replication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Testing Online Recovery" +HREF="tutorial-testing-online-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-TESTING-FAILOVER" +>1.5. Testing Fail Over</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> allows an automatic fail + over when <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> server goes + down. In this case <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> sets the + status of the server to "down" and continue the database + operation using remaining servers. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pg_ctl -D data1 stop +waiting for server to shut down.... done +server stopped +$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 2172 | true | 0 + 1 | /tmp | 11003 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +$ psql -p 11000 -c "SELECT sum(abalance) FROM pgbench_accounts" test + sum +-------- + 192112 +(1 row) + </PRE +><P> + The standby node was shut down by pg_ctl + command. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> detects it and + detaches the standby node. "show pool_nodes" command shows that + the standby node is in down status. You can continue to use the + cluster without the standby node: + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -p 11000 -c "SELECT sum(abalance) FROM pgbench_accounts" test + sum +-------- + 192112 +(1 row) + </PRE +><P> + What happens if the primary server goes down? In this case, one + of remaining standby server is promoted to new primary + server. For this testing, we start from the state in which both + nodes are up. + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 2173 | true | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 0 | false | 0 +(2 rows) + +$ pg_ctl -D data0 stop +waiting for server to shut down.... done +server stopped +$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | down | 0.500000 | standby | 2173 | false | 0 + 1 | /tmp | 11003 | up | 0.500000 | primary | 0 | true | 0 +(2 rows) + </PRE +><P> + Now the primary node is changed from 0 to 1. What happens + inside? When the node 0 goes + down, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> detects it and + executes "fail_over_script" defined + in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. Here is the content of the + file. + </P><PRE +CLASS="PROGRAMLISTING" +>#! /bin/sh +# Execute command by failover. +# special values: %d = node id +# %h = host name +# %p = port number +# %D = database cluster path +# %m = new master node id +# %M = old master node id +# %H = new master node host name +# %P = old primary node id +# %R = new master database cluster path +# %r = new master port number +# %% = '%' character +failed_node_id=$1 +failed_host_name=$2 +failed_port=$3 +failed_db_cluster=$4 +new_master_id=$5 +old_master_id=$6 +new_master_host_name=$7 +old_primary_node_id=$8 +new_master_port_number=$9 +new_master_db_cluster=${10} +mydir=/home/t-ishii/tmp/Tutorial +log=$mydir/log/failover.log +pg_ctl=/usr/local/pgsql/bin/pg_ctl +cluster0=$mydir/data0 +cluster1=$mydir/data1 + +date &#62;&#62; $log +echo "failed_node_id $failed_node_id failed_host_name $failed_host_name failed_port $failed_port failed_db_cluster $failed_db_cluster new_master_id $new_master_id old_master_id $old_master_id new_master_host_name $new_master_host_name old_primary_node_id $old_primary_node_id new_master_port_number $new_master_port_number new_master_db_cluster $new_master_db_cluster" &#62;&#62; $log + +if [ a"$failed_node_id" = a"$old_primary_node_id" ];then # master failed +! new_primary_db_cluster=${mydir}/data"$new_master_id" + echo $pg_ctl -D $new_primary_db_cluster promote &#62;&#62;$log # let standby take over + $pg_ctl -D $new_primary_db_cluster promote &#62;&#62;$log # let standby take over +fi + </PRE +><P> + The script receives necessary information as parameters + from <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. If the primary server + goes down, it executes "pg_ctl -D data1 promote", which should + promote the standby server to a new primary server. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-testing-replication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-testing-online-recovery.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Testing Replication</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Testing Online Recovery</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-testing-load-balance.html b/doc/src/sgml/html/tutorial-testing-load-balance.html new file mode 100644 index 000000000..2e49f6256 --- /dev/null +++ b/doc/src/sgml/html/tutorial-testing-load-balance.html @@ -0,0 +1,217 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Testing Load Balance</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Your First Replication" +HREF="tutorial-replication.html"><LINK +REL="NEXT" +TITLE="Testing Replication" +HREF="tutorial-testing-replication.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Your First Replication" +HREF="tutorial-replication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Testing Replication" +HREF="tutorial-testing-replication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-TESTING-LOAD-BALANCE" +>1.3. Testing Load Balance</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> allows read query load + balancing. It is enabled by default. To see the effect, let's + use <TT +CLASS="COMMAND" +>pgbench -S</TT +> command. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgbench -p 11000 -c 10 -S -T 10 test +starting vacuum...end. +transaction type: &lt;builtin: select only&#62; +scaling factor: 1 +query mode: simple +number of clients: 10 +number of threads: 1 +duration: 10 s +number of transactions actually processed: 148044 +latency average = 0.676 ms +tps = 14802.897506 (including connections establishing) +tps = 14810.213749 (excluding connections establishing) + +$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | primary | 75152 | true | 0 + 1 | /tmp | 11003 | up | 0.500000 | standby | 72893 | false | 0 +(2 rows) + </PRE +><P> + "select_cnt" column shows how many SELECT are dispatched to each + node. Since with the default + configuration, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> tries to + dispatch equal number of SELECT, the column shows almost same + numbers. + </P +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> offers more sophisticated + strategy for load + balancing. See <A +HREF="runtime-config-load-balancing.html" +>Section 5.7</A +> + for more details. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-replication.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-testing-replication.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Your First Replication</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Testing Replication</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-testing-online-recovery.html b/doc/src/sgml/html/tutorial-testing-online-recovery.html new file mode 100644 index 000000000..e58cff47a --- /dev/null +++ b/doc/src/sgml/html/tutorial-testing-online-recovery.html @@ -0,0 +1,258 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Testing Online Recovery</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Testing Fail Over" +HREF="tutorial-testing-failover.html"><LINK +REL="NEXT" +TITLE="Architectural Fundamentals" +HREF="tutorial-arch.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Testing Fail Over" +HREF="tutorial-testing-failover.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Architectural Fundamentals" +HREF="tutorial-arch.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-TESTING-ONLINE-RECOVERY" +>1.6. Testing Online Recovery</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> allows to recover a downed + node by technique called "Online Recovery". This copies data + from the primary node to a standby node so that it sync with the + primary. This may take long time and database may be updated + during the process. That's no problem because in the streaming + configuration, the standby will receive WAL log and applies it + to catch up the primary. To test online recovery, let's start + with previous cluster, where node 0 is in down state. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pcp_recovery_node -p 11001 0 +Password: +pcp_recovery_node -- Command Successful + +$ psql -p 11000 -c "show pool_nodes" test + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 11002 | up | 0.500000 | standby | 2173 | true | 0 + 1 | /tmp | 11003 | up | 0.500000 | primary | 0 | false | 0 +(2 rows) + </PRE +><P> + <A +HREF="pcp-recovery-node.html" +>pcp_recovery_node</A +> is one of control commands + coming with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + installation. The argument -p is to specify the port number + assigned to the command, which is 11001 set + by <TT +CLASS="COMMAND" +>pgpool_setup</TT +>. The second argument is the + target node id. After executing the command, node 0 returned to + "up" status. + </P +><P +> The script executed by <TT +CLASS="COMMAND" +>pcp_recovery_node</TT +> is + specified as "recovery_1st_stage_command" + in <TT +CLASS="FILENAME" +>pgpool.conf</TT +>. Here is the file installed + by <TT +CLASS="COMMAND" +>pgpool_setup</TT +>. + </P><PRE +CLASS="PROGRAMLISTING" +>#! /bin/sh +psql=/usr/local/pgsql/bin/psql +DATADIR_BASE=/home/t-ishii/tmp/Tutorial +PGSUPERUSER=t-ishii + +master_db_cluster=$1 +recovery_node_host_name=$2 +DEST_CLUSTER=$3 +PORT=$4 + +log=$DATADIR_BASE/log/recovery.log + +$psql -p $PORT -c "SELECT pg_start_backup('Streaming Replication', true)" postgres + +echo "source: $master_db_cluster dest: $DEST_CLUSTER" &#62; $log + +rsync -C -a -c --delete --exclude postgresql.conf --exclude postmaster.pid \ +--exclude postmaster.opts --exclude pg_log \ +--exclude recovery.conf --exclude recovery.done \ +--exclude pg_xlog \ +$master_db_cluster/ $DEST_CLUSTER/ + +rm -fr $DEST_CLUSTER/pg_xlog +mkdir $DEST_CLUSTER/pg_xlog +chmod 700 $DEST_CLUSTER/pg_xlog +rm $DEST_CLUSTER/recovery.done +cat &#62; $DEST_CLUSTER/recovery.conf $lt;$lt;REOF +standby_mode = 'on' +primary_conninfo = 'port=$PORT user=$PGSUPERUSER' +recovery_target_timeline='latest' +REOF + +$psql -p $PORT -c "SELECT pg_stop_backup()" postgres + </PRE +><P> + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-testing-failover.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-arch.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Testing Fail Over</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Architectural Fundamentals</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-testing-replication.html b/doc/src/sgml/html/tutorial-testing-replication.html new file mode 100644 index 000000000..61d837bd9 --- /dev/null +++ b/doc/src/sgml/html/tutorial-testing-replication.html @@ -0,0 +1,240 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Testing Replication</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="PREVIOUS" +TITLE="Testing Load Balance" +HREF="tutorial-testing-load-balance.html"><LINK +REL="NEXT" +TITLE="Testing Fail Over" +HREF="tutorial-testing-failover.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Testing Load Balance" +HREF="tutorial-testing-load-balance.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 1. Getting Started</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Testing Fail Over" +HREF="tutorial-testing-failover.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-TESTING-REPLICATION" +>1.4. Testing Replication</A +></H1 +><P +> Let's test the replication functionality using a benchmark + tool <TT +CLASS="COMMAND" +>pgbench</TT +>, which comes with the + standard <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> installation. + Type following to create the benchmark tables. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgbench -i -p 11000 test + </PRE +><P> + To make if the replication works correctly, directly connect to + the primary and the standby server to see if they return + identical results. + </P><PRE +CLASS="PROGRAMLISTING" +>$ psql -p 11002 test +\dt + List of relations + Schema | Name | Type | Owner +--------+------------------+-------+--------- + public | pgbench_accounts | table | t-ishii + public | pgbench_branches | table | t-ishii + public | pgbench_history | table | t-ishii + public | pgbench_tellers | table | t-ishii +(4 rows) +\q +$ psql -p 11003 test +\dt + List of relations + Schema | Name | Type | Owner +--------+------------------+-------+--------- + public | pgbench_accounts | table | t-ishii + public | pgbench_branches | table | t-ishii + public | pgbench_history | table | t-ishii + public | pgbench_tellers | table | t-ishii +(4 rows) + </PRE +><P> + The primary server (port 11002) and the standby server (port + 11003) return identical results. Next, let's run pgbench for a + while and check to results. + </P><PRE +CLASS="PROGRAMLISTING" +>$ pgbench -p 11000 -T 10 test +starting vacuum...end. +transaction type: &lt;builtin: TPC-B (sort of)&gt; +scaling factor: 1 +query mode: simple +number of clients: 1 +number of threads: 1 +duration: 10 s +number of transactions actually processed: 2171 +latency average = 4.692 ms +tps = 213.147520 (including connections establishing) +tps = 213.258008 (excluding connections establishing) + +$ psql -p 11002 -c "SELECT sum(abalance) FROM pgbench_accounts" test + sum +-------- + 192112 +(1 row) + +$ psql -p 11003 -c "SELECT sum(abalance) FROM pgbench_accounts" test + sum +-------- + 192112 +(1 row) + </PRE +><P> + Again, the results are identical. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-testing-load-balance.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-testing-failover.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Testing Load Balance</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Testing Fail Over</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-watchdog-integrating-external-lifecheck.html b/doc/src/sgml/html/tutorial-watchdog-integrating-external-lifecheck.html new file mode 100644 index 000000000..cf995faf4 --- /dev/null +++ b/doc/src/sgml/html/tutorial-watchdog-integrating-external-lifecheck.html @@ -0,0 +1,617 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Integrating external lifecheck with watchdog</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="PREVIOUS" +TITLE="Introduction" +HREF="tutorial-watchdog-intro.html"><LINK +REL="NEXT" +TITLE="Restrictions on watchdog" +HREF="tutorial-watchdog-restrictions.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Introduction" +HREF="tutorial-watchdog-intro.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 2. Watchdog</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Restrictions on watchdog" +HREF="tutorial-watchdog-restrictions.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-WATCHDOG-INTEGRATING-EXTERNAL-LIFECHECK" +>2.2. Integrating external lifecheck with watchdog</A +></H1 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog process uses the + <ACRONYM +CLASS="ACRONYM" +>BSD</ACRONYM +> sockets for communicating with + all the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> processes and the + same <ACRONYM +CLASS="ACRONYM" +>BSD</ACRONYM +> socket can also be used by any third + party system to provide the lifecheck function for local and remote + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog nodes. + The <ACRONYM +CLASS="ACRONYM" +>BSD</ACRONYM +> socket file name for IPC is constructed + by appending <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> wd_port after + <TT +CLASS="LITERAL" +>"s.PGPOOLWD_CMD."</TT +> string and the socket file is + placed in the <A +HREF="runtime-watchdog-config.html#GUC-WD-IPC-SOCKET-DIR" +>wd_ipc_socket_dir</A +> directory. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET" +>2.2.1. Watchdog IPC command packet format</A +></H2 +><P +> The watchdog IPC command packet consists of three fields. + Below table details the message fields and description. + </P +><DIV +CLASS="TABLE" +><A +NAME="WD-IPC-COMMAND-FORMAT-TABLE" +></A +><P +><B +>Table 2-1. Watchdog IPC command packet format</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><COL><THEAD +><TR +><TH +>Field</TH +><TH +>Type</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>TYPE</TD +><TD +>BYTE1</TD +><TD +>Command Type</TD +></TR +><TR +><TD +>LENGTH</TD +><TD +>INT32 in network byte order</TD +><TD +>The length of data to follow</TD +></TR +><TR +><TD +>DATA</TD +><TD +>DATA in <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format</TD +><TD +>Command data in <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format</TD +></TR +></TBODY +></TABLE +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-IPC-RESULT-PACKET" +>2.2.2. Watchdog IPC result packet format</A +></H2 +><P +> The watchdog IPC command result packet consists of three fields. + Below table details the message fields and description. + </P +><DIV +CLASS="TABLE" +><A +NAME="WD-IPC-RESUTL-FORMAT-TABLE" +></A +><P +><B +>Table 2-2. Watchdog IPC result packet format</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><COL><THEAD +><TR +><TH +>Field</TH +><TH +>Type</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>TYPE</TD +><TD +>BYTE1</TD +><TD +>Command Type</TD +></TR +><TR +><TD +>LENGTH</TD +><TD +>INT32 in network byte order</TD +><TD +>The length of data to follow</TD +></TR +><TR +><TD +>DATA</TD +><TD +>DATA in <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format</TD +><TD +>Command result data in <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format</TD +></TR +></TBODY +></TABLE +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES" +>2.2.3. Watchdog IPC command packet types</A +></H2 +><P +> The first byte of the IPC command packet sent to watchdog process + and the result returned by watchdog process is identified as the + command or command result type. + The below table lists all valid types and their meanings + </P +><DIV +CLASS="TABLE" +><A +NAME="WD-IPC-COMMAND-PACKET--TYPES-TABLE" +></A +><P +><B +>Table 2-3. Watchdog IPC command packet types</B +></P +><TABLE +BORDER="1" +CLASS="CALSTABLE" +><COL><COL><COL><COL><THEAD +><TR +><TH +>Name</TH +><TH +>Byte Value</TH +><TH +>Type</TH +><TH +>Description</TH +></TR +></THEAD +><TBODY +><TR +><TD +>REGISTER FOR NOTIFICATIONS</TD +><TD +>'0'</TD +><TD +>Command packet</TD +><TD +>Command to register the current connection to receive watchdog notifications</TD +></TR +><TR +><TD +>NODE STATUS CHANGE</TD +><TD +>'2'</TD +><TD +>Command packet</TD +><TD +>Command to inform watchdog about node status change of watchddog node</TD +></TR +><TR +><TD +>GET NODES LIST</TD +><TD +>'3'</TD +><TD +>Command packet</TD +><TD +>Command to get the list of all configured watchdog nodes</TD +></TR +><TR +><TD +>NODES LIST DATA</TD +><TD +>'4'</TD +><TD +>Result packet</TD +><TD +>The <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> data in packet contains the list of all configured watchdog nodes</TD +></TR +><TR +><TD +>CLUSTER IN TRANSITION</TD +><TD +>'7'</TD +><TD +>Result packet</TD +><TD +>Watchdog returns this packet type when it is not possible to process the command because the cluster is transitioning.</TD +></TR +><TR +><TD +>RESULT BAD</TD +><TD +>'8'</TD +><TD +>Result packet</TD +><TD +>Watchdog returns this packet type when the IPC command fails</TD +></TR +><TR +><TD +>RESULT OK</TD +><TD +>'9'</TD +><TD +>Result packet</TD +><TD +>Watchdog returns this packet type when IPC command succeeds</TD +></TR +></TBODY +></TABLE +></DIV +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC" +>2.2.4. External lifecheck IPC packets and data</A +></H2 +><P +> "GET NODES LIST" ,"NODES LIST DATA" and "NODE STATUS CHANGE" + IPC messages of watchdog can be used to integration an external + lifecheck systems. Note that the built-in lifecheck of pgpool + also uses the same channel and technique. + </P +><DIV +CLASS="SECT3" +><H3 +CLASS="SECT3" +><A +NAME="TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-GET-NODES" +>2.2.4.1. Getting list of configured watchdog nodes</A +></H3 +><P +> Any third party lifecheck system can send the "GET NODES LIST" + packet on watchdog IPC socket with a <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> + data containing the authorization key and value if + <A +HREF="runtime-watchdog-config.html#GUC-WD-AUTHKEY" +>wd_authkey</A +> is set or empty packet data + when <A +HREF="runtime-watchdog-config.html#GUC-WD-AUTHKEY" +>wd_authkey</A +> is not configured to get + the "NODES LIST DATA" result packet. + </P +><P +> The result packet returnd by watchdog for the "GET NODES LIST" + will contains the list of all configured watchdog nodes to do + health check on in the <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> format. + The <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> of the watchdog nodes contains the + <TT +CLASS="LITERAL" +>"WatchdogNodes"</TT +> Array of all watchdog nodes. + Each watchdog <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> node contains the + <TT +CLASS="LITERAL" +>"ID"</TT +>, <TT +CLASS="LITERAL" +>"NodeName"</TT +>, + <TT +CLASS="LITERAL" +>"HostName"</TT +>, <TT +CLASS="LITERAL" +>"DelegateIP"</TT +>, + <TT +CLASS="LITERAL" +>"WdPort"</TT +> and <TT +CLASS="LITERAL" +>"PgpoolPort"</TT +> + for each node. + </P +><P +> </P><PRE +CLASS="PROGRAMLISTING" +> -- The example JSON data contained in "NODES LIST DATA" + + { + "NodeCount":3, + "WatchdogNodes": + [ + { + "ID":0, + "State":1, + "NodeName":"Linux_ubuntu_9999", + "HostName":"watchdog-host1", + "DelegateIP":"172.16.5.133", + "WdPort":9000, + "PgpoolPort":9999 + }, + { + "ID":1, + "State":1, + "NodeName":"Linux_ubuntu_9991", + "HostName":"watchdog-host2", + "DelegateIP":"172.16.5.133", + "WdPort":9000, + "PgpoolPort":9991 + }, + { + "ID":2, + "State":1, + "NodeName":"Linux_ubuntu_9992", + "HostName":"watchdog-host3", + "DelegateIP":"172.16.5.133", + "WdPort":9000, + "PgpoolPort":9992 + } + ] + } + + -- Note that ID 0 is always reserved for local watchdog node + + </PRE +><P> + </P +><P +> After getting the configured watchdog nodes information from the + watchdog the external lifecheck system can proceed with the + health checking of watchdog nodes, and when it detects some status + change of any node it can inform that to watchdog using the + "NODE STATUS CHANGE" IPC messages of watchdog. + The data in the message should contain the <ACRONYM +CLASS="ACRONYM" +>JSON</ACRONYM +> + with the node ID of the node whose status is changed + (The node ID must be same as returned by watchdog for that node + in WatchdogNodes list) and the new status of node. + </P +><P +> </P><PRE +CLASS="PROGRAMLISTING" +> -- The example JSON to inform pgpool-II watchdog about health check + failed on node with ID 1 will look like + + { + "NodeID":1, + "NodeStatus":1, + "Message":"optional message string to log by watchdog for this event" + "IPCAuthKey":"wd_authkey configuration parameter value" + } + + -- NodeStatus values meanings are as follows + NODE STATUS DEAD = 1 + NODE STATUS ALIVE = 2 + + </PRE +><P> + </P +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog-intro.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-watchdog-restrictions.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Introduction</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Restrictions on watchdog</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-watchdog-intro.html b/doc/src/sgml/html/tutorial-watchdog-intro.html new file mode 100644 index 000000000..d1043fb07 --- /dev/null +++ b/doc/src/sgml/html/tutorial-watchdog-intro.html @@ -0,0 +1,525 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Introduction</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="PREVIOUS" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="NEXT" +TITLE="Integrating external lifecheck with watchdog" +HREF="tutorial-watchdog-integrating-external-lifecheck.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Watchdog" +HREF="tutorial-watchdog.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 2. Watchdog</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Integrating external lifecheck with watchdog" +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-WATCHDOG-INTRO" +>2.1. Introduction</A +></H1 +><P +> Watchdog is a sub process of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + to add high availability. Watchdog is used to resolve the single + point of failure by coordinating multiple <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> + nodes. The watchdog was first introduced in <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.2</I +></SPAN +> and is significantly enhanced in + <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>, to ensure the presence of a + quorum at all time. This new addition to watchdog makes it more fault tolerant + and robust in handling and guarding against the split-brain syndrome + and network partitioning. However to ensure the quorum mechanism properly + works, the number of pgpool-II nodes must be odd in number and greater than or + equal to 3. + </P +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-COORDINATING-NODES" +>2.1.1. Coordinating multiple <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></H2 +><P +> Watchdog coordinates multiple <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes + by exchanging information with each other. + </P +><P +> At the startup, if the watchdog is enabled, <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> node + sync the status of all configured backend nodes from the master watchdog node. + and if the node goes on to become a master node itself it initializes the backend + status locally. When a backend node status change by failover etc.., + watchdog notifies the information to other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + nodes and synchronizes them. When online recovery occurs, watchdog restricts + client connections to other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + nodes for avoiding inconsistency between backends. + </P +><P +> Watchdog also coordinates with all connected <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> nodes to ensure + that failback, failover and follow_master commands must be executed only on one <SPAN +CLASS="PRODUCTNAME" +>pgpool-II</SPAN +> node. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-LIFECHECKING" +>2.1.2. Life checking of other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></H2 +><P +> Watchdog lifecheck is the sub-component of watchdog to monitor + the health of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes participating + in the watchdog cluster to provide the high availability. + Traditionally <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog provides + two methods of remote node health checking. <TT +CLASS="LITERAL" +>"heartbeat"</TT +> + and <TT +CLASS="LITERAL" +>"query"</TT +> mode. + The watchdog in <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +> + adds a new <TT +CLASS="LITERAL" +>"external"</TT +> to <A +HREF="runtime-watchdog-config.html#GUC-WD-LIFECHECK-METHOD" +>wd_lifecheck_method</A +>, + which enables to hook an external third party health checking + system with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog. + </P +><P +> Apart from remote node health checking watchdog lifecheck can also check + the health of node it is installed on by monitoring the connection to upstream servers. + If the monitoring fails, watchdog treats it as the local <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + node failure. + </P +><P +> In <TT +CLASS="LITERAL" +>heartbeat</TT +> mode, watchdog monitors other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + processes by using <TT +CLASS="LITERAL" +>heartbeat</TT +> signal. + Watchdog receives heartbeat signals sent by other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + periodically. If there is no signal for a certain period, + watchdog regards this as the failure of the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + For redundancy you can use multiple network connections for heartbeat + exchange between <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes. + This is the default and recommended mode to be used for health checking. + </P +><P +> In <TT +CLASS="LITERAL" +>query</TT +> mode, watchdog monitors <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + service rather than process. In this mode watchdog sends queries to other + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> and checks the response. + </P><DIV +CLASS="NOTE" +><BLOCKQUOTE +CLASS="NOTE" +><P +><B +>Note: </B +> Note that this method requires connections from other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, + So it would fail monitoring if the <A +HREF="runtime-config-connection.html#GUC-NUM-INIT-CHILDREN" +>num_init_children</A +> parameter isn't large enough. + This mode is deprecated and left for backward compatibility. + </P +></BLOCKQUOTE +></DIV +><P> + </P +><P +> <TT +CLASS="LITERAL" +>external</TT +> mode is introduced by <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + <SPAN +CLASS="emphasis" +><I +CLASS="EMPHASIS" +>V3.5</I +></SPAN +>. This mode basically disables the built in lifecheck + of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdog and expects that the external system + will inform the watchdog about health of local and all remote nodes participating in the watchdog cluster. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG" +>2.1.3. Consistency of configuration parameters on all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></H2 +><P +> At startup watchdog verifies the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + configuration of the local node for the consistency with the configurations + on the master watchdog node and warns the user of any differences. + This eliminates the likelihood of undesired behavior that can happen + because of different configuration on different <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-CHANGING-ACTIVE" +>2.1.4. Changing active/standby state when certain fault is detected</A +></H2 +><P +> When a fault of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> is detected, + watchdog notifies the other watchdogs of it. + If this is the active <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, + watchdogs decide the new active <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + by voting and change active/standby state. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-AUTOMATIC-VIP" +>2.1.5. Automatic virtual IP switching</A +></H2 +><P +> When a standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> server promotes to active, + the new active server brings up virtual IP interface. Meanwhile, the previous + active server brings down the virtual IP interface. This enables the active + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> to work using the same + IP address even when servers are switched. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY" +>2.1.6. Automatic registration of a server as a standby in recovery</A +></H2 +><P +> When the broken server recovers or new server is attached, the watchdog process + notifies this to the other watchdogs in the cluster along with the information of the new server, + and the watchdog process receives information on the active server and + other servers. Then, the attached server is registered as a standby. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-START-STOP" +>2.1.7. Starting/stopping watchdog</A +></H2 +><P +> Watchdog process starts/stops automatically as sub-processes of + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>, therefore there is no dedicated + command to start/stop it. + Watchdog requires root privilege for controlling the virtual IP interface. + One method is to start <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> by root privilege. + However, for security reasons, to set custom commands to <A +HREF="runtime-watchdog-config.html#GUC-IF-UP-CMD" +>if_up_cmd</A +>, + <A +HREF="runtime-watchdog-config.html#GUC-IF-DOWN-CMD" +>if_down_cmd</A +> and <A +HREF="runtime-watchdog-config.html#GUC-ARPING-CMD" +>arping_cmd</A +> using <TT +CLASS="COMMAND" +>sudo</TT +> or + setuid is recommended method. + Watchdog's built-in life-checking starts after all of the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes have started. + This doesn't start if not all "other" nodes are alive until this, + failover of the virtual IP never occurs. + </P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Watchdog</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Integrating external lifecheck with watchdog</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-watchdog-restrictions.html b/doc/src/sgml/html/tutorial-watchdog-restrictions.html new file mode 100644 index 000000000..71e02c3c4 --- /dev/null +++ b/doc/src/sgml/html/tutorial-watchdog-restrictions.html @@ -0,0 +1,281 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Restrictions on watchdog</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Watchdog" +HREF="tutorial-watchdog.html"><LINK +REL="PREVIOUS" +TITLE="Integrating external lifecheck with watchdog" +HREF="tutorial-watchdog-integrating-external-lifecheck.html"><LINK +REL="NEXT" +TITLE="Architecure of the watchdog" +HREF="tutorial-advanced-arch.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="SECT1" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Integrating external lifecheck with watchdog" +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +>Chapter 2. Watchdog</TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Architecure of the watchdog" +HREF="tutorial-advanced-arch.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="TUTORIAL-WATCHDOG-RESTRICTIONS" +>2.3. Restrictions on watchdog</A +></H1 +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE" +>2.3.1. Watchdog restriction with query mode lifecheck</A +></H2 +><P +> In query mode, when all the DB nodes are detached from a + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> due to PostgreSQL server + failure or pcp_detach_node issued, watchdog regards that the + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> service is in the down + status and brings up the virtual IP assigned to watchdog down. + Thus clients of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> cannot + connect to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> using the + virtual IP any more. This is neccessary to avoid split-brain, + that is, situations where there are multiple active + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE" +>2.3.2. Connecting to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> whose watchdog status is down</A +></H2 +><P +> Don't connect to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> in down + status using the real IP. Because a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + in down status can't receive information from other + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> watchdogs so it's backend status + may be different from other the <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART" +>2.3.3. <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> whose watchdog status is down requires restart</A +></H2 +><P +> <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> in down status can't become active + nor the standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + Recovery from down status requires the restart of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +><DIV +CLASS="SECT2" +><H2 +CLASS="SECT2" +><A +NAME="TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME" +>2.3.4. Watchdog promotion to active takes few seconds</A +></H2 +><P +> After the active <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> stops, + it will take a few seconds until the standby <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> + promote to new active, to make sure that the former virtual IP is + brought down before a down notification packet is sent to other + <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-advanced-arch.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Integrating external lifecheck with watchdog</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial-watchdog.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Architecure of the watchdog</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial-watchdog.html b/doc/src/sgml/html/tutorial-watchdog.html new file mode 100644 index 000000000..cf37db3f3 --- /dev/null +++ b/doc/src/sgml/html/tutorial-watchdog.html @@ -0,0 +1,307 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Watchdog</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Tutorial" +HREF="tutorial.html"><LINK +REL="PREVIOUS" +TITLE="Architectural Fundamentals" +HREF="tutorial-arch.html"><LINK +REL="NEXT" +TITLE="Introduction" +HREF="tutorial-watchdog-intro.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="CHAPTER" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Architectural Fundamentals" +HREF="tutorial-arch.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Introduction" +HREF="tutorial-watchdog-intro.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="TUTORIAL-WATCHDOG" +></A +>Chapter 2. Watchdog</H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>2.1. <A +HREF="tutorial-watchdog-intro.html" +>Introduction</A +></DT +><DD +><DL +><DT +>2.1.1. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-COORDINATING-NODES" +>Coordinating multiple <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></DT +><DT +>2.1.2. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-LIFECHECKING" +>Life checking of other <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></DT +><DT +>2.1.3. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CONSISTENCY-OF-CONFIG" +>Consistency of configuration parameters on all <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> nodes</A +></DT +><DT +>2.1.4. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-ACTIVE" +>Changing active/standby state when certain fault is detected</A +></DT +><DT +>2.1.5. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-AUTOMATIC-VIP" +>Automatic virtual IP switching</A +></DT +><DT +>2.1.6. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-CHANGING-AUTOMATIC-REGISTER-IN-RECOVERY" +>Automatic registration of a server as a standby in recovery</A +></DT +><DT +>2.1.7. <A +HREF="tutorial-watchdog-intro.html#TUTORIAL-WATCHDOG-START-STOP" +>Starting/stopping watchdog</A +></DT +></DL +></DD +><DT +>2.2. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +>Integrating external lifecheck with watchdog</A +></DT +><DD +><DL +><DT +>2.2.1. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET" +>Watchdog IPC command packet format</A +></DT +><DT +>2.2.2. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-RESULT-PACKET" +>Watchdog IPC result packet format</A +></DT +><DT +>2.2.3. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-IPC-COMMAND-PACKET-TYPES" +>Watchdog IPC command packet types</A +></DT +><DT +>2.2.4. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html#TUTORIAL-WATCHDOG-EXTERNAL-LIFECHECK-IPC" +>External lifecheck IPC packets and data</A +></DT +></DL +></DD +><DT +>2.3. <A +HREF="tutorial-watchdog-restrictions.html" +>Restrictions on watchdog</A +></DT +><DD +><DL +><DT +>2.3.1. <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-QUERY-MODE" +>Watchdog restriction with query mode lifecheck</A +></DT +><DT +>2.3.2. <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-MODE" +>Connecting to <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> whose watchdog status is down</A +></DT +><DT +>2.3.3. <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-DOWN-WATCHDOG-REQUIRE-RESTART" +><SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> whose watchdog status is down requires restart</A +></DT +><DT +>2.3.4. <A +HREF="tutorial-watchdog-restrictions.html#TUTORIAL-WATCHDOG-RESTRICTIONS-ACTIVE-TAKE-TIME" +>Watchdog promotion to active takes few seconds</A +></DT +></DL +></DD +><DT +>2.4. <A +HREF="tutorial-advanced-arch.html" +>Architecure of the watchdog</A +></DT +><DD +><DL +><DT +>2.4.1. <A +HREF="tutorial-advanced-arch.html#TUTORIAL-ADVANCED-ARCH-WD-CORE" +>Watchdog Core</A +></DT +><DT +>2.4.2. <A +HREF="tutorial-advanced-arch.html#TUTORIAL-ADVANCED-ARCH-WD-LIFECHECK" +>Watchdog Lifecheck</A +></DT +></DL +></DD +></DL +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="tutorial-arch.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-watchdog-intro.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Architectural Fundamentals</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="tutorial.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Introduction</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/tutorial.html b/doc/src/sgml/html/tutorial.html new file mode 100644 index 000000000..2c81f7605 --- /dev/null +++ b/doc/src/sgml/html/tutorial.html @@ -0,0 +1,253 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>Tutorial</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="PREVIOUS" +TITLE="Bug Reporting Guidelines" +HREF="bug-reporting.html"><LINK +REL="NEXT" +TITLE="Getting Started" +HREF="tutorial-start.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="PART" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="Bug Reporting Guidelines" +HREF="bug-reporting.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="Getting Started" +HREF="tutorial-start.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="PART" +><A +NAME="TUTORIAL" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +>I. Tutorial</H1 +><DIV +CLASS="PARTINTRO" +><A +NAME="AEN239" +></A +><P +> This chapter explains how to get start with <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +>. + </P +></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>1. <A +HREF="tutorial-start.html" +>Getting Started</A +></DT +><DD +><DL +><DT +>1.1. <A +HREF="tutorial-install.html" +>Installation</A +></DT +><DT +>1.2. <A +HREF="tutorial-replication.html" +>Your First Replication</A +></DT +><DT +>1.3. <A +HREF="tutorial-testing-load-balance.html" +>Testing Load Balance</A +></DT +><DT +>1.4. <A +HREF="tutorial-testing-replication.html" +>Testing Replication</A +></DT +><DT +>1.5. <A +HREF="tutorial-testing-failover.html" +>Testing Fail Over</A +></DT +><DT +>1.6. <A +HREF="tutorial-testing-online-recovery.html" +>Testing Online Recovery</A +></DT +><DT +>1.7. <A +HREF="tutorial-arch.html" +>Architectural Fundamentals</A +></DT +></DL +></DD +><DT +>2. <A +HREF="tutorial-watchdog.html" +>Watchdog</A +></DT +><DD +><DL +><DT +>2.1. <A +HREF="tutorial-watchdog-intro.html" +>Introduction</A +></DT +><DT +>2.2. <A +HREF="tutorial-watchdog-integrating-external-lifecheck.html" +>Integrating external lifecheck with watchdog</A +></DT +><DT +>2.3. <A +HREF="tutorial-watchdog-restrictions.html" +>Restrictions on watchdog</A +></DT +><DT +>2.4. <A +HREF="tutorial-advanced-arch.html" +>Architecure of the watchdog</A +></DT +></DL +></DD +></DL +></DIV +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="bug-reporting.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="tutorial-start.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Bug Reporting Guidelines</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +>&nbsp;</TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Getting Started</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/html/watchdog-setup.html b/doc/src/sgml/html/watchdog-setup.html new file mode 100644 index 000000000..4c0fcd4b6 --- /dev/null +++ b/doc/src/sgml/html/watchdog-setup.html @@ -0,0 +1,699 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML +><HEAD +><TITLE +>watchdog_setup</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK +REV="MADE" +HREF="mailto:pgsql-docs@postgresql.org"><LINK +REL="HOME" +TITLE="pgpool-II 3.6-alpha1 Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Other commands" +HREF="other-commands.html"><LINK +REL="PREVIOUS" +TITLE="pgpool_setup" +HREF="pgpool-setup.html"><LINK +REL="NEXT" +TITLE="SQL type commands" +HREF="sql-commands.html"><LINK +REL="STYLESHEET" +TYPE="text/css" +HREF="stylesheet.css"><META +HTTP-EQUIV="Content-Type" +CONTENT="text/html; charset=ISO-8859-1"><META +NAME="creation" +CONTENT="2016-10-20T05:30:22"></HEAD +><BODY +CLASS="REFENTRY" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="4" +ALIGN="center" +VALIGN="bottom" +><A +HREF="index.html" +>pgpool-II 3.6-alpha1 Documentation</A +></TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +TITLE="pgpool_setup" +HREF="pgpool-setup.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="60%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="20%" +ALIGN="right" +VALIGN="top" +><A +TITLE="SQL type commands" +HREF="sql-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="WATCHDOG-SETUP" +></A +>watchdog_setup</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN4963" +></A +><H2 +>Name</H2 +>watchdog_setup&nbsp;--&nbsp; Create a temporary installation of Pgpool-II clusters with watchdog</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN4966" +></A +><H2 +>Synopsis</H2 +><P +><TT +CLASS="COMMAND" +>watchdog_setup</TT +> [<TT +CLASS="REPLACEABLE" +><I +>option</I +></TT +>...]</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="R1-WATCHDOG-SETUP-1" +></A +><H2 +> Description + </H2 +><P +> <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> creates a temporary + installation of <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> clusters with watchdog enabled, which + includes a <SPAN +CLASS="PRODUCTNAME" +>Pgpool-II</SPAN +> installation and + specified number of <SPAN +CLASS="PRODUCTNAME" +>PostgreSQL</SPAN +> + installations under current directory. + Current directory must be empty before running <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +>. + </P +><P +> <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> is for testing purpose + only and should not be used to create production installations. + Also please note that heartbeat is not used. + </P +><P +> <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> + uses <A +HREF="pgpool-setup.html" +>pgpool_setup</A +> as a workhorse. + </P +><P +> Currently <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> supports streaming replication mode, native replication mode and raw mode. + Watchdog is not supported yet. + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN4986" +></A +><H2 +>Options</H2 +><P +> <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> accepts the following command-line arguments: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>-wn <TT +CLASS="REPLACEABLE" +><I +>num_pgpool</I +></TT +></TT +></DT +><DD +><P +> Specifies the number of Pgpool-II installations. + If this is omitted, <TT +CLASS="LITERAL" +>3</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-wp <TT +CLASS="REPLACEABLE" +><I +>watchdog_base_port</I +></TT +></TT +></DT +><DD +><P +> Specify the starting base port number used by Pgpool-II and + PostgreSQL. For the first Pgpool-II, Pgpool-II port is + watchdog_base_port. pcp port is u watchdog port is + watchdog_base_port + 2. wd_heartbeat_port is + watchdog_base_port + 3 (though heartbeat is not used). The + first PostgreSQL node's port is watchdog_base_port + 4, + second PostgreSQL node's port is watchdog_base_port + 5 and + so on. + </P +><P +> If this is omitted, <TT +CLASS="LITERAL" +>50000</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-m <TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +></TT +></DT +><DD +><P +> Specifies the running mode. <TT +CLASS="REPLACEABLE" +><I +>mode</I +></TT +> + can be <TT +CLASS="LITERAL" +>r</TT +> (native replication mode), <TT +CLASS="LITERAL" +>s</TT +> (streaming replication mode), or + <TT +CLASS="LITERAL" +>n</TT +> (raw mode). + If this is omitted, <TT +CLASS="LITERAL" +>s</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-n <TT +CLASS="REPLACEABLE" +><I +>num_clusters</I +></TT +></TT +></DT +><DD +><P +> Specifies the number of PostgreSQL installations. + If this is omitted, <TT +CLASS="LITERAL" +>2</TT +> is used. + </P +></DD +><DT +><TT +CLASS="OPTION" +>--no-stop</TT +></DT +><DD +><P +> Do not stop pgpool and PostgreSQL after the work. + </P +></DD +><DT +><TT +CLASS="OPTION" +>-d</TT +></DT +><DD +><P +> Start pgpool with debug mode. + </P +></DD +></DL +></DIV +><P> + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5034" +></A +><H2 +>Environment variables</H2 +><P +> <SPAN +CLASS="APPLICATION" +>watchdog_setup</SPAN +> recognizes following environment variables: + + <P +></P +></P><DIV +CLASS="VARIABLELIST" +><DL +><DT +><TT +CLASS="OPTION" +>PGPOOL_SETUP</TT +></DT +><DD +><P +> Specifies the path to pgpool_setup command. The default is + "pgpool_setup", thus it is assumed that pgpool_setup is in the + command search path. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGPOOL_INSTALL_DIR</TT +></DT +><DD +><P +> Specifies the Pgpool-II installation directory. Pgpool-II + binaries is expected to be placed under PGPOOL_INSTALL_DIR/bin + and pgpool.conf and pool_hba.conf etc. are expected to be placed under + PGPOOL_INSTALL_DIR/etc. The default is /usr/local. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGPOOLDIR</TT +></DT +><DD +><P +> Specifies the path to Pgpool-II configuration files. + The default is PGPOOL_INSTALL_DIR/etc. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGBIN</TT +></DT +><DD +><P +> Specifies the path to PostgreSQL commands such as initdb, pg_ctl and psql. + The default is /usr/local/pgsql/bin. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGLIB</TT +></DT +><DD +><P +> Specifies the path to PostgreSQL shared libraries. + The default is /usr/local/pgsql/lib. + </P +></DD +><DT +><TT +CLASS="OPTION" +>PGSOCKET_DIR</TT +></DT +><DD +><P +> Specifies the path to Unix socket directory. + The default is /tmp. + </P +></DD +><DT +><TT +CLASS="OPTION" +>INITDBARG</TT +></DT +><DD +><P +> Specifies the arguments for initdb command. + The default is "--no-locale -E UTF_8". + </P +></DD +></DL +></DIV +><P> + + </P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN5074" +></A +><H2 +>Example</H2 +><P +></P><PRE +CLASS="SCREEN" +>$ watchdog_setup +Satrting set up +============= setting up pgpool 0 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | true | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50000 +pcp port is 50001 +The info above is in README.port. +============= setting up pgpool 1 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | false | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50004 +pcp port is 50005 +The info above is in README.port. +============= setting up pgpool 2 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | false | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50008 +pcp port is 50009 +The info above is in README.port. + +$ ls +pgpool0 pgpool1 pgpool2 shutdownall startall + +$ sh startall +waiting for server to start....16123 2016-08-18 16:26:53 JST LOG: redirecting log output to logging collector process +16123 2016-08-18 16:26:53 JST HINT: Future log output will appear in directory "pg_log". + done +server started +waiting for server to start....16136 2016-08-18 16:26:54 JST LOG: redirecting log output to logging collector process +16136 2016-08-18 16:26:54 JST HINT: Future log output will appear in directory "pg_log". + done +server started + +t-ishii@localhost: psql -p 50000 test + +Pager usage is off. +psql (9.5.4) +Type "help" for help. + +test=# \q + +$ pcp_watchdog_info -p 50001 -v +Password: +Watchdog Cluster Information +Total Nodes : 3 +Remote Nodes : 2 +Quorum state : QUORUM EXIST +Alive Remote Nodes : 2 +VIP up on local node : NO +Master Node Name : Linux_tishii-CF-SX3HE4BP_50004 +Master Host Name : localhost + +Watchdog Node Information +Node Name : Linux_tishii-CF-SX3HE4BP_50000 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50000 +Watchdog port : 50002 +Node priority : 1 +Status : 7 +Status Name : STANDBY + +Node Name : Linux_tishii-CF-SX3HE4BP_50004 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50004 +Watchdog port : 50006 +Node priority : 1 +Status : 4 +Status Name : MASTER + +Node Name : Linux_tishii-CF-SX3HE4BP_50008 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50008 +Watchdog port : 50010 +Node priority : 1 +Status : 7 +Status Name : STANDBY&#13;</PRE +><P></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="pgpool-setup.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sql-commands.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>pgpool_setup</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="other-commands.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SQL type commands</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index cc587bdb1..00d452df1 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -52,7 +52,7 @@ You need an <acronym>ISO</>/<acronym>ANSI</> C compiler (at least C89-compliant). Recent versions of <productname>GCC</> are recommended, but - <productname>PostgreSQL</> is known to build using a wide variety + <productname>Pgpool-II</> is known to build using a wide variety of compilers from different vendors. </para> </listitem> [parent: daa8882670f1]