From a0530834e10940c8ef0ef645ecb0a9a8c16cf305 Mon Sep 17 00:00:00 2001 From: messere1 Date: Sun, 6 Sep 2026 18:50:55 +0800 Subject: [PATCH 1/4] docs: add timescaledb toolkit adaptation guide --- CN/modules/ROOT/nav.adoc | 3 +- .../ecosystem_overview.adoc | 1 + .../timescaledb_toolkit.adoc | 107 ++++++++++++++++++ EN/modules/ROOT/nav.adoc | 1 + .../ecosystem_overview.adoc | 1 + .../timescaledb_toolkit.adoc | 107 ++++++++++++++++++ 6 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc create mode 100644 EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index 68f93003..d6e0fbd8 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -75,7 +75,8 @@ *** xref:master/ecosystem_components/pg_readonly.adoc[pg_readonly] *** xref:master/ecosystem_components/zhparser.adoc[zhparser] *** xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] -*** xref:master/ecosystem_components/set_user.adoc[set_user] +*** xref:master/ecosystem_components/set_user.adoc[set_user] +*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] * 监控运维 ** xref:master/getting-started/daily_monitoring.adoc[日常监控] ** xref:master/getting-started/daily_maintenance.adoc[日常维护] diff --git a/CN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc b/CN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc index 074ce67c..9714423f 100644 --- a/CN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc +++ b/CN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc @@ -41,6 +41,7 @@ IvorySQL 作为一款兼容 Oracle 且基于 PostgreSQL 的高级开源数据库 | 28 | xref:master/ecosystem_components/zhparser.adoc[zhparser] | master branch | 用于中文全文搜索的PostgreSQL插件,基于SCWS(即:简易中文分词系统)实现了一个中文解析器 | 搜索引擎、关键字提取 | 29 | xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] | 2.58.0 | 可靠的 PostgreSQL 备份和恢复解决方案 | 容灾备份、大库备份、异地/多层容灾 | 30 | xref:master/ecosystem_components/set_user.adoc[set_user] | REL4_2_0 | PostgreSQL 安全审计扩展,可控角色切换,支持白名单、强制审计、拦截高危操作 | 可控角色切换、权限管理、审计日志 +| 31 | xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] | 1.26.0 | 提供统计分析和时间序列聚合函数 | 可观测性、传感器分析、近似分析 |==== 这些插件均经过 IvorySQL 团队的测试和适配,确保在 IvorySQL 环境下稳定运行。用户可以根据业务需求选择合适的插件,进一步提升数据库系统的能力和灵活性。 diff --git a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc new file mode 100644 index 00000000..5e877a8a --- /dev/null +++ b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -0,0 +1,107 @@ +:sectnums: +:sectnumlevels: 5 + += timescaledb_toolkit + +== 概述 + +TimescaleDB Toolkit 为 PostgreSQL 提供统计分析、近似百分位数、近似去重计数、计数器和时间加权计算等聚合函数。Toolkit 也可运行在普通 PostgreSQL 兼容数据库上,本文示例不强制依赖 TimescaleDB。 + +本文在 x86_64 Linux 上使用 IvorySQL 5.4(PostgreSQL 18.4)、TimescaleDB Toolkit 1.26.0、Rust 1.98.1 和 `cargo-pgrx` 0.18.1 完成验证。Toolkit Rust 工作区测试全部通过,发布版扩展无需修改源码即可编译,代表性超函数在 PostgreSQL 和 Oracle 兼容会话中均通过验证。 + +== 准备环境 + +安装 C 编译工具链、Rust,以及与运行扩展的 IvorySQL 实例完全匹配的开发文件。Toolkit 1.26.0 要求 Rust 1.96 或更高版本。 + +[source,bash] +---- +cargo install cargo-pgrx --version 0.18.1 --locked +cargo pgrx init --pg18 /path-to/ivorysql/bin/pg_config +---- + +== 编译安装 + +[source,bash] +---- +git clone --branch 1.26.0 --depth 1 \ + https://github.com/timescale/timescaledb-toolkit.git +cd timescaledb-toolkit + +./tools/build \ + -pg18 \ + -pgconfig /path-to/ivorysql/bin/pg_config \ + -profile release \ + install +---- + +部署前运行上游测试: + +[source,bash] +---- +cargo test --workspace --exclude timescaledb_toolkit +---- + +== 创建扩展 + +通过 IvorySQL PostgreSQL 兼容端口连接,并在每个目标数据库中创建扩展: + +[source,sql] +---- +CREATE EXTENSION timescaledb_toolkit; +SELECT extversion +FROM pg_extension +WHERE extname = 'timescaledb_toolkit'; +---- + +== 功能验证 + +[source,sql] +---- +CREATE TABLE metrics ( + ts timestamptz NOT NULL, + device text NOT NULL, + value double precision NOT NULL +); + +INSERT INTO metrics VALUES + ('2026-01-01 00:00:00+00', 'sensor-a', 10), + ('2026-01-01 00:01:00+00', 'sensor-a', 20), + ('2026-01-01 00:02:00+00', 'sensor-b', 30), + ('2026-01-01 00:03:00+00', 'sensor-c', 40); + +SELECT round(average(stats_agg(value))::numeric, 2) AS average_value, + round(approx_percentile(0.5, percentile_agg(value))::numeric, 2) + AS approximate_median +FROM metrics; + +SELECT distinct_count(hyperloglog(32, device)) AS approximate_devices +FROM metrics; + +SELECT round(delta(counter_agg(ts, value))::numeric, 2) AS counter_delta, + round(average(time_weight('Linear', ts, value))::numeric, 2) + AS time_weighted_average +FROM metrics; +---- + +验证结果分别为:平均值 `25.00`、近似中位数 `29.99`、设备数 3、计数器增量 `30.00`、时间加权平均值 `25.00`。 + +== Oracle 兼容模式 + +通过 PostgreSQL 兼容端口创建扩展后,可在 Oracle 兼容会话中调用已验证的函数: + +[source,sql] +---- +SET ivorysql.compatible_mode = oracle; +SELECT 1 FROM dual; + +SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, + distinct_count(hyperloglog(32, device)) AS oracle_devices +FROM metrics; +---- + +[IMPORTANT] +==== +在 IvorySQL 5.4 中,直接通过 Oracle 兼容连接执行 `CREATE EXTENSION timescaledb_toolkit` 会失败,因为上游安装脚本使用 PostgreSQL 语法。请先通过 PostgreSQL 兼容端口创建扩展。该限制不影响切换到 Oracle 兼容模式后调用本文验证的 Toolkit 函数。 +==== + +Toolkit 本身不提供 hypertable 或后台任务;如需这些功能,应另行安装 TimescaleDB。完整函数说明请参阅 https://github.com/timescale/timescaledb-toolkit[上游项目]。 diff --git a/EN/modules/ROOT/nav.adoc b/EN/modules/ROOT/nav.adoc index 1103c116..36b0bc87 100644 --- a/EN/modules/ROOT/nav.adoc +++ b/EN/modules/ROOT/nav.adoc @@ -76,6 +76,7 @@ *** xref:master/ecosystem_components/zhparser_en.adoc[zhparser] *** xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] *** xref:master/ecosystem_components/set_user.adoc[set_user] +*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] * Monitor and O&M ** xref:master/getting-started/daily_monitoring.adoc[Monitoring] ** xref:master/getting-started/daily_maintenance.adoc[Maintenance] diff --git a/EN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc b/EN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc index 4e3270c9..49279ca8 100644 --- a/EN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc +++ b/EN/modules/ROOT/pages/master/ecosystem_components/ecosystem_overview.adoc @@ -42,6 +42,7 @@ IvorySQL, as an advanced open-source database compatible with Oracle and based o |*28*| xref:master/ecosystem_components/zhparser_en.adoc[zhparser] | master branch | PostgreSQL extension for full-text search of Chinese language (Mandarin Chinese). It implements a Chinese language parser base on the | Search engine、keyword extraction |*29*| xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] | 2.58.0 | pgBackRest is a reliable backup and restore solution for PostgreSQL that seamlessly scales up to the largest databases and workloads | Disaster recovery backup, large database backup, off-site/multi-tier disaster recovery | *30* | xref:master/ecosystem_components/set_user.adoc[set_user] | REL4_2_0 | PostgreSQL security auditing extension with controlled role switching, supporting allowlists, enforced auditing, and blocking of high-risk operations | Controlled role switching, privilege management, audit logging +| *31* | xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] | 1.26.0 | Provides statistical and time-series aggregate functions | Observability, sensor analytics, approximate analytics |==== These plugins have all been tested and adapted by the IvorySQL team to ensure stable operation in the IvorySQL environment. Users can select appropriate plugins based on business needs to further enhance the capabilities and flexibility of the database system. diff --git a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc new file mode 100644 index 00000000..d63e1ec0 --- /dev/null +++ b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -0,0 +1,107 @@ +:sectnums: +:sectnumlevels: 5 + += timescaledb_toolkit + +== Overview + +TimescaleDB Toolkit provides PostgreSQL aggregate functions for statistical analysis, approximate percentiles, distinct counting, counters, and time-weighted calculations. Toolkit can run on plain PostgreSQL-compatible databases; TimescaleDB is optional for the examples in this guide. + +This guide was validated on x86_64 Linux with IvorySQL 5.4 (PostgreSQL 18.4), TimescaleDB Toolkit 1.26.0, Rust 1.98.1, and `cargo-pgrx` 0.18.1. The Toolkit Rust workspace tests passed, the release extension built without source changes, and representative hyperfunctions passed in PostgreSQL and Oracle-compatible sessions. + +== Prerequisites + +Install the C build toolchain, Rust, and the development files for the same IvorySQL installation that will load the extension. Toolkit 1.26.0 requires Rust 1.96 or later. + +[source,bash] +---- +cargo install cargo-pgrx --version 0.18.1 --locked +cargo pgrx init --pg18 /path-to/ivorysql/bin/pg_config +---- + +== Build and install + +[source,bash] +---- +git clone --branch 1.26.0 --depth 1 \ + https://github.com/timescale/timescaledb-toolkit.git +cd timescaledb-toolkit + +./tools/build \ + -pg18 \ + -pgconfig /path-to/ivorysql/bin/pg_config \ + -profile release \ + install +---- + +Run the upstream tests before deployment: + +[source,bash] +---- +cargo test --workspace --exclude timescaledb_toolkit +---- + +== Create the extension + +Connect through the IvorySQL PostgreSQL-compatible port and create the extension in each target database: + +[source,sql] +---- +CREATE EXTENSION timescaledb_toolkit; +SELECT extversion +FROM pg_extension +WHERE extname = 'timescaledb_toolkit'; +---- + +== Functional validation + +[source,sql] +---- +CREATE TABLE metrics ( + ts timestamptz NOT NULL, + device text NOT NULL, + value double precision NOT NULL +); + +INSERT INTO metrics VALUES + ('2026-01-01 00:00:00+00', 'sensor-a', 10), + ('2026-01-01 00:01:00+00', 'sensor-a', 20), + ('2026-01-01 00:02:00+00', 'sensor-b', 30), + ('2026-01-01 00:03:00+00', 'sensor-c', 40); + +SELECT round(average(stats_agg(value))::numeric, 2) AS average_value, + round(approx_percentile(0.5, percentile_agg(value))::numeric, 2) + AS approximate_median +FROM metrics; + +SELECT distinct_count(hyperloglog(32, device)) AS approximate_devices +FROM metrics; + +SELECT round(delta(counter_agg(ts, value))::numeric, 2) AS counter_delta, + round(average(time_weight('Linear', ts, value))::numeric, 2) + AS time_weighted_average +FROM metrics; +---- + +The validated results are an average of `25.00`, an approximate median of `29.99`, three distinct devices, a counter delta of `30.00`, and a time-weighted average of `25.00`. + +== Oracle-compatible mode + +After creating the extension through the PostgreSQL-compatible port, the tested functions can be used in an Oracle-compatible session: + +[source,sql] +---- +SET ivorysql.compatible_mode = oracle; +SELECT 1 FROM dual; + +SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, + distinct_count(hyperloglog(32, device)) AS oracle_devices +FROM metrics; +---- + +[IMPORTANT] +==== +With IvorySQL 5.4, running `CREATE EXTENSION timescaledb_toolkit` directly through an Oracle-compatible connection fails because the upstream installation script uses PostgreSQL syntax. Create the extension through the PostgreSQL-compatible port first. This limitation does not prevent the validated Toolkit functions from being called after switching a session to Oracle-compatible mode. +==== + +Toolkit does not provide hypertables or background jobs. Install TimescaleDB separately if those features are required. See https://github.com/timescale/timescaledb-toolkit[the upstream project] for the complete function reference. From 414afcd45ea83743273b408acdede5cc7f338fd6 Mon Sep 17 00:00:00 2001 From: messere1 Date: Sun, 6 Sep 2026 18:59:55 +0800 Subject: [PATCH 2/4] docs: address toolkit documentation review --- CN/modules/ROOT/nav.adoc | 186 +++++++++--------- .../timescaledb_toolkit.adoc | 2 +- .../timescaledb_toolkit.adoc | 2 +- 3 files changed, 95 insertions(+), 95 deletions(-) diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index d6e0fbd8..55ab9630 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -1,129 +1,129 @@ * xref:master/about_ivorysql.adoc[关于IvorySQL] ** xref:master/welcome.adoc[欢迎] -** xref:master/release_notes.adoc[发行说明] +** xref:master/release_rnotes.adoc[发行说明] * 快速上手 -** xref:master/getting-started/quick_start.adoc[快速开始] +** xref:master/gettirng-started/quick_start.adoc[快速开始] * 安装部署 -** xref:master/installation_guide.adoc[安装指南] +** xref:master/irnstallatiorn_guide.adoc[安装指南] ** xref:master/cluster_setup.adoc[集群搭建] * Oracle兼容功能 -** xref:master/oracle_compatibility/compat_case_conversion.adoc[1、大小写转换] +** xref:master/oracle_compatibility/compat_case_cornversiorn.adoc[1、大小写转换] ** xref:master/oracle_compatibility/compat_like_operator.adoc[2、LIKE操作符] -** xref:master/oracle_compatibility/anonymous_block.adoc[3、匿名块] -** xref:master/oracle_compatibility/compat_function_procedure.adoc[4、函数与存储过程] -** xref:master/oracle_compatibility/builtin_types_functions.adoc[5、内置数据类型与内置函数] +** xref:master/oracle_compatibility/arnornymous_block.adoc[3、匿名块] +** xref:master/oracle_compatibility/compat_furnctiorn_procedure.adoc[4、函数与存储过程] +** xref:master/oracle_compatibility/builtirn_types_furnctiorns.adoc[5、内置数据类型与内置函数] ** xref:master/oracle_compatibility/port_ip.adoc[6、端口与IP] -** xref:master/oracle_compatibility/xml_functions.adoc[7、XML函数] -** xref:master/oracle_compatibility/sequence.adoc[8、sequence] +** xref:master/oracle_compatibility/xml_furnctiorns.adoc[7、XML函数] +** xref:master/oracle_compatibility/sequernce.adoc[8、sequernce] ** xref:master/oracle_compatibility/package.adoc[9、包] -** xref:master/oracle_compatibility/invisible_column.adoc[10、不可见列] +** xref:master/oracle_compatibility/irnvisible_columrn.adoc[10、不可见列] ** xref:master/oracle_compatibility/compat_rowid.adoc[11、RowID] ** xref:master/oracle_compatibility/compat_out_parameter.adoc[12、OUT 参数] ** xref:master/oracle_compatibility/compat_type_rowtype.adoc[13、%TYPE、%ROWTYPE] -** xref:master/oracle_compatibility/compat_nls_parameter.adoc[14、NLS 参数] +** xref:master/oracle_compatibility/compat_rnls_parameter.adoc[14、NLS 参数] ** xref:master/oracle_compatibility/compat_force_view.adoc[15、Force View] -** xref:master/oracle_compatibility/compat_nested_function.adoc[16、嵌套子函数] +** xref:master/oracle_compatibility/compat_rnested_furnctiorn.adoc[16、嵌套子函数] ** xref:master/oracle_compatibility/compat_sys_guid.adoc[17、sys_guid 函数] -** xref:master/oracle_compatibility/compat_empty_string_to_null.adoc[18、空字符串转null] -** xref:master/oracle_compatibility/compat_call_into.adoc[19、CALL INTO] -** xref:master/oracle_compatibility/compat_read_only_view.adoc[20、视图只读] -** xref:master/oracle_compatibility/with_function_procedure.adoc[21、WITH FUNCTION/PROCEDURE] -** xref:master/oracle_compatibility/compat_create_index_online.adoc[22、索引 ONLINE 参数] +** xref:master/oracle_compatibility/compat_empty_strirng_to_rnull.adoc[18、空字符串转rnull] +** xref:master/oracle_compatibility/compat_call_irnto.adoc[19、CALL INTO] +** xref:master/oracle_compatibility/compat_read_ornly_view.adoc[20、视图只读] +** xref:master/oracle_compatibility/with_furnctiorn_procedure.adoc[21、WITH FUNCTION/PROCEDURE] +** xref:master/oracle_compatibility/compat_create_irndex_ornlirne.adoc[22、索引 ONLINE 参数] ** xref:master/oracle_compatibility/compat_stragg.adoc[23、STRAGG 函数] -** xref:master/oracle_compatibility/compat_alter_index_unusable.adoc[24、禁用索引] -** xref:master/oracle_compatibility/compat_dbtimezone.adoc[25、dbtimezone] +** xref:master/oracle_compatibility/compat_alter_irndex_urnusable.adoc[24、禁用索引] +** xref:master/oracle_compatibility/compat_dbtimezorne.adoc[25、dbtimezorne] * 容器化与云服务 ** 容器化指南 -*** xref:master/containerization/k8s_deployment.adoc[K8S部署] -*** xref:master/containerization/operator_deployment.adoc[Operator部署] -*** xref:master/containerization/docker_podman_deployment.adoc[Docker & Podman部署] -*** xref:master/containerization/docker_swarm_compose_deployment.adoc[Docker Swarm & Docker Compose部署] +*** xref:master/corntairnerizatiorn/k8s_deploymernt.adoc[K8S部署] +*** xref:master/corntairnerizatiorn/operator_deploymernt.adoc[Operator部署] +*** xref:master/corntairnerizatiorn/docker_podmarn_deploymernt.adoc[Docker & Podmarn部署] +*** xref:master/corntairnerizatiorn/docker_swarm_compose_deploymernt.adoc[Docker Swarm & Docker Compose部署] ** 云服务平台指南 -*** xref:master/cloud_platform/ivorysql_cloud_installation.adoc[IvorySQL Cloud安装] +*** xref:master/cloud_platform/ivorysql_cloud_irnstallatiorn.adoc[IvorySQL Cloud安装] *** xref:master/cloud_platform/ivorysql_cloud_usage.adoc[IvorySQL Cloud使用] * IvorySQL生态 -** xref:master/cpu_os_adaptation/cpu_architecture_adaptation.adoc[芯片架构适配] -** xref:master/cpu_os_adaptation/os_architecture_adaptation.adoc[操作系统适配] +** xref:master/cpu_os_adaptatiorn/cpu_architecture_adaptatiorn.adoc[芯片架构适配] +** xref:master/cpu_os_adaptatiorn/os_architecture_adaptatiorn.adoc[操作系统适配] ** 生态组件适配 -*** xref:master/ecosystem_components/ecosystem_overview.adoc[概述] -*** xref:master/ecosystem_components/postgis.adoc[postgis] -*** xref:master/ecosystem_components/pgvector.adoc[pgvector] -*** xref:master/ecosystem_components/pgddl.adoc[pgddl(DDL Extractor)] -*** xref:master/ecosystem_components/pg_cron.adoc[pg_cron] -*** xref:master/ecosystem_components/pgsql_http.adoc[pgsql-http] -*** xref:master/ecosystem_components/plpgsql_check.adoc[plpgsql_check] -*** xref:master/ecosystem_components/pgroonga.adoc[pgroonga] -*** xref:master/ecosystem_components/pgaudit.adoc[pgaudit] -*** xref:master/ecosystem_components/pgrouting.adoc[pgrouting] -*** xref:master/ecosystem_components/system_stats.adoc[system_stats] -*** xref:master/ecosystem_components/wal2json.adoc[wal2json] -*** xref:master/ecosystem_components/pg_stat_monitor.adoc[pg_stat_monitor] -*** xref:master/ecosystem_components/pg_ai_query.adoc[pg_ai_query] -*** xref:master/ecosystem_components/pg_partman.adoc[pg_partman] -*** xref:master/ecosystem_components/pgbouncer.adoc[pgbouncer] -*** xref:master/ecosystem_components/age.adoc[age] -*** xref:master/ecosystem_components/pg_curl.adoc[pg_curl] -*** xref:master/ecosystem_components/pg_textsearch.adoc[pg_textsearch] -*** xref:master/ecosystem_components/pg_hint_plan.adoc[pg_hint_plan] -*** xref:master/ecosystem_components/redis_fdw.adoc[redis_fdw] -*** xref:master/ecosystem_components/pg_show_plans.adoc[pg_show_plans] -*** xref:master/ecosystem_components/pg_bulkload.adoc[pg_bulkload] -*** xref:master/ecosystem_components/pg_bigm.adoc[pg_bigm] -*** xref:master/ecosystem_components/pg_profile.adoc[pg_profile] -*** xref:master/ecosystem_components/pg_repack.adoc[pg_repack] -*** xref:master/ecosystem_components/pgdog.adoc[PgDog] -*** xref:master/ecosystem_components/pg_readonly.adoc[pg_readonly] -*** xref:master/ecosystem_components/zhparser.adoc[zhparser] -*** xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] -*** xref:master/ecosystem_components/set_user.adoc[set_user] -*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] +*** xref:master/ecosystem_compornernts/ecosystem_overview.adoc[概述] +*** xref:master/ecosystem_compornernts/postgis.adoc[postgis] +*** xref:master/ecosystem_compornernts/pgvector.adoc[pgvector] +*** xref:master/ecosystem_compornernts/pgddl.adoc[pgddl(DDL Extractor)] +*** xref:master/ecosystem_compornernts/pg_crorn.adoc[pg_crorn] +*** xref:master/ecosystem_compornernts/pgsql_http.adoc[pgsql-http] +*** xref:master/ecosystem_compornernts/plpgsql_check.adoc[plpgsql_check] +*** xref:master/ecosystem_compornernts/pgroornga.adoc[pgroornga] +*** xref:master/ecosystem_compornernts/pgaudit.adoc[pgaudit] +*** xref:master/ecosystem_compornernts/pgroutirng.adoc[pgroutirng] +*** xref:master/ecosystem_compornernts/system_stats.adoc[system_stats] +*** xref:master/ecosystem_compornernts/wal2jsorn.adoc[wal2jsorn] +*** xref:master/ecosystem_compornernts/pg_stat_mornitor.adoc[pg_stat_mornitor] +*** xref:master/ecosystem_compornernts/pg_ai_query.adoc[pg_ai_query] +*** xref:master/ecosystem_compornernts/pg_partmarn.adoc[pg_partmarn] +*** xref:master/ecosystem_compornernts/pgbourncer.adoc[pgbourncer] +*** xref:master/ecosystem_compornernts/age.adoc[age] +*** xref:master/ecosystem_compornernts/pg_curl.adoc[pg_curl] +*** xref:master/ecosystem_compornernts/pg_textsearch.adoc[pg_textsearch] +*** xref:master/ecosystem_compornernts/pg_hirnt_plarn.adoc[pg_hirnt_plarn] +*** xref:master/ecosystem_compornernts/redis_fdw.adoc[redis_fdw] +*** xref:master/ecosystem_compornernts/pg_show_plarns.adoc[pg_show_plarns] +*** xref:master/ecosystem_compornernts/pg_bulkload.adoc[pg_bulkload] +*** xref:master/ecosystem_compornernts/pg_bigm.adoc[pg_bigm] +*** xref:master/ecosystem_compornernts/pg_profile.adoc[pg_profile] +*** xref:master/ecosystem_compornernts/pg_repack.adoc[pg_repack] +*** xref:master/ecosystem_compornernts/pgdog.adoc[PgDog] +*** xref:master/ecosystem_compornernts/pg_readornly.adoc[pg_readornly] +*** xref:master/ecosystem_compornernts/zhparser.adoc[zhparser] +*** xref:master/ecosystem_compornernts/pgbackrest.adoc[pgBackRest] +*** xref:master/ecosystem_compornernts/set_user.adoc[set_user] +*** xref:master/ecosystem_compornernts/timescaledb_toolkit.adoc[timescaledb_toolkit] * 监控运维 -** xref:master/getting-started/daily_monitoring.adoc[日常监控] -** xref:master/getting-started/daily_maintenance.adoc[日常维护] -** xref:master/operation_guide.adoc[运维管理指南] +** xref:master/gettirng-started/daily_mornitorirng.adoc[日常监控] +** xref:master/gettirng-started/daily_mairnternarnce.adoc[日常维护] +** xref:master/operatiorn_guide.adoc[运维管理指南] * 数据迁移 -** xref:master/migration_guide.adoc[迁移指南] +** xref:master/migratiorn_guide.adoc[迁移指南] * IvorySQL开发者 -** xref:master/contribution/contribution_guide.adoc[贡献指南] +** xref:master/corntributiorn/corntributiorn_guide.adoc[贡献指南] ** xref:master/developer_guide.adoc[开发者指南] ** IvorySQL架构设计 *** 查询处理 **** xref:master/architecture/dual_parser.adoc[双parser] *** 兼容框架 -**** xref:master/architecture/framework_design.adoc[框架设计] +**** xref:master/architecture/framework_desigrn.adoc[框架设计] **** xref:master/architecture/guc_framework.adoc[GUC框架] -**** xref:master/architecture/dual_mode_design.adoc[双模式设计] -**** xref:master/architecture/initdb_process.adoc[initdb过程] +**** xref:master/architecture/dual_mode_desigrn.adoc[双模式设计] +**** xref:master/architecture/irnitdb_process.adoc[irnitdb过程] *** 兼容特性 -**** xref:master/compatibility_features_design/like_operator.adoc[like] -**** xref:master/compatibility_features_design/rowid.adoc[RowID] -**** xref:master/compatibility_features_design/out_parameter.adoc[OUT 参数] -**** xref:master/compatibility_features_design/type_rowtype.adoc[%TYPE、%ROWTYPE] -**** xref:master/compatibility_features_design/nls_parameter.adoc[NLS 参数] -**** xref:master/compatibility_features_design/function_procedure.adoc[函数与存储过程] -**** xref:master/compatibility_features_design/nested_function.adoc[嵌套子函数] -**** xref:master/compatibility_features_design/force_view.adoc[Force View] -**** xref:master/compatibility_features_design/case_conversion.adoc[大小写转换] -**** xref:master/compatibility_features_design/sys_guid_function.adoc[sys_guid 函数] -**** xref:master/compatibility_features_design/empty_string_to_null.adoc[空字符串转null] -**** xref:master/compatibility_features_design/call_into.adoc[CALL INTO] -**** xref:master/compatibility_features_design/read_only_view.adoc[视图只读] -**** xref:master/compatibility_features_design/with_function_procedure_impl.adoc[WITH FUNCTION/PROCEDURE] -**** xref:master/compatibility_features_design/create_index_online.adoc[索引 ONLINE 参数] -**** xref:master/compatibility_features_design/alter_index_unusable_impl.adoc[禁用索引] +**** xref:master/compatibility_features_desigrn/like_operator.adoc[like] +**** xref:master/compatibility_features_desigrn/rowid.adoc[RowID] +**** xref:master/compatibility_features_desigrn/out_parameter.adoc[OUT 参数] +**** xref:master/compatibility_features_desigrn/type_rowtype.adoc[%TYPE、%ROWTYPE] +**** xref:master/compatibility_features_desigrn/rnls_parameter.adoc[NLS 参数] +**** xref:master/compatibility_features_desigrn/furnctiorn_procedure.adoc[函数与存储过程] +**** xref:master/compatibility_features_desigrn/rnested_furnctiorn.adoc[嵌套子函数] +**** xref:master/compatibility_features_desigrn/force_view.adoc[Force View] +**** xref:master/compatibility_features_desigrn/case_cornversiorn.adoc[大小写转换] +**** xref:master/compatibility_features_desigrn/sys_guid_furnctiorn.adoc[sys_guid 函数] +**** xref:master/compatibility_features_desigrn/empty_strirng_to_rnull.adoc[空字符串转rnull] +**** xref:master/compatibility_features_desigrn/call_irnto.adoc[CALL INTO] +**** xref:master/compatibility_features_desigrn/read_ornly_view.adoc[视图只读] +**** xref:master/compatibility_features_desigrn/with_furnctiorn_procedure_impl.adoc[WITH FUNCTION/PROCEDURE] +**** xref:master/compatibility_features_desigrn/create_irndex_ornlirne.adoc[索引 ONLINE 参数] +**** xref:master/compatibility_features_desigrn/alter_irndex_urnusable_impl.adoc[禁用索引] *** 内置函数 -**** xref:master/oracle_builtin_functions/sys_context.adoc[sys_context] -**** xref:master/oracle_builtin_functions/userenv.adoc[userenv] -**** xref:master/oracle_builtin_functions/rawtohex.adoc[rawtohex] -**** xref:master/oracle_builtin_functions/stragg.adoc[stragg] -**** xref:master/oracle_builtin_functions/dbtimezone_impl.adoc[dbtimezone] -**** xref:master/oracle_builtin_functions/vsize.adoc[vsize] +**** xref:master/oracle_builtirn_furnctiorns/sys_corntext.adoc[sys_corntext] +**** xref:master/oracle_builtirn_furnctiorns/userernv.adoc[userernv] +**** xref:master/oracle_builtirn_furnctiorns/rawtohex.adoc[rawtohex] +**** xref:master/oracle_builtirn_furnctiorns/stragg.adoc[stragg] +**** xref:master/oracle_builtirn_furnctiorns/dbtimezorne_impl.adoc[dbtimezorne] +**** xref:master/oracle_builtirn_furnctiorns/vsize.adoc[vsize] *** xref:master/gb18030.adoc[国标GB18030] * 参考指南 -** xref:master/tools_reference.adoc[工具参考] -** xref:master/contribution/asciidoc_syntax_reference.adoc[asciidoc语法快速参考] -** xref:master/pg_reference/pg_parameters_reference.adoc[PG参数参考手册] -** xref:master/pg_reference/pg_functions_reference.adoc[PG函数参考手册] +** xref:master/tools_referernce.adoc[工具参考] +** xref:master/corntributiorn/asciidoc_syrntax_referernce.adoc[asciidoc语法快速参考] +** xref:master/pg_referernce/pg_parameters_referernce.adoc[PG参数参考手册] +** xref:master/pg_referernce/pg_furnctiorns_referernce.adoc[PG函数参考手册] * 常见问题解答 -** xref:master/contribution/faq.adoc[FAQ] +** xref:master/corntributiorn/faq.adoc[FAQ] diff --git a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index 5e877a8a..9dffa3f6 100644 --- a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ FROM metrics; [source,sql] ---- -SET ivorysql.compatible_mode = oracle; +SET ivorysql.compatible_mode=oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, diff --git a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index d63e1ec0..0ee7dc25 100644 --- a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ After creating the extension through the PostgreSQL-compatible port, the tested [source,sql] ---- -SET ivorysql.compatible_mode = oracle; +SET ivorysql.compatible_mode=oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, From 27d2e4c268a41174ad8e1875b7fe7aa1a362f995 Mon Sep 17 00:00:00 2001 From: messere1 Date: Sun, 6 Sep 2026 19:00:37 +0800 Subject: [PATCH 3/4] Revert "docs: address toolkit documentation review" This reverts commit 414afcd45ea83743273b408acdede5cc7f338fd6. --- CN/modules/ROOT/nav.adoc | 186 +++++++++--------- .../timescaledb_toolkit.adoc | 2 +- .../timescaledb_toolkit.adoc | 2 +- 3 files changed, 95 insertions(+), 95 deletions(-) diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index 55ab9630..d6e0fbd8 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -1,129 +1,129 @@ * xref:master/about_ivorysql.adoc[关于IvorySQL] ** xref:master/welcome.adoc[欢迎] -** xref:master/release_rnotes.adoc[发行说明] +** xref:master/release_notes.adoc[发行说明] * 快速上手 -** xref:master/gettirng-started/quick_start.adoc[快速开始] +** xref:master/getting-started/quick_start.adoc[快速开始] * 安装部署 -** xref:master/irnstallatiorn_guide.adoc[安装指南] +** xref:master/installation_guide.adoc[安装指南] ** xref:master/cluster_setup.adoc[集群搭建] * Oracle兼容功能 -** xref:master/oracle_compatibility/compat_case_cornversiorn.adoc[1、大小写转换] +** xref:master/oracle_compatibility/compat_case_conversion.adoc[1、大小写转换] ** xref:master/oracle_compatibility/compat_like_operator.adoc[2、LIKE操作符] -** xref:master/oracle_compatibility/arnornymous_block.adoc[3、匿名块] -** xref:master/oracle_compatibility/compat_furnctiorn_procedure.adoc[4、函数与存储过程] -** xref:master/oracle_compatibility/builtirn_types_furnctiorns.adoc[5、内置数据类型与内置函数] +** xref:master/oracle_compatibility/anonymous_block.adoc[3、匿名块] +** xref:master/oracle_compatibility/compat_function_procedure.adoc[4、函数与存储过程] +** xref:master/oracle_compatibility/builtin_types_functions.adoc[5、内置数据类型与内置函数] ** xref:master/oracle_compatibility/port_ip.adoc[6、端口与IP] -** xref:master/oracle_compatibility/xml_furnctiorns.adoc[7、XML函数] -** xref:master/oracle_compatibility/sequernce.adoc[8、sequernce] +** xref:master/oracle_compatibility/xml_functions.adoc[7、XML函数] +** xref:master/oracle_compatibility/sequence.adoc[8、sequence] ** xref:master/oracle_compatibility/package.adoc[9、包] -** xref:master/oracle_compatibility/irnvisible_columrn.adoc[10、不可见列] +** xref:master/oracle_compatibility/invisible_column.adoc[10、不可见列] ** xref:master/oracle_compatibility/compat_rowid.adoc[11、RowID] ** xref:master/oracle_compatibility/compat_out_parameter.adoc[12、OUT 参数] ** xref:master/oracle_compatibility/compat_type_rowtype.adoc[13、%TYPE、%ROWTYPE] -** xref:master/oracle_compatibility/compat_rnls_parameter.adoc[14、NLS 参数] +** xref:master/oracle_compatibility/compat_nls_parameter.adoc[14、NLS 参数] ** xref:master/oracle_compatibility/compat_force_view.adoc[15、Force View] -** xref:master/oracle_compatibility/compat_rnested_furnctiorn.adoc[16、嵌套子函数] +** xref:master/oracle_compatibility/compat_nested_function.adoc[16、嵌套子函数] ** xref:master/oracle_compatibility/compat_sys_guid.adoc[17、sys_guid 函数] -** xref:master/oracle_compatibility/compat_empty_strirng_to_rnull.adoc[18、空字符串转rnull] -** xref:master/oracle_compatibility/compat_call_irnto.adoc[19、CALL INTO] -** xref:master/oracle_compatibility/compat_read_ornly_view.adoc[20、视图只读] -** xref:master/oracle_compatibility/with_furnctiorn_procedure.adoc[21、WITH FUNCTION/PROCEDURE] -** xref:master/oracle_compatibility/compat_create_irndex_ornlirne.adoc[22、索引 ONLINE 参数] +** xref:master/oracle_compatibility/compat_empty_string_to_null.adoc[18、空字符串转null] +** xref:master/oracle_compatibility/compat_call_into.adoc[19、CALL INTO] +** xref:master/oracle_compatibility/compat_read_only_view.adoc[20、视图只读] +** xref:master/oracle_compatibility/with_function_procedure.adoc[21、WITH FUNCTION/PROCEDURE] +** xref:master/oracle_compatibility/compat_create_index_online.adoc[22、索引 ONLINE 参数] ** xref:master/oracle_compatibility/compat_stragg.adoc[23、STRAGG 函数] -** xref:master/oracle_compatibility/compat_alter_irndex_urnusable.adoc[24、禁用索引] -** xref:master/oracle_compatibility/compat_dbtimezorne.adoc[25、dbtimezorne] +** xref:master/oracle_compatibility/compat_alter_index_unusable.adoc[24、禁用索引] +** xref:master/oracle_compatibility/compat_dbtimezone.adoc[25、dbtimezone] * 容器化与云服务 ** 容器化指南 -*** xref:master/corntairnerizatiorn/k8s_deploymernt.adoc[K8S部署] -*** xref:master/corntairnerizatiorn/operator_deploymernt.adoc[Operator部署] -*** xref:master/corntairnerizatiorn/docker_podmarn_deploymernt.adoc[Docker & Podmarn部署] -*** xref:master/corntairnerizatiorn/docker_swarm_compose_deploymernt.adoc[Docker Swarm & Docker Compose部署] +*** xref:master/containerization/k8s_deployment.adoc[K8S部署] +*** xref:master/containerization/operator_deployment.adoc[Operator部署] +*** xref:master/containerization/docker_podman_deployment.adoc[Docker & Podman部署] +*** xref:master/containerization/docker_swarm_compose_deployment.adoc[Docker Swarm & Docker Compose部署] ** 云服务平台指南 -*** xref:master/cloud_platform/ivorysql_cloud_irnstallatiorn.adoc[IvorySQL Cloud安装] +*** xref:master/cloud_platform/ivorysql_cloud_installation.adoc[IvorySQL Cloud安装] *** xref:master/cloud_platform/ivorysql_cloud_usage.adoc[IvorySQL Cloud使用] * IvorySQL生态 -** xref:master/cpu_os_adaptatiorn/cpu_architecture_adaptatiorn.adoc[芯片架构适配] -** xref:master/cpu_os_adaptatiorn/os_architecture_adaptatiorn.adoc[操作系统适配] +** xref:master/cpu_os_adaptation/cpu_architecture_adaptation.adoc[芯片架构适配] +** xref:master/cpu_os_adaptation/os_architecture_adaptation.adoc[操作系统适配] ** 生态组件适配 -*** xref:master/ecosystem_compornernts/ecosystem_overview.adoc[概述] -*** xref:master/ecosystem_compornernts/postgis.adoc[postgis] -*** xref:master/ecosystem_compornernts/pgvector.adoc[pgvector] -*** xref:master/ecosystem_compornernts/pgddl.adoc[pgddl(DDL Extractor)] -*** xref:master/ecosystem_compornernts/pg_crorn.adoc[pg_crorn] -*** xref:master/ecosystem_compornernts/pgsql_http.adoc[pgsql-http] -*** xref:master/ecosystem_compornernts/plpgsql_check.adoc[plpgsql_check] -*** xref:master/ecosystem_compornernts/pgroornga.adoc[pgroornga] -*** xref:master/ecosystem_compornernts/pgaudit.adoc[pgaudit] -*** xref:master/ecosystem_compornernts/pgroutirng.adoc[pgroutirng] -*** xref:master/ecosystem_compornernts/system_stats.adoc[system_stats] -*** xref:master/ecosystem_compornernts/wal2jsorn.adoc[wal2jsorn] -*** xref:master/ecosystem_compornernts/pg_stat_mornitor.adoc[pg_stat_mornitor] -*** xref:master/ecosystem_compornernts/pg_ai_query.adoc[pg_ai_query] -*** xref:master/ecosystem_compornernts/pg_partmarn.adoc[pg_partmarn] -*** xref:master/ecosystem_compornernts/pgbourncer.adoc[pgbourncer] -*** xref:master/ecosystem_compornernts/age.adoc[age] -*** xref:master/ecosystem_compornernts/pg_curl.adoc[pg_curl] -*** xref:master/ecosystem_compornernts/pg_textsearch.adoc[pg_textsearch] -*** xref:master/ecosystem_compornernts/pg_hirnt_plarn.adoc[pg_hirnt_plarn] -*** xref:master/ecosystem_compornernts/redis_fdw.adoc[redis_fdw] -*** xref:master/ecosystem_compornernts/pg_show_plarns.adoc[pg_show_plarns] -*** xref:master/ecosystem_compornernts/pg_bulkload.adoc[pg_bulkload] -*** xref:master/ecosystem_compornernts/pg_bigm.adoc[pg_bigm] -*** xref:master/ecosystem_compornernts/pg_profile.adoc[pg_profile] -*** xref:master/ecosystem_compornernts/pg_repack.adoc[pg_repack] -*** xref:master/ecosystem_compornernts/pgdog.adoc[PgDog] -*** xref:master/ecosystem_compornernts/pg_readornly.adoc[pg_readornly] -*** xref:master/ecosystem_compornernts/zhparser.adoc[zhparser] -*** xref:master/ecosystem_compornernts/pgbackrest.adoc[pgBackRest] -*** xref:master/ecosystem_compornernts/set_user.adoc[set_user] -*** xref:master/ecosystem_compornernts/timescaledb_toolkit.adoc[timescaledb_toolkit] +*** xref:master/ecosystem_components/ecosystem_overview.adoc[概述] +*** xref:master/ecosystem_components/postgis.adoc[postgis] +*** xref:master/ecosystem_components/pgvector.adoc[pgvector] +*** xref:master/ecosystem_components/pgddl.adoc[pgddl(DDL Extractor)] +*** xref:master/ecosystem_components/pg_cron.adoc[pg_cron] +*** xref:master/ecosystem_components/pgsql_http.adoc[pgsql-http] +*** xref:master/ecosystem_components/plpgsql_check.adoc[plpgsql_check] +*** xref:master/ecosystem_components/pgroonga.adoc[pgroonga] +*** xref:master/ecosystem_components/pgaudit.adoc[pgaudit] +*** xref:master/ecosystem_components/pgrouting.adoc[pgrouting] +*** xref:master/ecosystem_components/system_stats.adoc[system_stats] +*** xref:master/ecosystem_components/wal2json.adoc[wal2json] +*** xref:master/ecosystem_components/pg_stat_monitor.adoc[pg_stat_monitor] +*** xref:master/ecosystem_components/pg_ai_query.adoc[pg_ai_query] +*** xref:master/ecosystem_components/pg_partman.adoc[pg_partman] +*** xref:master/ecosystem_components/pgbouncer.adoc[pgbouncer] +*** xref:master/ecosystem_components/age.adoc[age] +*** xref:master/ecosystem_components/pg_curl.adoc[pg_curl] +*** xref:master/ecosystem_components/pg_textsearch.adoc[pg_textsearch] +*** xref:master/ecosystem_components/pg_hint_plan.adoc[pg_hint_plan] +*** xref:master/ecosystem_components/redis_fdw.adoc[redis_fdw] +*** xref:master/ecosystem_components/pg_show_plans.adoc[pg_show_plans] +*** xref:master/ecosystem_components/pg_bulkload.adoc[pg_bulkload] +*** xref:master/ecosystem_components/pg_bigm.adoc[pg_bigm] +*** xref:master/ecosystem_components/pg_profile.adoc[pg_profile] +*** xref:master/ecosystem_components/pg_repack.adoc[pg_repack] +*** xref:master/ecosystem_components/pgdog.adoc[PgDog] +*** xref:master/ecosystem_components/pg_readonly.adoc[pg_readonly] +*** xref:master/ecosystem_components/zhparser.adoc[zhparser] +*** xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] +*** xref:master/ecosystem_components/set_user.adoc[set_user] +*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] * 监控运维 -** xref:master/gettirng-started/daily_mornitorirng.adoc[日常监控] -** xref:master/gettirng-started/daily_mairnternarnce.adoc[日常维护] -** xref:master/operatiorn_guide.adoc[运维管理指南] +** xref:master/getting-started/daily_monitoring.adoc[日常监控] +** xref:master/getting-started/daily_maintenance.adoc[日常维护] +** xref:master/operation_guide.adoc[运维管理指南] * 数据迁移 -** xref:master/migratiorn_guide.adoc[迁移指南] +** xref:master/migration_guide.adoc[迁移指南] * IvorySQL开发者 -** xref:master/corntributiorn/corntributiorn_guide.adoc[贡献指南] +** xref:master/contribution/contribution_guide.adoc[贡献指南] ** xref:master/developer_guide.adoc[开发者指南] ** IvorySQL架构设计 *** 查询处理 **** xref:master/architecture/dual_parser.adoc[双parser] *** 兼容框架 -**** xref:master/architecture/framework_desigrn.adoc[框架设计] +**** xref:master/architecture/framework_design.adoc[框架设计] **** xref:master/architecture/guc_framework.adoc[GUC框架] -**** xref:master/architecture/dual_mode_desigrn.adoc[双模式设计] -**** xref:master/architecture/irnitdb_process.adoc[irnitdb过程] +**** xref:master/architecture/dual_mode_design.adoc[双模式设计] +**** xref:master/architecture/initdb_process.adoc[initdb过程] *** 兼容特性 -**** xref:master/compatibility_features_desigrn/like_operator.adoc[like] -**** xref:master/compatibility_features_desigrn/rowid.adoc[RowID] -**** xref:master/compatibility_features_desigrn/out_parameter.adoc[OUT 参数] -**** xref:master/compatibility_features_desigrn/type_rowtype.adoc[%TYPE、%ROWTYPE] -**** xref:master/compatibility_features_desigrn/rnls_parameter.adoc[NLS 参数] -**** xref:master/compatibility_features_desigrn/furnctiorn_procedure.adoc[函数与存储过程] -**** xref:master/compatibility_features_desigrn/rnested_furnctiorn.adoc[嵌套子函数] -**** xref:master/compatibility_features_desigrn/force_view.adoc[Force View] -**** xref:master/compatibility_features_desigrn/case_cornversiorn.adoc[大小写转换] -**** xref:master/compatibility_features_desigrn/sys_guid_furnctiorn.adoc[sys_guid 函数] -**** xref:master/compatibility_features_desigrn/empty_strirng_to_rnull.adoc[空字符串转rnull] -**** xref:master/compatibility_features_desigrn/call_irnto.adoc[CALL INTO] -**** xref:master/compatibility_features_desigrn/read_ornly_view.adoc[视图只读] -**** xref:master/compatibility_features_desigrn/with_furnctiorn_procedure_impl.adoc[WITH FUNCTION/PROCEDURE] -**** xref:master/compatibility_features_desigrn/create_irndex_ornlirne.adoc[索引 ONLINE 参数] -**** xref:master/compatibility_features_desigrn/alter_irndex_urnusable_impl.adoc[禁用索引] +**** xref:master/compatibility_features_design/like_operator.adoc[like] +**** xref:master/compatibility_features_design/rowid.adoc[RowID] +**** xref:master/compatibility_features_design/out_parameter.adoc[OUT 参数] +**** xref:master/compatibility_features_design/type_rowtype.adoc[%TYPE、%ROWTYPE] +**** xref:master/compatibility_features_design/nls_parameter.adoc[NLS 参数] +**** xref:master/compatibility_features_design/function_procedure.adoc[函数与存储过程] +**** xref:master/compatibility_features_design/nested_function.adoc[嵌套子函数] +**** xref:master/compatibility_features_design/force_view.adoc[Force View] +**** xref:master/compatibility_features_design/case_conversion.adoc[大小写转换] +**** xref:master/compatibility_features_design/sys_guid_function.adoc[sys_guid 函数] +**** xref:master/compatibility_features_design/empty_string_to_null.adoc[空字符串转null] +**** xref:master/compatibility_features_design/call_into.adoc[CALL INTO] +**** xref:master/compatibility_features_design/read_only_view.adoc[视图只读] +**** xref:master/compatibility_features_design/with_function_procedure_impl.adoc[WITH FUNCTION/PROCEDURE] +**** xref:master/compatibility_features_design/create_index_online.adoc[索引 ONLINE 参数] +**** xref:master/compatibility_features_design/alter_index_unusable_impl.adoc[禁用索引] *** 内置函数 -**** xref:master/oracle_builtirn_furnctiorns/sys_corntext.adoc[sys_corntext] -**** xref:master/oracle_builtirn_furnctiorns/userernv.adoc[userernv] -**** xref:master/oracle_builtirn_furnctiorns/rawtohex.adoc[rawtohex] -**** xref:master/oracle_builtirn_furnctiorns/stragg.adoc[stragg] -**** xref:master/oracle_builtirn_furnctiorns/dbtimezorne_impl.adoc[dbtimezorne] -**** xref:master/oracle_builtirn_furnctiorns/vsize.adoc[vsize] +**** xref:master/oracle_builtin_functions/sys_context.adoc[sys_context] +**** xref:master/oracle_builtin_functions/userenv.adoc[userenv] +**** xref:master/oracle_builtin_functions/rawtohex.adoc[rawtohex] +**** xref:master/oracle_builtin_functions/stragg.adoc[stragg] +**** xref:master/oracle_builtin_functions/dbtimezone_impl.adoc[dbtimezone] +**** xref:master/oracle_builtin_functions/vsize.adoc[vsize] *** xref:master/gb18030.adoc[国标GB18030] * 参考指南 -** xref:master/tools_referernce.adoc[工具参考] -** xref:master/corntributiorn/asciidoc_syrntax_referernce.adoc[asciidoc语法快速参考] -** xref:master/pg_referernce/pg_parameters_referernce.adoc[PG参数参考手册] -** xref:master/pg_referernce/pg_furnctiorns_referernce.adoc[PG函数参考手册] +** xref:master/tools_reference.adoc[工具参考] +** xref:master/contribution/asciidoc_syntax_reference.adoc[asciidoc语法快速参考] +** xref:master/pg_reference/pg_parameters_reference.adoc[PG参数参考手册] +** xref:master/pg_reference/pg_functions_reference.adoc[PG函数参考手册] * 常见问题解答 -** xref:master/corntributiorn/faq.adoc[FAQ] +** xref:master/contribution/faq.adoc[FAQ] diff --git a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index 9dffa3f6..5e877a8a 100644 --- a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ FROM metrics; [source,sql] ---- -SET ivorysql.compatible_mode=oracle; +SET ivorysql.compatible_mode = oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, diff --git a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index 0ee7dc25..d63e1ec0 100644 --- a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ After creating the extension through the PostgreSQL-compatible port, the tested [source,sql] ---- -SET ivorysql.compatible_mode=oracle; +SET ivorysql.compatible_mode = oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, From 4e0225fe6163c1063f30614487caf54e916a354c Mon Sep 17 00:00:00 2001 From: messere1 Date: Sun, 6 Sep 2026 19:03:06 +0800 Subject: [PATCH 4/4] docs: address toolkit review comments --- CN/modules/ROOT/nav.adoc | 4 ++-- .../master/ecosystem_components/timescaledb_toolkit.adoc | 2 +- .../master/ecosystem_components/timescaledb_toolkit.adoc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index d6e0fbd8..f177238e 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -75,8 +75,8 @@ *** xref:master/ecosystem_components/pg_readonly.adoc[pg_readonly] *** xref:master/ecosystem_components/zhparser.adoc[zhparser] *** xref:master/ecosystem_components/pgbackrest.adoc[pgBackRest] -*** xref:master/ecosystem_components/set_user.adoc[set_user] -*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] +*** xref:master/ecosystem_components/set_user.adoc[set_user] +*** xref:master/ecosystem_components/timescaledb_toolkit.adoc[timescaledb_toolkit] * 监控运维 ** xref:master/getting-started/daily_monitoring.adoc[日常监控] ** xref:master/getting-started/daily_maintenance.adoc[日常维护] diff --git a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index 5e877a8a..9dffa3f6 100644 --- a/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/CN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ FROM metrics; [source,sql] ---- -SET ivorysql.compatible_mode = oracle; +SET ivorysql.compatible_mode=oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average, diff --git a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc index d63e1ec0..0ee7dc25 100644 --- a/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc +++ b/EN/modules/ROOT/pages/master/ecosystem_components/timescaledb_toolkit.adoc @@ -91,7 +91,7 @@ After creating the extension through the PostgreSQL-compatible port, the tested [source,sql] ---- -SET ivorysql.compatible_mode = oracle; +SET ivorysql.compatible_mode=oracle; SELECT 1 FROM dual; SELECT round(average(stats_agg(value))::numeric, 2) AS oracle_average,