Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
07eed93
Add CN and EN documents for new extensions pgroonga ddlx
yuanyl630 Sep 4, 2025
6c3f57a
correct ivorysql version number
yuanyl630 Sep 10, 2025
e5eaaec
add CN version of pg_cron extension
yuanyl630 Sep 19, 2025
2015ab3
Add EN version of pg_cron
yuanyl630 Sep 22, 2025
99b1ce2
Fix the issue that picture can't be displayed
yuanyl630 Sep 22, 2025
9651910
Add the general introduction to the supported extensions
yuanyl630 Sep 23, 2025
21ed195
Add link to specific extension and adjust format
yuanyl630 Sep 23, 2025
e0cc301
Add document of http and vectorchord
yuanyl630 Sep 23, 2025
23aa6e8
Adjust format
yuanyl630 Sep 23, 2025
618fa17
Add extra blank line
yuanyl630 Sep 23, 2025
0ed3a95
Add new extension version column and version attribute in each extension
yuanyl630 Sep 24, 2025
f4ea97b
remove version attribute from each extension file
yuanyl630 Sep 24, 2025
2524b7c
Adjust column width
yuanyl630 Sep 24, 2025
407ae90
Add document of pgvectorscale
yuanyl630 Sep 24, 2025
441b0df
Merge branch 'v1.17' of https://github.com/IvorySQL/ivorysql_docs int…
yuanyl630 Sep 24, 2025
ac66cac
Use asciidoc syntax and try attribute
yuanyl630 Sep 24, 2025
bde2f63
Add English documents of extension overview part and 3 extensions
yuanyl630 Sep 24, 2025
3129c21
remove vch extension
yuanyl630 Sep 30, 2025
66c2cf2
add test environment statement
yuanyl630 Oct 10, 2025
84bb352
add test environment statement in EN version document
yuanyl630 Oct 10, 2025
70b8846
Adjust italic font
yuanyl630 Oct 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added CN/modules/ROOT/images/p31.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added CN/modules/ROOT/images/p32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion CN/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,15 @@
** xref:v1.17/7.adoc[开发者指南]
** xref:v1.17/8.adoc[运维管理指南]
* IvorySQL生态
** xref:v1.17/33.adoc[概述]
** xref:v1.17/9.adoc[PostGIS]
** xref:v1.17/10.adoc[pgvector]
** xref:v1.17/34.adoc[PGroonga]
** xref:v1.17/35.adoc[pgddl (DDL Extractor)]
** xref:v1.17/36.adoc[pgRouting]
** xref:v1.17/37.adoc[pg_cron]
** xref:v1.17/38.adoc[pgsql-http]
** xref:v1.17/40.adoc[pgvectorscale]
* Oracle兼容功能列表
** xref:v1.17/11.adoc[1、Ivorysql框架设计]
** xref:v1.17/12.adoc[2、GUC框架]
Expand All @@ -24,4 +31,4 @@
** xref:v1.17/19.adoc[9、新增Oracle兼容模式的端口与IP]
* xref:v1.17/20.adoc[社区贡献指南]
* xref:v1.17/21.adoc[工具参考]
* xref:v1.17/22.adoc[FAQ]
* xref:v1.17/22.adoc[FAQ]
2 changes: 1 addition & 1 deletion CN/modules/ROOT/pages/v1.17/10.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export PG_CONFIG=/usr/local/ivorysql/ivorysql-1.17/bin/pg_config

** 拉取pg_vector源码
```
git clone --branch v0.6.2 https://github.com/pgvector/pgvector.git
git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git
```

** 安装 pgvector
Expand Down
27 changes: 27 additions & 0 deletions CN/modules/ROOT/pages/v1.17/33.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
:sectnums:
:sectnumlevels: 5


[discrete]
== IvorySQL生态插件适配列表

