diff --git a/docs/cn/ivorysql-doc/master/about_ivorysql.html b/docs/cn/ivorysql-doc/master/about_ivorysql.html index bee1afb88..7bd6cdb4f 100644 --- a/docs/cn/ivorysql-doc/master/about_ivorysql.html +++ b/docs/cn/ivorysql-doc/master/about_ivorysql.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/architecture/dual_mode_design.html b/docs/cn/ivorysql-doc/master/architecture/dual_mode_design.html index 651ad3ca9..030d72ce0 100644 --- a/docs/cn/ivorysql-doc/master/architecture/dual_mode_design.html +++ b/docs/cn/ivorysql-doc/master/architecture/dual_mode_design.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/architecture/dual_parser.html b/docs/cn/ivorysql-doc/master/architecture/dual_parser.html index cae70c4bb..407744260 100644 --- a/docs/cn/ivorysql-doc/master/architecture/dual_parser.html +++ b/docs/cn/ivorysql-doc/master/architecture/dual_parser.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/architecture/framework_design.html b/docs/cn/ivorysql-doc/master/architecture/framework_design.html index 5fc70f1dc..ae14f5a36 100644 --- a/docs/cn/ivorysql-doc/master/architecture/framework_design.html +++ b/docs/cn/ivorysql-doc/master/architecture/framework_design.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/architecture/guc_framework.html b/docs/cn/ivorysql-doc/master/architecture/guc_framework.html index de67ddc04..e67593c62 100644 --- a/docs/cn/ivorysql-doc/master/architecture/guc_framework.html +++ b/docs/cn/ivorysql-doc/master/architecture/guc_framework.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/architecture/initdb_process.html b/docs/cn/ivorysql-doc/master/architecture/initdb_process.html index 0ee599d0c..adf5ad1d4 100644 --- a/docs/cn/ivorysql-doc/master/architecture/initdb_process.html +++ b/docs/cn/ivorysql-doc/master/architecture/initdb_process.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html b/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html index fd55222b3..1d5a2dc89 100644 --- a/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html +++ b/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html b/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html index 868224fcd..1332ab768 100644 --- a/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html +++ b/docs/cn/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/cluster_setup.html b/docs/cn/ivorysql-doc/master/cluster_setup.html index 1a02b07af..2b4c82ccc 100644 --- a/docs/cn/ivorysql-doc/master/cluster_setup.html +++ b/docs/cn/ivorysql-doc/master/cluster_setup.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/call_into.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/call_into.html index d8c2f98f9..8d26a2401 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/call_into.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/call_into.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/case_conversion.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/case_conversion.html index 01605b011..cd9c047c3 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/case_conversion.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/case_conversion.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html index 1073efb82..b19c61ce2 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/force_view.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/force_view.html index 3689b2a3a..627b72db5 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/force_view.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/force_view.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/function_procedure.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/function_procedure.html index 7208d5ef7..629baad87 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/function_procedure.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/function_procedure.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/like_operator.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/like_operator.html index 7b0ad0058..857ab0ab6 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/like_operator.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/like_operator.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/nested_function.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/nested_function.html index a2336ae6e..e05f3521f 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/nested_function.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/nested_function.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/nls_parameter.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/nls_parameter.html index 0f48df426..ce6124f4b 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/nls_parameter.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/nls_parameter.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/out_parameter.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/out_parameter.html index ea05456d4..279916d69 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/out_parameter.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/out_parameter.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/rowid.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/rowid.html index 8cd7e468f..28fdbe967 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/rowid.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/rowid.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html index ad4565e02..92efa20f8 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/compatibility_features_design/type_rowtype.html b/docs/cn/ivorysql-doc/master/compatibility_features_design/type_rowtype.html index 2517916be..bc51b1ae3 100644 --- a/docs/cn/ivorysql-doc/master/compatibility_features_design/type_rowtype.html +++ b/docs/cn/ivorysql-doc/master/compatibility_features_design/type_rowtype.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/containerization/docker_podman_deployment.html b/docs/cn/ivorysql-doc/master/containerization/docker_podman_deployment.html index efc7125bc..a667af2f9 100644 --- a/docs/cn/ivorysql-doc/master/containerization/docker_podman_deployment.html +++ b/docs/cn/ivorysql-doc/master/containerization/docker_podman_deployment.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html b/docs/cn/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html index 174e56e1b..68c8d7d0b 100644 --- a/docs/cn/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html +++ b/docs/cn/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/containerization/k8s_deployment.html b/docs/cn/ivorysql-doc/master/containerization/k8s_deployment.html index 17caec06f..d1f9a978c 100644 --- a/docs/cn/ivorysql-doc/master/containerization/k8s_deployment.html +++ b/docs/cn/ivorysql-doc/master/containerization/k8s_deployment.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/containerization/operator_deployment.html b/docs/cn/ivorysql-doc/master/containerization/operator_deployment.html index c45150f9d..117e35e64 100644 --- a/docs/cn/ivorysql-doc/master/containerization/operator_deployment.html +++ b/docs/cn/ivorysql-doc/master/containerization/operator_deployment.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/contribution/asciidoc_syntax_reference.html b/docs/cn/ivorysql-doc/master/contribution/asciidoc_syntax_reference.html index c32ad9a3f..c9b5b20bd 100644 --- a/docs/cn/ivorysql-doc/master/contribution/asciidoc_syntax_reference.html +++ b/docs/cn/ivorysql-doc/master/contribution/asciidoc_syntax_reference.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/contribution/community_contribution_guide.html b/docs/cn/ivorysql-doc/master/contribution/community_contribution_guide.html index c9d6612cc..86e8ce487 100644 --- a/docs/cn/ivorysql-doc/master/contribution/community_contribution_guide.html +++ b/docs/cn/ivorysql-doc/master/contribution/community_contribution_guide.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/contribution/faq.html b/docs/cn/ivorysql-doc/master/contribution/faq.html index e7c493f4f..dc0f68a9b 100644 --- a/docs/cn/ivorysql-doc/master/contribution/faq.html +++ b/docs/cn/ivorysql-doc/master/contribution/faq.html @@ -231,6 +231,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/contribution/issue_submission_guide.html b/docs/cn/ivorysql-doc/master/contribution/issue_submission_guide.html index a3f278883..96c295f76 100644 --- a/docs/cn/ivorysql-doc/master/contribution/issue_submission_guide.html +++ b/docs/cn/ivorysql-doc/master/contribution/issue_submission_guide.html @@ -230,6 +230,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html b/docs/cn/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html index dfbcbcbc1..b074f26fd 100644 --- a/docs/cn/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html +++ b/docs/cn/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html b/docs/cn/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html index 00653ef94..ebbe6a9d7 100644 --- a/docs/cn/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html +++ b/docs/cn/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/developer_guide.html b/docs/cn/ivorysql-doc/master/developer_guide.html index 7d8ba18b8..b36bb3728 100644 --- a/docs/cn/ivorysql-doc/master/developer_guide.html +++ b/docs/cn/ivorysql-doc/master/developer_guide.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html b/docs/cn/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html index c54fa9983..5363b6a60 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_ai_query.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_ai_query.html index 441fe2b2d..63f77b757 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_ai_query.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_ai_query.html @@ -6,7 +6,7 @@ pg_ai_query :: IvorySQL文档中心 - + @@ -232,6 +232,9 @@

