Skip to content

Commit 6a23486

Browse files
authored
Merge pull request #147 from yuanyl630/v1.17
Add CN and EN documents for new extensions
2 parents 6550811 + 70b8846 commit 6a23486

File tree

22 files changed

+992
-3
lines changed

22 files changed

+992
-3
lines changed

CN/modules/ROOT/images/p31.png

79 KB
Loading

CN/modules/ROOT/images/p32.png

193 KB
Loading

CN/modules/ROOT/nav.adoc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,15 @@
1010
** xref:v1.17/7.adoc[开发者指南]
1111
** xref:v1.17/8.adoc[运维管理指南]
1212
* IvorySQL生态
13+
** xref:v1.17/33.adoc[概述]
1314
** xref:v1.17/9.adoc[PostGIS]
1415
** xref:v1.17/10.adoc[pgvector]
16+
** xref:v1.17/34.adoc[PGroonga]
17+
** xref:v1.17/35.adoc[pgddl (DDL Extractor)]
18+
** xref:v1.17/36.adoc[pgRouting]
19+
** xref:v1.17/37.adoc[pg_cron]
20+
** xref:v1.17/38.adoc[pgsql-http]
21+
** xref:v1.17/40.adoc[pgvectorscale]
1522
* Oracle兼容功能列表
1623
** xref:v1.17/11.adoc[1、Ivorysql框架设计]
1724
** xref:v1.17/12.adoc[2、GUC框架]
@@ -24,4 +31,4 @@
2431
** xref:v1.17/19.adoc[9、新增Oracle兼容模式的端口与IP]
2532
* xref:v1.17/20.adoc[社区贡献指南]
2633
* xref:v1.17/21.adoc[工具参考]
27-
* xref:v1.17/22.adoc[FAQ]
34+
* xref:v1.17/22.adoc[FAQ]

CN/modules/ROOT/pages/v1.17/10.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export PG_CONFIG=/usr/local/ivorysql/ivorysql-1.17/bin/pg_config
3131

3232
** 拉取pg_vector源码
3333
```
34-
git clone --branch v0.6.2 https://github.com/pgvector/pgvector.git
34+
git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git
3535
```
3636