IvorySQL 作为一款兼容 Oracle 且基于 PostgreSQL 的高级开源数据库,具备强大的扩展能力,支持丰富的生态系统插件。这些插件可以帮助用户在不同场景下增强数据库功能,包括地理信息处理、向量检索、全文搜索、数据定义提取和路径规划等。以下是当前 IvorySQL 官方兼容和支持的主要插件列表:

+

[cols="2,1,3,3"]
|====
|*插件名称*|*版本*|*功能描述*|*适用场景*
| xref:v1.17/9.adoc[PostGIS] | 3.4.0 | 为 IvorySQL 提供地理空间数据支持,包括空间索引、空间函数和地理对象存储 | 地理信息系统(GIS)、地图服务、位置数据分析
| xref:v1.17/10.adoc[pgvector] | 0.8.0 | 支持向量相似性搜索,可用于存储和检索高维向量数据| AI 应用、图像检索、推荐系统、语义搜索
| xref:v1.17/34.adoc[PGroonga] | 4.0.1 | 提供多语言全文搜索功能,支持超高速文本检索和模糊匹配 | 日志分析、多语言内容搜索、实时搜索引擎
| xref:v1.17/35.adoc[pgddl (DDL Extractor)] | 0.20 | 提取数据库中的 DDL(数据定义语言)语句,便于版本管理和迁移 | 数据库版本控制、CI/CD 集成、结构比对与同步
| xref:v1.17/36.adoc[pgRouting] | 3.5.1 | 基于地理数据的路径规划扩展,支持最短路径、旅行商问题等算法 | 物流规划、交通网络分析、路径优化服务
| xref:v1.17/37.adoc[pg_cron]​ | 1.6.0 | 提供数据库内部的定时任务调度功能,支持定期执行SQL语句 | 数据清理、定期统计、自动化维护任务
| xref:v1.17/38.adoc[pgsql-http]​ | 1.7.0 | 允许在SQL中发起HTTP请求,与外部Web服务进行交互 | 数据采集、API集成、微服务调用
| xref:v1.17/40.adoc[pgvectorscale] | 0.8.0 | 提供向量数据的分片和分布式扩展支持,提升大规模向量处理性能 | 分布式向量数据库、高并发向量查询
|====

这些插件均经过 IvorySQL 团队的测试和适配,确保在 IvorySQL 环境下稳定运行。用户可以根据业务需求选择合适的插件,进一步提升数据库系统的能力和灵活性。

我们也将持续扩展和丰富 IvorySQL 的插件生态,欢迎社区开发者提交新的插件适配建议或代码贡献。如需了解更多每个插件的详细使用方法和最新兼容版本,请参阅各插件对应的文档章节。
111 changes: 111 additions & 0 deletions CN/modules/ROOT/pages/v1.17/34.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@

:sectnums:
:sectnumlevels: 5

= PGroonga

== 概述
PostgreSQL 内置了全文搜索功能,但在处理​​大规模数据​​、​​复杂查询​​以及​​非英语语言(特别是中日韩等 CJK 语言)​​ 时,其功能和性能可能无法满足高性能应用的需求。

PGroonga 应运而生,它是一个 PostgreSQL 的扩展插件,将 ​​Groonga​​ 这款高性能的全功能全文搜索引擎与 PostgreSQL 数据库深度融合。Groonga 本身是一个优秀的开源搜索引擎,以其极致的速度和丰富的功能著称,尤其擅长处理多语言文本。PGroonga 的使命就是将 Groonga 的强大能力无缝地带入 PostgreSQL 的世界,为用户提供远超原生全文搜索的体验。

== 安装
根据开发环境,用户可从 https://pgroonga.github.io/install[PGroonga安装] 页面选择适合自己的方式进行PGroonga安装。
IvorySQL的安装包里已经集成了PGroonga插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装PGroonga即可使用。

=== 源码安装
除PGroonga社区提供的安装方式以外,IvorySQL社区也提供了源码安装方式,源码安装环境为 Ubuntu 24.04(x86_64)。

[TIP]
环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1

==== 安装 groonga

** 安装依赖 kytea
[literal]
----
git clone https://github.com/neubig/kytea.git
autoreconf -i
./configure
make
sudo make install
----