文档中心

+ @@ -861,7 +864,7 @@

4.2 diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_cron.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_cron.html index a82c47609..103e21db6 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_cron.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_cron.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_curl.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_curl.html index ac9314f24..c112dbcc3 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_curl.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_curl.html @@ -5,7 +5,7 @@ pg_curl :: IvorySQL文档中心 - + @@ -232,6 +232,9 @@

文档中心

+ @@ -753,7 +756,7 @@

diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html index 78d3a6539..75607e2cd 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgaudit.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgaudit.html index a4d847fbb..8b1d15baa 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgaudit.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgaudit.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgbouncer.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgbouncer.html new file mode 100644 index 000000000..e9f3f923f --- /dev/null +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgbouncer.html @@ -0,0 +1,748 @@ + + + + + + PgBouncer :: IvorySQL文档中心 + + + + + + + + +
+ +
+
+ +
+ +
+ +
+

PgBouncer

+
+

1. 概述

+
+
+

PgBouncer 是轻量级连接池中间件,部署在应用层与数据库之间,通过复用后端连接来降低连接开销、保护数据库资源、提高应用并发性能。

+
+
+

PgBouncer 使用标准 PostgreSQL 通信协议,IvorySQL 完全兼容该协议。

+
+
+

三种连接池模式:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
模式说明适用场景

session

客户端连接期间独占一个后端连接

需要过程内 COMMIT、完整会话特性

transaction

每个事务结束后归还连接

最常用,连接复用率最高

statement

每条语句后归还连接

限制最多,不支持显式事务

+
+
+
+

2. 安装

+
+
+ + + + + +
+ + +源码测试安装环境为 Ubuntu 24.04。 +
+
+
+

2.1. 依赖

+
+
+
# Ubuntu / Debian
+sudo apt install libevent-dev libssl-dev pkg-config
+
+# RHEL / Rocky Linux
+sudo dnf install libevent-devel openssl-devel pkgconfig
+
+
+
+
+

2.2. 源码安装

+
+
+
git clone https://github.com/pgbouncer/pgbouncer.git
+cd pgbouncer
+
+./autogen.sh
+
+./configure \
+    --prefix=/usr/ivory-5 \
+    --with-openssl \
+    --with-pam
+
+make -j4
+make install
+cp pgbouncer /usr/ivory-5/bin/
+
+
+
+
+

2.3. 验证安装

+
+
+
pgbouncer --version
+# PgBouncer 1.25.1
+# libevent 2.1.12-stable
+# tls: OpenSSL 3.0.2 15 Mar 2022
+
+
+
+
+
+
+

3. 配置

+
+
+

3.1. 连接 IvorySQL PG 模式(端口 5432)

+
+

创建 /etc/pgbouncer/pgbouncer.ini

+
+
+
+
[databases]
+postgres = host=127.0.0.1 port=5432 dbname=postgres
+
+[pgbouncer]
+listen_addr = 127.0.0.1
+listen_port = 6432
+auth_type = trust
+auth_file = /etc/pgbouncer/userlist.txt
+pool_mode = transaction
+max_client_conn = 200
+default_pool_size = 20
+logfile = /var/log/pgbouncer/pgbouncer.log
+pidfile = /var/run/pgbouncer/pgbouncer.pid
+
+
+
+
+

3.2. 连接 IvorySQL Oracle 兼容模式(端口 1521)

+
+
+
[databases]
+postgres = host=127.0.0.1 port=1521 dbname=postgres
+
+[pgbouncer]
+listen_addr = 127.0.0.1
+listen_port = 2521
+auth_type = trust
+auth_file = /etc/pgbouncer/userlist.txt
+
+# Oracle 兼容模式建议使用 session 模式
+pool_mode = session
+
+max_client_conn = 200
+default_pool_size = 20
+logfile = /var/log/pgbouncer/pgbouncer_oracle.log
+pidfile = /var/run/pgbouncer/pgbouncer_oracle.pid
+
+
+
+
+

3.3. 用户认证文件

+
+
+
# /etc/pgbouncer/userlist.txt
+# 格式:"用户名" "密码"(trust 模式密码留空)
+"postgres" ""
+"app_user" "app_password"
+
+
+
+
+