3737
** 安装 pgvector
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
:sectnums:
2+
:sectnumlevels: 5
3+
4+
5+
[discrete]
6+
== IvorySQL生态插件适配列表
7+
8+
IvorySQL 作为一款兼容 Oracle 且基于 PostgreSQL 的高级开源数据库,具备强大的扩展能力,支持丰富的生态系统插件。这些插件可以帮助用户在不同场景下增强数据库功能,包括地理信息处理、向量检索、全文搜索、数据定义提取和路径规划等。以下是当前 IvorySQL 官方兼容和支持的主要插件列表:
9+
10+
+
11+
12+
[cols="2,1,3,3"]
13+
|====
14+
|*插件名称*|*版本*|*功能描述*|*适用场景*
15+
| xref:v1.17/9.adoc[PostGIS] | 3.4.0 | 为 IvorySQL 提供地理空间数据支持,包括空间索引、空间函数和地理对象存储 | 地理信息系统(GIS)、地图服务、位置数据分析
16+
| xref:v1.17/10.adoc[pgvector] | 0.8.0 | 支持向量相似性搜索,可用于存储和检索高维向量数据| AI 应用、图像检索、推荐系统、语义搜索
17+
| xref:v1.17/34.adoc[PGroonga] | 4.0.1 | 提供多语言全文搜索功能,支持超高速文本检索和模糊匹配 | 日志分析、多语言内容搜索、实时搜索引擎
18+
| xref:v1.17/35.adoc[pgddl (DDL Extractor)] | 0.20 | 提取数据库中的 DDL(数据定义语言)语句,便于版本管理和迁移 | 数据库版本控制、CI/CD 集成、结构比对与同步
19+
| xref:v1.17/36.adoc[pgRouting] | 3.5.1 | 基于地理数据的路径规划扩展,支持最短路径、旅行商问题等算法 | 物流规划、交通网络分析、路径优化服务
20+
| xref:v1.17/37.adoc[pg_cron]​ | 1.6.0 | 提供数据库内部的定时任务调度功能,支持定期执行SQL语句 | 数据清理、定期统计、自动化维护任务
21+
| xref:v1.17/38.adoc[pgsql-http]​ | 1.7.0 | 允许在SQL中发起HTTP请求,与外部Web服务进行交互 | 数据采集、API集成、微服务调用
22+
| xref:v1.17/40.adoc[pgvectorscale] | 0.8.0 | 提供向量数据的分片和分布式扩展支持,提升大规模向量处理性能 | 分布式向量数据库、高并发向量查询
23+
|====
24+
25+
这些插件均经过 IvorySQL 团队的测试和适配,确保在 IvorySQL 环境下稳定运行。用户可以根据业务需求选择合适的插件,进一步提升数据库系统的能力和灵活性。
26+
27+
我们也将持续扩展和丰富 IvorySQL 的插件生态,欢迎社区开发者提交新的插件适配建议或代码贡献。如需了解更多每个插件的详细使用方法和最新兼容版本,请参阅各插件对应的文档章节。
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
2+
:sectnums:
3+
:sectnumlevels: 5
4+
5+
= PGroonga
6+
7+
== 概述
8+
PostgreSQL 内置了全文搜索功能,但在处理​​大规模数据​​、​​复杂查询​​以及​​非英语语言(特别是中日韩等 CJK 语言)​​ 时,其功能和性能可能无法满足高性能应用的需求。
9+
10+
PGroonga 应运而生,它是一个 PostgreSQL 的扩展插件,将 ​​Groonga​​ 这款高性能的全功能全文搜索引擎与 PostgreSQL 数据库深度融合。Groonga 本身是一个优秀的开源搜索引擎,以其极致的速度和丰富的功能著称,尤其擅长处理多语言文本。PGroonga 的使命就是将 Groonga 的强大能力无缝地带入 PostgreSQL 的世界,为用户提供远超原生全文搜索的体验。
11+
12+
== 安装
13+
根据开发环境,用户可从 https://pgroonga.github.io/install[PGroonga安装] 页面选择适合自己的方式进行PGroonga安装。
14+
IvorySQL的安装包里已经集成了PGroonga插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装PGroonga即可使用。
15+
16+
=== 源码安装
17+
除PGroonga社区提供的安装方式以外,IvorySQL社区也提供了源码安装方式,源码安装环境为 Ubuntu 24.04(x86_64)。
18+
19+
[TIP]
20+
环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1
21+
22+
==== 安装 groonga
23+
24+
** 安装依赖 kytea
25+
[literal]
26+
----
27+
git clone https://github.com/neubig/kytea.git
28+
autoreconf -i
29+
./configure
30+
make
31+
sudo make install
32+
----
33+
34+
** 安装依赖 libzmq
35+
[literal]
36+
----
37+
从https://github.com/zeromq/libzmq/releases/tag/v4.3.5 下载zeromq-4.3.5.tar.gz
38+
tar xvf zeromq-4.3.5.tar.gz
39+
cd zeromq-4.3.5/
40+
./configure
41+
make
42+
sudo make install
43+
----
44+
45+
** 下载 groonga包,安装指定依赖
46+
[literal]
47+
----
48+
wget https://packages.groonga.org/source/groonga/groonga-latest.tar.gz
49+
tar xvf groonga-15.1.5.tar.gz
50+
cd groonga-15.1.5
51+
#运行这个脚本安装依赖,支持apt和dnf包管理工具
52+
./ setup.sh
53+
----
54+
55+
** 编译安装
56+
[literal]
57+
----
58+
# -S 指定groonga源码目录, -B 指定build目录,这个目录是个源码目录之外的一个只用于build的目录
59+
cmake -S /home/ivorysql/groonga-15.1.5 -B /home/ivorysql/groonga_build --preset=release-maximum
60+
cmake --build /home/ivorysql/groonga_build
61+
sudo cmake --install /home/ivorysql/groonga_build
62+
# 更新动态链接库缓存
63+
sudo ldconfig
64+
----
65+
66+
** 验证 groonga安装成功
67+
[literal]
68+
----
69+
$ groonga --version
70+
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]
71+
----
72+
73+
==== 安装 pgroonga
74+
[literal]
75+
----
76+
wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.1.tar.gz
77+
tar xvf pgroonga-4.0.1.tar.gz
78+
cd pgroonga-4.0.1
79+
----
80+
81+
编译PGroonga,有个选项:HAVE_MSGPACK=1,它是用于支持WAL,使用这个选项需要安装msgpack-c 1.4.1或者更高版本。在基于Debian的平台使用libmsgpack-dev包,在CentOS 7上用msgpack-devel
82+
[literal]
83+
----
84+
#安装依赖
85+
sudo apt install libmsgpack-dev
86+
----
87+
88+
运行make前确保pg_config命令的路径在PATH环境变量里
89+
[literal]
90+
----
91+
make HAVE_MSGPACK=1
92+
make install
93+
----
94+
95+
== 创建Extension并确认PGroonga版本
96+
97+
psql 连接到数据库,执行如下命令:
98+
[literal]
99+
----
100+
ivorysql=# CREATE extension pgroonga;
101+
CREATE EXTENSION
102+
103+
ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'pgroonga';
104+
name | default_version | installed_version | comment
105+
---------+-----------------+-------------------+-------------------------------------------------------------------------------
106+
pgroonga| 4.0.1 | 4.0.1 | Super fast and all languages supported full text search index based on Groonga
107+
(1 row)
108+
----
109+
110+
== 使用
111+
关于PGroonga的使用,请参阅 https://pgroonga.github.io/tutorial[PGroonga官方文档]
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
:sectnums:
3+
:sectnumlevels: 5
4+
5+
= pgddl (DDL Extractor)
6+
7+
== 概述
8+
pgddl 是一个专为 PostgreSQL 数据库设计的 SQL 函数扩展,它能够直接从数据库系统目录中生成清晰、格式化的 SQL DDL (数据定义语言) 脚本,例如 CREATE TABLE 或 ALTER FUNCTION。它解决了 PostgreSQL 原生缺乏类似 SHOW CREATE TABLE 命令的问题,让用户无需借助外部工具(如 pg_dump)即可在纯 SQL 环境中轻松获取对象的创建语句。
9+
10+
该扩展通过一组简单的 SQL 函数提供了一套完整的解决方案,其优势包括:仅需使用 SQL 查询即可操作、支持通过 WHERE 子句灵活筛选对象、并能智能处理对象之间的依赖关系,生成包含 Drop 和 Create 步骤的完整脚本。这使得它特别适用于数据库变更管理、升级脚本编写和结构审计等场景。
11+
12+
需要注意的是,ddlx 仍在发展中,可能尚未覆盖所有 PostgreSQL 对象类型和高级选项。生成的脚本建议始终在非生产环境中先行检查和测试,以确保其正确性与安全性。
13+
14+
== 安装
15+
IvorySQL的安装包里已经集成了pgddl插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装pgddl即可使用。其它安装方式可以参考下面的源码安装步骤。
16+
17+
[TIP]
18+
源码安装环境为 Ubuntu 24.04(x86_64),环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1
19+
20+
=== 源码安装
21+
从https://github.com/lacanoid/pgddl/releases/tag/0.20 下载pgddl-0.20.tar.gz,解压缩。
22+
23+
[literal]
24+
----
25+
cd pgddl-0.20
26+
# 设置PG_CONFIG环境变量值为pg_config路径,eg:/usr/local/ivorysql/ivorysql-1/bin/pg_config
27+
make PG_CONFIG=/path/to/pg_config
28+
make PG_CONFIG=/path/to/pg_config install
29+
----
30+
31+
== 创建Extension并确认ddlx版本
32+
33+
psql 连接到数据库,执行如下命令:
34+
[literal]
35+
----
36+
ivorysql=# CREATE extension ddlx;
37+
CREATE EXTENSION
38+
39+
ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'ddlx';
40+
name | default_version | installed_version | comment
41+
------+-----------------+-------------------+-------------------------
42+
ddlx | 0.20 | 0.20 | DDL eXtractor functions
43+
(1 row)
44+
----
45+
46+
== 使用
47+
关于pgddl的使用,请参阅 https://github.com/lacanoid/pgddl[ddlx官方文档]
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
2+
:sectnums:
3+
:sectnumlevels: 5
4+
5+
= pgRouting
6+
7+
== 概述
8+
pgRouting 是一个基于 PostgreSQL/PostGIS 数据库构建的开源地理空间路由扩展库。它为数据库赋予了强大的网络分析功能,使其能够处理复杂的路径规划与图论计算问题,例如计算两点之间的最短路径、执行旅行推销员(TSP)分析或计算服务区范围等。它将路由算法直接嵌入到数据库中,从而避免了在应用层进行复杂的数据传输与计算。
9+
10+
该扩展的核心优势在于能够利用 PostgreSQL 强大的数据管理能力和 PostGIS 丰富的空间函数,直接在数据库内部对空间网络数据执行高效计算。这不仅简化了应用程序的开发流程,还通过减少数据移动大幅提升了大规模网络分析的性能。
11+
12+
pgRouting 广泛应用于物流配送、交通导航、网络分析、城市规划及供应链管理等多个领域。其开源特性吸引了全球开发者持续的贡献与完善,使其成为空间数据库领域进行路径分析和网络求解的首选工具之一。
13+
14+
== 安装
15+
IvorySQL的安装包里已经集成了pgRouting插件,如果使用安装包安装的IvorySQL,通常不需要再手动安装pgRouting即可使用。其它安装方式可以参考下面的源码安装步骤。
16+
17+
[TIP]
18+
源码安装环境为 Ubuntu 24.04(x86_64),环境中已经安装了IvorySQL1.17及以上版本,安装路径为/usr/local/ivorysql/ivorysql-1
19+
20+
=== 源码安装
21+
22+
** 安装依赖
23+
24+
对perl有依赖,perl一般在装IvorySQL时已经装上了,这里不用再装。
25+
CMake版本要求 >= 3.12, Boost版本 >= 1.56
26+
[literal]
27+
----
28+
#安装依赖
29+
sudo apt install cmake libboost-all-dev
30+
----
31+
32+
** 编译安装
33+
[literal]
34+
----
35+
wget https://github.com/pgRouting/pgrouting/releases/download/v3.5.1/pgrouting-3.5.1.tar.gz
36+
tar xvf pgrouting-3.5.1.tar.gz
37+
cd pgrouting-3.5.1
38+
mkdir build
39+
cd build
40+
cmake .. -DPOSTGRESQL_PG_CONFIG=/path/to/pg_config # eg: /usr/local/ivorysql/ivorysql-1/bin/pg_config
41+
make
42+
sudo make install
43+
----
44+
45+
== 创建Extension并确认ddlx版本
46+
47+
psql 连接到数据库,执行如下命令:
48+
[literal]
49+
----
50+
ivorysql=# CREATE extension pgrouting;
51+
CREATE EXTENSION
52+
53+
ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'pgrouting';
54+
name | default_version | installed_version | comment
55+
-----------+-----------------+-------------------+---------------------
56+
pgrouting | 3.5.1 | | pgRouting Extension
57+
(1 row)
58+
----
59+
60+
== 使用
61+
关于pgRouting的使用,请参阅 https://docs.pgrouting.org/[pgRouting官方文档]

0 commit comments

Comments
 (0)