** 安装依赖 libzmq
[literal]
----
从https://github.com/zeromq/libzmq/releases/tag/v4.3.5 下载zeromq-4.3.5.tar.gz
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried wget command to download tar file, sometimes the download speed is slower than explorer, so here I dont force user to choose downloading tool and give user the flexibility to choose his favorite tool. :)

tar xvf zeromq-4.3.5.tar.gz
cd zeromq-4.3.5/
./configure
make
sudo make install
----

** 下载 groonga包,安装指定依赖
[literal]
----
wget https://packages.groonga.org/source/groonga/groonga-latest.tar.gz
tar xvf groonga-15.1.5.tar.gz
cd groonga-15.1.5
#运行这个脚本安装依赖,支持apt和dnf包管理工具
./ setup.sh
----

** 编译安装
[literal]
----
# -S 指定groonga源码目录, -B 指定build目录,这个目录是个源码目录之外的一个只用于build的目录
cmake -S /home/ivorysql/groonga-15.1.5 -B /home/ivorysql/groonga_build --preset=release-maximum
cmake --build /home/ivorysql/groonga_build
sudo cmake --install /home/ivorysql/groonga_build
# 更新动态链接库缓存
sudo ldconfig
----

** 验证 groonga安装成功
[literal]
----
$ groonga --version
Groonga 15.1.5 [Linux,x86_64,utf8,match-escalation-threshold=0,nfkc,mecab,message-pack,mruby,onigmo,zlib,lz4,zstandard,epoll,apache-arrow,xxhash,blosc,bfloat16,h3,simdjson,llama.cpp]
----

==== 安装 pgroonga
[literal]
----
wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.1.tar.gz
tar xvf pgroonga-4.0.1.tar.gz
cd pgroonga-4.0.1
----

编译PGroonga,有个选项:HAVE_MSGPACK=1,它是用于支持WAL,使用这个选项需要安装msgpack-c 1.4.1或者更高版本。在基于Debian的平台使用libmsgpack-dev包,在CentOS 7上用msgpack-devel
[literal]
----
#安装依赖
sudo apt install libmsgpack-dev
----

运行make前确保pg_config命令的路径在PATH环境变量里
[literal]
----
make HAVE_MSGPACK=1
make install
----

== 创建Extension并确认PGroonga版本

psql 连接到数据库,执行如下命令:
[literal]
----
ivorysql=# CREATE extension pgroonga;
CREATE EXTENSION

ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'pgroonga';
name | default_version | installed_version | comment
---------+-----------------+-------------------+-------------------------------------------------------------------------------
pgroonga| 4.0.1 | 4.0.1 | Super fast and all languages supported full text search index based on Groonga
(1 row)
----

== 使用
关于PGroonga的使用,请参阅 https://pgroonga.github.io/tutorial[PGroonga官方文档]
47 changes: 47 additions & 0 deletions CN/modules/ROOT/pages/v1.17/35.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

:sectnums:
:sectnumlevels: 5

= pgddl (DDL Extractor)

== 概述
pgddl 是一个专为 PostgreSQL 数据库设计的 SQL 函数扩展,它能够直接从数据库系统目录中生成清晰、格式化的 SQL DDL (数据定义语言) 脚本,例如 CREATE TABLE 或 ALTER FUNCTION。它解决了 PostgreSQL 原生缺乏类似 SHOW CREATE TABLE 命令的问题,让用户无需借助外部工具(如 pg_dump)即可在纯 SQL 环境中轻松获取对象的创建语句。

该扩展通过一组简单的 SQL 函数提供了一套完整的解决方案,其优势包括:仅需使用 SQL 查询即可操作、支持通过 WHERE 子句灵活筛选对象、并能智能处理对象之间的依赖关系,生成包含 Drop 和 Create 步骤的完整脚本。这使得它特别适用于数据库变更管理、升级脚本编写和结构审计等场景。