3.4. 启动与停止

+
+
+
# 前台启动(调试)
+pgbouncer /etc/pgbouncer/pgbouncer.ini
+
+# 后台启动
+pgbouncer -d /etc/pgbouncer/pgbouncer.ini
+
+# 重载配置(不中断连接)
+kill -HUP $(cat /var/run/pgbouncer/pgbouncer.pid)
+
+# 停止
+kill -INT $(cat /var/run/pgbouncer/pgbouncer.pid)
+
+
+
+
+
+
+

4. 使用

+
+
+

4.1. 客户端连接

+
+

通过 PgBouncer 连接与直连 IvorySQL 语法完全一致,只需修改端口:

+
+
+
+
# PG 模式(经由 PgBouncer)
+psql -U postgres -p 6432 -d postgres
+
+# Oracle 兼容模式(经由 PgBouncer)
+psql -U postgres -p 2521 -d postgres
+
+
+
+
+

4.2. 管理控制台

+
+

PgBouncer 提供内置管理数据库:

+
+
+
+
psql -U postgres -p 6432 -d pgbouncer
+
+
+
+
+
-- 查看连接池状态
+SHOW POOLS;
+
+-- 查看统计信息
+SHOW STATS;
+
+-- 查看客户端连接
+SHOW CLIENTS;
+
+-- 查看后端连接
+SHOW SERVERS;
+
+-- 重载配置
+RELOAD;
+
+
+
+
+

4.3. Oracle 兼容模式

+
+
+
-- 确认 Oracle 模式已激活
+SHOW ivorysql.compatible_mode;
+--  ivorysql.compatible_mode
+-- --------------------------
+--  oracle
+
+-- Oracle 数据类型与函数
+CREATE TABLE bouncer_test (
+    id     NUMBER(10) PRIMARY KEY,
+    name   VARCHAR2(100),
+    hired  DATE DEFAULT SYSDATE
+);
+
+INSERT INTO bouncer_test VALUES (1, 'Alice', SYSDATE);
+
+SELECT id,
+       NVL(name, 'N/A')                   AS name,
+       DECODE(id, 1, 'CEO', 'Staff')       AS title,
+       TO_CHAR(hired, 'YYYY-MM-DD')        AS hire_date
+FROM bouncer_test;
+
+-- Oracle 序列
+CREATE SEQUENCE ora_seq START WITH 100 INCREMENT BY 10;
+SELECT ora_seq.NEXTVAL FROM DUAL;   -- 100
+SELECT ora_seq.NEXTVAL FROM DUAL;   -- 110
+SELECT ora_seq.CURRVAL FROM DUAL;   -- 110
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + + diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgddl.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgddl.html index b0c7a1688..c7fff22dc 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgddl.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgddl.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgroonga.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgroonga.html index c4567013c..ac561d8ea 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgroonga.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgroonga.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgrouting.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgrouting.html index 6ad50e284..e78737941 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgrouting.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgrouting.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgsql_http.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgsql_http.html index 53a6c3bf4..9a5d8d778 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgsql_http.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgsql_http.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/pgvector.html b/docs/cn/ivorysql-doc/master/ecosystem_components/pgvector.html index 3d1bc0db5..bf9318590 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/pgvector.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/pgvector.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/plpgsql_check.html b/docs/cn/ivorysql-doc/master/ecosystem_components/plpgsql_check.html index 2250e8b00..f61944882 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/plpgsql_check.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/plpgsql_check.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/postgis.html b/docs/cn/ivorysql-doc/master/ecosystem_components/postgis.html index 30db29cea..c631872f4 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/postgis.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/postgis.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/system_stats.html b/docs/cn/ivorysql-doc/master/ecosystem_components/system_stats.html index caf718d15..63dabca47 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/system_stats.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/system_stats.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/ecosystem_components/wal2json.html b/docs/cn/ivorysql-doc/master/ecosystem_components/wal2json.html index 2f970684b..6f6bf5b0f 100644 --- a/docs/cn/ivorysql-doc/master/ecosystem_components/wal2json.html +++ b/docs/cn/ivorysql-doc/master/ecosystem_components/wal2json.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/gb18030.html b/docs/cn/ivorysql-doc/master/gb18030.html index 412f512a4..59c7d2943 100644 --- a/docs/cn/ivorysql-doc/master/gb18030.html +++ b/docs/cn/ivorysql-doc/master/gb18030.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/getting-started/daily_maintenance.html b/docs/cn/ivorysql-doc/master/getting-started/daily_maintenance.html index 587e284e2..ce1a3d60e 100644 --- a/docs/cn/ivorysql-doc/master/getting-started/daily_maintenance.html +++ b/docs/cn/ivorysql-doc/master/getting-started/daily_maintenance.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/getting-started/daily_monitoring.html b/docs/cn/ivorysql-doc/master/getting-started/daily_monitoring.html index 42aec65f1..84fc80594 100644 --- a/docs/cn/ivorysql-doc/master/getting-started/daily_monitoring.html +++ b/docs/cn/ivorysql-doc/master/getting-started/daily_monitoring.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/getting-started/quick_start.html b/docs/cn/ivorysql-doc/master/getting-started/quick_start.html index 2279619e4..700e08944 100644 --- a/docs/cn/ivorysql-doc/master/getting-started/quick_start.html +++ b/docs/cn/ivorysql-doc/master/getting-started/quick_start.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/installation_guide.html b/docs/cn/ivorysql-doc/master/installation_guide.html index ea2e7726c..06b623843 100644 --- a/docs/cn/ivorysql-doc/master/installation_guide.html +++ b/docs/cn/ivorysql-doc/master/installation_guide.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/migration_guide.html b/docs/cn/ivorysql-doc/master/migration_guide.html index 591a0a475..73109985a 100644 --- a/docs/cn/ivorysql-doc/master/migration_guide.html +++ b/docs/cn/ivorysql-doc/master/migration_guide.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/operation_guide.html b/docs/cn/ivorysql-doc/master/operation_guide.html index 09be5a7ff..80c728a3d 100644 --- a/docs/cn/ivorysql-doc/master/operation_guide.html +++ b/docs/cn/ivorysql-doc/master/operation_guide.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_builtin_functions/sys_context.html b/docs/cn/ivorysql-doc/master/oracle_builtin_functions/sys_context.html index 6089c549c..c4e492390 100644 --- a/docs/cn/ivorysql-doc/master/oracle_builtin_functions/sys_context.html +++ b/docs/cn/ivorysql-doc/master/oracle_builtin_functions/sys_context.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_builtin_functions/userenv.html b/docs/cn/ivorysql-doc/master/oracle_builtin_functions/userenv.html index 281a0dc09..7a5544319 100644 --- a/docs/cn/ivorysql-doc/master/oracle_builtin_functions/userenv.html +++ b/docs/cn/ivorysql-doc/master/oracle_builtin_functions/userenv.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/anonymous_block.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/anonymous_block.html index 5c901d73b..1f17d7ae7 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/anonymous_block.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/anonymous_block.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html index 654f9fb39..4bc170c31 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_call_into.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_call_into.html index 07377c21b..6480e7e7a 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_call_into.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_call_into.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html index ce76cb94e..c6708b393 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html index 3bba6f765..6e6d6805b 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_force_view.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_force_view.html index 34f0cf97f..e1bb7bc1d 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_force_view.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_force_view.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html index 2b2bddddf..63ef1648a 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html index 772dbe93f..e783b14aa 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html index baca8008d..414010756 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html index 8506a6725..6d24757a7 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html index 8a19928f6..948a29583 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_rowid.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_rowid.html index 3dc87af59..f3b3464ed 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_rowid.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_rowid.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html index 0c2e3f5a7..dbe5e13ad 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html index ea162a0a3..13de30bde 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/invisible_column.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/invisible_column.html index 1ccde1648..ad037ca81 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/invisible_column.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/invisible_column.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/package.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/package.html index e00646624..98e5854d1 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/package.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/package.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/port_ip.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/port_ip.html index c9add0fab..56a09244d 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/port_ip.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/port_ip.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/sequence.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/sequence.html index 1754dbe03..35a02c8d0 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/sequence.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/sequence.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/oracle_compatibility/xml_functions.html b/docs/cn/ivorysql-doc/master/oracle_compatibility/xml_functions.html index cf726e05f..34da29840 100644 --- a/docs/cn/ivorysql-doc/master/oracle_compatibility/xml_functions.html +++ b/docs/cn/ivorysql-doc/master/oracle_compatibility/xml_functions.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/pg_reference/pg_functions_reference.html b/docs/cn/ivorysql-doc/master/pg_reference/pg_functions_reference.html index a01bf3849..c5a89f681 100644 --- a/docs/cn/ivorysql-doc/master/pg_reference/pg_functions_reference.html +++ b/docs/cn/ivorysql-doc/master/pg_reference/pg_functions_reference.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/pg_reference/pg_parameters_reference.html b/docs/cn/ivorysql-doc/master/pg_reference/pg_parameters_reference.html index 8abf48014..c307569b1 100644 --- a/docs/cn/ivorysql-doc/master/pg_reference/pg_parameters_reference.html +++ b/docs/cn/ivorysql-doc/master/pg_reference/pg_parameters_reference.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/problem_report_guide.html b/docs/cn/ivorysql-doc/master/problem_report_guide.html index b4d1d344c..c9cb8010b 100644 --- a/docs/cn/ivorysql-doc/master/problem_report_guide.html +++ b/docs/cn/ivorysql-doc/master/problem_report_guide.html @@ -230,6 +230,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/release_notes.html b/docs/cn/ivorysql-doc/master/release_notes.html index aa46a12b2..8826105f1 100644 --- a/docs/cn/ivorysql-doc/master/release_notes.html +++ b/docs/cn/ivorysql-doc/master/release_notes.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/tools_reference.html b/docs/cn/ivorysql-doc/master/tools_reference.html index 2150e5b2c..8d71fa085 100644 --- a/docs/cn/ivorysql-doc/master/tools_reference.html +++ b/docs/cn/ivorysql-doc/master/tools_reference.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/master/welcome.html b/docs/cn/ivorysql-doc/master/welcome.html index 5c8eb4039..881c36ef3 100644 --- a/docs/cn/ivorysql-doc/master/welcome.html +++ b/docs/cn/ivorysql-doc/master/welcome.html @@ -232,6 +232,9 @@

文档中心

+ diff --git a/docs/cn/ivorysql-doc/v1.17/_exports/index.pdf b/docs/cn/ivorysql-doc/v1.17/_exports/index.pdf new file mode 100644 index 000000000..5c1081f5c Binary files /dev/null and b/docs/cn/ivorysql-doc/v1.17/_exports/index.pdf differ diff --git a/docs/cn/ivorysql-doc/v1.17/ivorysql.pdf b/docs/cn/ivorysql-doc/v1.17/ivorysql.pdf new file mode 100644 index 000000000..5c1081f5c Binary files /dev/null and b/docs/cn/ivorysql-doc/v1.17/ivorysql.pdf differ diff --git a/docs/cn/ivorysql-doc/v1.17/v1.17/1.html b/docs/cn/ivorysql-doc/v1.17/v1.17/1.html index cb14aa5cf..a74543cda 100644 --- a/docs/cn/ivorysql-doc/v1.17/v1.17/1.html +++ b/docs/cn/ivorysql-doc/v1.17/v1.17/1.html @@ -147,6 +147,9 @@