需要注意的是,ddlx 仍在发展中,可能尚未覆盖所有 PostgreSQL 对象类型和高级选项。生成的脚本建议始终在非生产环境中先行检查和测试,以确保其正确性与安全性。

== 安装
IvorySQL的安装包里已经集成了pgddl插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装pgddl即可使用。其它安装方式可以参考下面的源码安装步骤。

[TIP]
源码安装环境为 Ubuntu 24.04(x86_64),环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1

=== 源码安装
从https://github.com/lacanoid/pgddl/releases/tag/0.20 下载pgddl-0.20.tar.gz,解压缩。

[literal]
----
cd pgddl-0.20
# 设置PG_CONFIG环境变量值为pg_config路径,eg:/usr/local/ivorysql/ivorysql-1/bin/pg_config
make PG_CONFIG=/path/to/pg_config
make PG_CONFIG=/path/to/pg_config install
----

== 创建Extension并确认ddlx版本

psql 连接到数据库,执行如下命令:
[literal]
----
ivorysql=# CREATE extension ddlx;
CREATE EXTENSION

ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'ddlx';
name | default_version | installed_version | comment
------+-----------------+-------------------+-------------------------
ddlx | 0.20 | 0.20 | DDL eXtractor functions
(1 row)
----

== 使用
关于pgddl的使用,请参阅 https://github.com/lacanoid/pgddl[ddlx官方文档]
61 changes: 61 additions & 0 deletions CN/modules/ROOT/pages/v1.17/36.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@

:sectnums:
:sectnumlevels: 5

= pgRouting

== 概述
pgRouting 是一个基于 PostgreSQL/PostGIS 数据库构建的开源地理空间路由扩展库。它为数据库赋予了强大的网络分析功能,使其能够处理复杂的路径规划与图论计算问题,例如计算两点之间的最短路径、执行旅行推销员(TSP)分析或计算服务区范围等。它将路由算法直接嵌入到数据库中,从而避免了在应用层进行复杂的数据传输与计算。

该扩展的核心优势在于能够利用 PostgreSQL 强大的数据管理能力和 PostGIS 丰富的空间函数,直接在数据库内部对空间网络数据执行高效计算。这不仅简化了应用程序的开发流程,还通过减少数据移动大幅提升了大规模网络分析的性能。

pgRouting 广泛应用于物流配送、交通导航、网络分析、城市规划及供应链管理等多个领域。其开源特性吸引了全球开发者持续的贡献与完善,使其成为空间数据库领域进行路径分析和网络求解的首选工具之一。

== 安装
IvorySQL的安装包里已经集成了pgRouting插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装pgRouting即可使用。其它安装方式可以参考下面的源码安装步骤。

[TIP]
源码安装环境为 Ubuntu 24.04(x86_64),环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1

=== 源码安装

** 安装依赖

对perl有依赖,perl一般在装IvorySQL时已经装上了,这里不用再装。
CMake版本要求 >= 3.12, Boost版本 >= 1.56
[literal]
----
#安装依赖
sudo apt install cmake libboost-all-dev
----

** 编译安装
[literal]
----
wget https://github.com/pgRouting/pgrouting/releases/download/v3.5.1/pgrouting-3.5.1.tar.gz
tar xvf pgrouting-3.5.1.tar.gz
cd pgrouting-3.5.1
mkdir build
cd build
cmake .. -DPOSTGRESQL_PG_CONFIG=/path/to/pg_config # eg: /usr/local/ivorysql/ivorysql-1/bin/pg_config
make
sudo make install
----

== 创建Extension并确认ddlx版本

psql 连接到数据库,执行如下命令:
[literal]
----
ivorysql=# CREATE extension pgrouting;
CREATE EXTENSION

ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'pgrouting';
name | default_version | installed_version | comment
-----------+-----------------+-------------------+---------------------
pgrouting | 3.5.1 | | pgRouting Extension
(1 row)
----

== 使用
关于pgRouting的使用,请参阅 https://docs.pgrouting.org/[pgRouting官方文档]
Loading