IvorySQL

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/ivorysql-doc/master/architecture/dual_mode_design.html b/docs/en/ivorysql-doc/master/architecture/dual_mode_design.html index 6fdf5532e..7234c5e03 100644 --- a/docs/en/ivorysql-doc/master/architecture/dual_mode_design.html +++ b/docs/en/ivorysql-doc/master/architecture/dual_mode_design.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/architecture/dual_parser.html b/docs/en/ivorysql-doc/master/architecture/dual_parser.html index cce49a3f8..bdfe4fe0a 100644 --- a/docs/en/ivorysql-doc/master/architecture/dual_parser.html +++ b/docs/en/ivorysql-doc/master/architecture/dual_parser.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/architecture/framework_design.html b/docs/en/ivorysql-doc/master/architecture/framework_design.html index ee8b358d3..108383fe1 100644 --- a/docs/en/ivorysql-doc/master/architecture/framework_design.html +++ b/docs/en/ivorysql-doc/master/architecture/framework_design.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/architecture/guc_framework.html b/docs/en/ivorysql-doc/master/architecture/guc_framework.html index e8db8911d..70799d44d 100644 --- a/docs/en/ivorysql-doc/master/architecture/guc_framework.html +++ b/docs/en/ivorysql-doc/master/architecture/guc_framework.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/architecture/initdb_process.html b/docs/en/ivorysql-doc/master/architecture/initdb_process.html index f5a59da9c..a977a64fb 100644 --- a/docs/en/ivorysql-doc/master/architecture/initdb_process.html +++ b/docs/en/ivorysql-doc/master/architecture/initdb_process.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html b/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html index d67ff67e7..13a35046c 100644 --- a/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html +++ b/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_installation.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html b/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html index a3037eeac..ac4063d09 100644 --- a/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html +++ b/docs/en/ivorysql-doc/master/cloud_platform/ivorysql_cloud_usage.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/cluster_setup.html b/docs/en/ivorysql-doc/master/cluster_setup.html index 468c21193..b9f31900a 100644 --- a/docs/en/ivorysql-doc/master/cluster_setup.html +++ b/docs/en/ivorysql-doc/master/cluster_setup.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/call_into.html b/docs/en/ivorysql-doc/master/compatibility_features_design/call_into.html index abfea5c35..1a8c994fc 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/call_into.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/call_into.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/case_conversion.html b/docs/en/ivorysql-doc/master/compatibility_features_design/case_conversion.html index ccc644e8f..28b622026 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/case_conversion.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/case_conversion.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html b/docs/en/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html index df8a8bd8e..2972d697b 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/empty_string_to_null.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/force_view.html b/docs/en/ivorysql-doc/master/compatibility_features_design/force_view.html index 0e5ee54d7..fcee59c8b 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/force_view.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/force_view.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/function_procedure.html b/docs/en/ivorysql-doc/master/compatibility_features_design/function_procedure.html index ba0b39a8a..3e3d46e23 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/function_procedure.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/function_procedure.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/like_operator.html b/docs/en/ivorysql-doc/master/compatibility_features_design/like_operator.html index eac52da00..fa08f193f 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/like_operator.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/like_operator.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/nested_function.html b/docs/en/ivorysql-doc/master/compatibility_features_design/nested_function.html index fb249a303..37af58f4a 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/nested_function.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/nested_function.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/nls_parameter.html b/docs/en/ivorysql-doc/master/compatibility_features_design/nls_parameter.html index a8b290e2d..3025733e1 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/nls_parameter.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/nls_parameter.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/out_parameter.html b/docs/en/ivorysql-doc/master/compatibility_features_design/out_parameter.html index 229593aa4..befe6d431 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/out_parameter.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/out_parameter.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/rowid.html b/docs/en/ivorysql-doc/master/compatibility_features_design/rowid.html index e3a09cc05..36ccbc71e 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/rowid.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/rowid.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html b/docs/en/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html index 3a8ac421a..65e7642df 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/sys_guid_function.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/compatibility_features_design/type_rowtype.html b/docs/en/ivorysql-doc/master/compatibility_features_design/type_rowtype.html index 82f53871e..abe142872 100644 --- a/docs/en/ivorysql-doc/master/compatibility_features_design/type_rowtype.html +++ b/docs/en/ivorysql-doc/master/compatibility_features_design/type_rowtype.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/containerization/docker_podman_deployment.html b/docs/en/ivorysql-doc/master/containerization/docker_podman_deployment.html index f5e309eed..2e4183c67 100644 --- a/docs/en/ivorysql-doc/master/containerization/docker_podman_deployment.html +++ b/docs/en/ivorysql-doc/master/containerization/docker_podman_deployment.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html b/docs/en/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html index 6aad1222f..1ec016637 100644 --- a/docs/en/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html +++ b/docs/en/ivorysql-doc/master/containerization/docker_swarm_compose_deployment.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/containerization/k8s_deployment.html b/docs/en/ivorysql-doc/master/containerization/k8s_deployment.html index 858760d5e..afaef28e3 100644 --- a/docs/en/ivorysql-doc/master/containerization/k8s_deployment.html +++ b/docs/en/ivorysql-doc/master/containerization/k8s_deployment.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/containerization/operator_deployment.html b/docs/en/ivorysql-doc/master/containerization/operator_deployment.html index 2c2eaf910..4c1b5a166 100644 --- a/docs/en/ivorysql-doc/master/containerization/operator_deployment.html +++ b/docs/en/ivorysql-doc/master/containerization/operator_deployment.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/contribution/community_contribution_guide.html b/docs/en/ivorysql-doc/master/contribution/community_contribution_guide.html index 7561c1a69..c48dfe887 100644 --- a/docs/en/ivorysql-doc/master/contribution/community_contribution_guide.html +++ b/docs/en/ivorysql-doc/master/contribution/community_contribution_guide.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/contribution/faq.html b/docs/en/ivorysql-doc/master/contribution/faq.html index 2978c335f..0bc4a9e31 100644 --- a/docs/en/ivorysql-doc/master/contribution/faq.html +++ b/docs/en/ivorysql-doc/master/contribution/faq.html @@ -231,6 +231,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html b/docs/en/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html index c0fb0c60f..f0fb4d003 100644 --- a/docs/en/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html +++ b/docs/en/ivorysql-doc/master/cpu_os_adaptation/cpu_architecture_adaptation.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html b/docs/en/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html index 6cc6ff52b..862d6a33d 100644 --- a/docs/en/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html +++ b/docs/en/ivorysql-doc/master/cpu_os_adaptation/os_architecture_adaptation.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/developer_guide.html b/docs/en/ivorysql-doc/master/developer_guide.html index 3c87867bf..d2b7bafc9 100644 --- a/docs/en/ivorysql-doc/master/developer_guide.html +++ b/docs/en/ivorysql-doc/master/developer_guide.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html b/docs/en/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html index 4e1ec9059..98feae82e 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/ecosystem_overview.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pg_ai_query.html b/docs/en/ivorysql-doc/master/ecosystem_components/pg_ai_query.html index 542c93988..f1b164904 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pg_ai_query.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pg_ai_query.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pg_cron.html b/docs/en/ivorysql-doc/master/ecosystem_components/pg_cron.html index b5ab8deeb..f3526e6e7 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pg_cron.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pg_cron.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pg_curl.html b/docs/en/ivorysql-doc/master/ecosystem_components/pg_curl.html index 4ec603fd2..32e4dcd26 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pg_curl.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pg_curl.html @@ -5,7 +5,7 @@ pg_curl :: IvorySQL Document Site - + @@ -232,6 +232,9 @@

IvorySQL

+ @@ -738,7 +741,7 @@

- pg_stat_monitor + pgbouncer Monitoring diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html b/docs/en/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html index 4c923effc..9c47795e7 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pg_stat_monitor.html @@ -6,7 +6,7 @@ pg_stat_monitor :: IvorySQL Document Site - + @@ -232,6 +232,9 @@

IvorySQL

+ @@ -588,7 +591,7 @@

5. Usage

diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgaudit.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgaudit.html index 3af4f053d..b84c58484 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgaudit.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgaudit.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgbouncer.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgbouncer.html new file mode 100644 index 000000000..cd6cb436c --- /dev/null +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgbouncer.html @@ -0,0 +1,732 @@ + + + + + + PgBouncer :: IvorySQL Document Site + + + + + + + + +
+ +
+
+ +
+ +
+ +
+

PgBouncer

+
+

1. Overview

+
+
+

PgBouncer is a lightweight connection pooling middleware that sits between the application layer and the database. It reduces connection overhead, protects database resources, and improves application concurrency performance by reusing backend connections.

+
+
+

PgBouncer uses the standard PostgreSQL communication protocol, which IvorySQL fully supports.

+
+
+

Three Connection Pooling Modes:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ModeDescriptionUse Case

session

Client exclusively holds one backend connection for the duration of the session

Required for in-process COMMIT and full session features

transaction

Connection is returned to the pool after each transaction

Most commonly used, highest connection reuse rate

statement

Connection is returned after each statement

Most restrictive, does not support explicit transactions

+
+
+
+

2. Installation

+
+
+ + + + + +
+ + +Source installation was tested on Ubuntu 24.04. +
+
+
+

2.1. Dependencies

+
+
+
# Ubuntu / Debian
+sudo apt install libevent-dev libssl-dev pkg-config
+
+# RHEL / Rocky Linux
+sudo dnf install libevent-devel openssl-devel pkgconfig
+
+
+
+
+

2.2. Source Installation

+
+
+
git clone https://github.com/pgbouncer/pgbouncer.git
+cd pgbouncer
+
+./autogen.sh
+
+./configure \
+    --prefix=/usr/ivory-5 \
+    --with-openssl \
+    --with-pam
+
+make -j4
+make install
+cp pgbouncer /usr/ivory-5/bin/
+
+
+
+
+

2.3. Verify Installation

+
+
+
pgbouncer --version
+# PgBouncer 1.25.1
+# libevent 2.1.12-stable
+# tls: OpenSSL 3.0.2 15 Mar 2022
+
+
+
+
+
+
+

3. Configuration

+
+
+

3.1. Connecting to IvorySQL PG Mode (Port 5432)

+
+

Create /etc/pgbouncer/pgbouncer.ini:

+
+
+
+
[databases]
+postgres = host=127.0.0.1 port=5432 dbname=postgres
+
+[pgbouncer]
+listen_addr = 127.0.0.1
+listen_port = 6432
+auth_type = trust
+auth_file = /etc/pgbouncer/userlist.txt
+pool_mode = transaction
+max_client_conn = 200
+default_pool_size = 20
+logfile = /var/log/pgbouncer/pgbouncer.log
+pidfile = /var/run/pgbouncer/pgbouncer.pid
+
+
+
+
+

3.2. Connecting to IvorySQL Oracle Compatible Mode (Port 1521)

+
+
+
[databases]
+postgres = host=127.0.0.1 port=1521 dbname=postgres
+
+[pgbouncer]
+listen_addr = 127.0.0.1
+listen_port = 2521
+auth_type = trust
+auth_file = /etc/pgbouncer/userlist.txt
+
+# Oracle compatible mode recommends session mode
+pool_mode = session
+
+max_client_conn = 200
+default_pool_size = 20
+logfile = /var/log/pgbouncer/pgbouncer_oracle.log
+pidfile = /var/run/pgbouncer/pgbouncer_oracle.pid
+
+
+
+
+

3.3. User Authentication File

+
+
+
# /etc/pgbouncer/userlist.txt
+# Format: "username" "password" (trust mode can leave password empty)
+"postgres" ""
+"app_user" "app_password"
+
+
+
+
+

3.4. Start and Stop

+
+
+
# Foreground mode (for debugging)
+pgbouncer /etc/pgbouncer/pgbouncer.ini
+
+# Daemon mode
+pgbouncer -d /etc/pgbouncer/pgbouncer.ini
+
+# Reload configuration (without interrupting connections)
+kill -HUP $(cat /var/run/pgbouncer/pgbouncer.pid)
+
+# Stop
+kill -INT $(cat /var/run/pgbouncer/pgbouncer.pid)
+
+
+
+
+
+
+

4. Usage

+
+
+

4.1. Client Connection

+
+

Connecting through PgBouncer uses the exact same syntax as connecting directly to IvorySQL, only the port changes:

+
+
+
+
# PG mode (via PgBouncer)
+psql -U postgres -p 6432 -d postgres
+
+# Oracle compatible mode (via PgBouncer)
+psql -U postgres -p 2521 -d postgres
+
+
+
+
+

4.2. Admin Console

+
+

PgBouncer provides a built-in administration database:

+
+
+
+
psql -U postgres -p 6432 -d pgbouncer
+
+
+
+
+
-- View pool status
+SHOW POOLS;
+
+-- View statistics
+SHOW STATS;
+
+-- View client connections
+SHOW CLIENTS;
+
+-- View backend connections
+SHOW SERVERS;
+
+-- Reload configuration
+RELOAD;
+
+
+
+
+

4.3. Oracle Compatible Mode

+
+
+
-- Verify Oracle mode is active
+SHOW ivorysql.compatible_mode;
+--  ivorysql.compatible_mode
+-- --------------------------
+--  oracle
+
+-- Oracle data types and functions
+CREATE TABLE bouncer_test (
+    id     NUMBER(10) PRIMARY KEY,
+    name   VARCHAR2(100),
+    hired  DATE DEFAULT SYSDATE
+);
+
+INSERT INTO bouncer_test VALUES (1, 'Alice', SYSDATE);
+
+SELECT id,
+       NVL(name, 'N/A')                   AS name,
+       DECODE(id, 1, 'CEO', 'Staff')       AS title,
+       TO_CHAR(hired, 'YYYY-MM-DD')        AS hire_date
+FROM bouncer_test;
+
+-- Oracle sequences
+CREATE SEQUENCE ora_seq START WITH 100 INCREMENT BY 10;
+SELECT ora_seq.NEXTVAL FROM DUAL;   -- 100
+SELECT ora_seq.NEXTVAL FROM DUAL;   -- 110
+SELECT ora_seq.CURRVAL FROM DUAL;   -- 110
+
+
+
+
+
+ +
+
+
+
+
+ +
+ + + + + + + diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgddl.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgddl.html index 97f35f2e7..4dff9df77 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgddl.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgddl.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgroonga.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgroonga.html index f347f0d73..6f1996398 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgroonga.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgroonga.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgrouting.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgrouting.html index 54f1611b4..b697079cf 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgrouting.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgrouting.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgsql_http.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgsql_http.html index 365db1be9..6eff6277a 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgsql_http.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgsql_http.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/pgvector.html b/docs/en/ivorysql-doc/master/ecosystem_components/pgvector.html index fae44407f..76e9c9e2c 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/pgvector.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/pgvector.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/plpgsql_check.html b/docs/en/ivorysql-doc/master/ecosystem_components/plpgsql_check.html index 42c2e3735..68bccb36f 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/plpgsql_check.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/plpgsql_check.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/postgis.html b/docs/en/ivorysql-doc/master/ecosystem_components/postgis.html index 33a71cb76..7e58d1da6 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/postgis.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/postgis.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/system_stats.html b/docs/en/ivorysql-doc/master/ecosystem_components/system_stats.html index 29ab08ab3..42d77ce3a 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/system_stats.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/system_stats.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/ecosystem_components/wal2json.html b/docs/en/ivorysql-doc/master/ecosystem_components/wal2json.html index 62aa9a6e6..903f526a6 100644 --- a/docs/en/ivorysql-doc/master/ecosystem_components/wal2json.html +++ b/docs/en/ivorysql-doc/master/ecosystem_components/wal2json.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/gb18030.html b/docs/en/ivorysql-doc/master/gb18030.html index eedc66332..56dfbd1a8 100644 --- a/docs/en/ivorysql-doc/master/gb18030.html +++ b/docs/en/ivorysql-doc/master/gb18030.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/getting-started/daily_maintenance.html b/docs/en/ivorysql-doc/master/getting-started/daily_maintenance.html index 19b4cd2d3..4bf739375 100644 --- a/docs/en/ivorysql-doc/master/getting-started/daily_maintenance.html +++ b/docs/en/ivorysql-doc/master/getting-started/daily_maintenance.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/getting-started/daily_monitoring.html b/docs/en/ivorysql-doc/master/getting-started/daily_monitoring.html index 147d86885..7271d25bc 100644 --- a/docs/en/ivorysql-doc/master/getting-started/daily_monitoring.html +++ b/docs/en/ivorysql-doc/master/getting-started/daily_monitoring.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/getting-started/quick_start.html b/docs/en/ivorysql-doc/master/getting-started/quick_start.html index 07678355d..5906e1de5 100644 --- a/docs/en/ivorysql-doc/master/getting-started/quick_start.html +++ b/docs/en/ivorysql-doc/master/getting-started/quick_start.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/installation_guide.html b/docs/en/ivorysql-doc/master/installation_guide.html index 0fb5e788e..f8a48a21e 100644 --- a/docs/en/ivorysql-doc/master/installation_guide.html +++ b/docs/en/ivorysql-doc/master/installation_guide.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/migration_guide.html b/docs/en/ivorysql-doc/master/migration_guide.html index 812ecdb73..8d666fad0 100644 --- a/docs/en/ivorysql-doc/master/migration_guide.html +++ b/docs/en/ivorysql-doc/master/migration_guide.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/operation_guide.html b/docs/en/ivorysql-doc/master/operation_guide.html index b939aa9ec..64f31ed3d 100644 --- a/docs/en/ivorysql-doc/master/operation_guide.html +++ b/docs/en/ivorysql-doc/master/operation_guide.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_builtin_functions/sys_context.html b/docs/en/ivorysql-doc/master/oracle_builtin_functions/sys_context.html index 861f05015..de2fafeb1 100644 --- a/docs/en/ivorysql-doc/master/oracle_builtin_functions/sys_context.html +++ b/docs/en/ivorysql-doc/master/oracle_builtin_functions/sys_context.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_builtin_functions/userenv.html b/docs/en/ivorysql-doc/master/oracle_builtin_functions/userenv.html index bd0f09023..9c709c7dd 100644 --- a/docs/en/ivorysql-doc/master/oracle_builtin_functions/userenv.html +++ b/docs/en/ivorysql-doc/master/oracle_builtin_functions/userenv.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/anonymous_block.html b/docs/en/ivorysql-doc/master/oracle_compatibility/anonymous_block.html index c4deb0be0..bd9dd104f 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/anonymous_block.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/anonymous_block.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html b/docs/en/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html index 39e8919a9..6a6be31ee 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/builtin_types_functions.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_call_into.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_call_into.html index 95e5aea8f..08e411005 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_call_into.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_call_into.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html index 36711fdd5..af3e864fa 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_case_conversion.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html index f2ba4ea7a..f5dfe3257 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_empty_string_to_null.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_force_view.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_force_view.html index 219418c26..c728ca39a 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_force_view.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_force_view.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html index 2b459b1ba..82120eebe 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_function_procedure.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html index 6a114cfe3..f5ff3304a 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_like_operator.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html index a284cb7bb..45f50cf4b 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nested_function.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html index a4f9b2d54..b3e714d8d 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_nls_parameter.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html index 2d1dbede3..c2574b52d 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_out_parameter.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_rowid.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_rowid.html index 0bbf99397..1b0471e94 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_rowid.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_rowid.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html index b80679c71..53e231fd7 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_sys_guid.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html index ec3059f9e..d5ec1336a 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/compat_type_rowtype.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/invisible_column.html b/docs/en/ivorysql-doc/master/oracle_compatibility/invisible_column.html index 76c945074..d55876004 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/invisible_column.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/invisible_column.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/package.html b/docs/en/ivorysql-doc/master/oracle_compatibility/package.html index b32c1f227..99a5fb05c 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/package.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/package.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/port_ip.html b/docs/en/ivorysql-doc/master/oracle_compatibility/port_ip.html index 47b468a77..44670a66a 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/port_ip.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/port_ip.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/sequence.html b/docs/en/ivorysql-doc/master/oracle_compatibility/sequence.html index 9cd4d2ccd..1701a039d 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/sequence.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/sequence.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/oracle_compatibility/xml_functions.html b/docs/en/ivorysql-doc/master/oracle_compatibility/xml_functions.html index ce2464492..f838be3b1 100644 --- a/docs/en/ivorysql-doc/master/oracle_compatibility/xml_functions.html +++ b/docs/en/ivorysql-doc/master/oracle_compatibility/xml_functions.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/release_notes.html b/docs/en/ivorysql-doc/master/release_notes.html index 069b2b26d..1e74eab1e 100644 --- a/docs/en/ivorysql-doc/master/release_notes.html +++ b/docs/en/ivorysql-doc/master/release_notes.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/tools_reference.html b/docs/en/ivorysql-doc/master/tools_reference.html index 36816a018..cd75cba7d 100644 --- a/docs/en/ivorysql-doc/master/tools_reference.html +++ b/docs/en/ivorysql-doc/master/tools_reference.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/master/welcome.html b/docs/en/ivorysql-doc/master/welcome.html index 4e1103deb..cecedcc2d 100644 --- a/docs/en/ivorysql-doc/master/welcome.html +++ b/docs/en/ivorysql-doc/master/welcome.html @@ -232,6 +232,9 @@

IvorySQL

+ diff --git a/docs/en/ivorysql-doc/v1.17/_exports/index.pdf b/docs/en/ivorysql-doc/v1.17/_exports/index.pdf new file mode 100644 index 000000000..cd58e21f0 Binary files /dev/null and b/docs/en/ivorysql-doc/v1.17/_exports/index.pdf differ diff --git a/docs/en/ivorysql-doc/v1.17/ivorysql.pdf b/docs/en/ivorysql-doc/v1.17/ivorysql.pdf new file mode 100644 index 000000000..cd58e21f0 Binary files /dev/null and b/docs/en/ivorysql-doc/v1.17/ivorysql.pdf differ diff --git a/docs/en/ivorysql-doc/v1.17/v1.17/1.html b/docs/en/ivorysql-doc/v1.17/v1.17/1.html index cc2344ded..4170a297f 100644 --- a/docs/en/ivorysql-doc/v1.17/v1.17/1.html +++ b/docs/en/ivorysql-doc/v1.17/v1.17/1.html @@ -147,6 +147,9 @@

IvorySQL

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +