前段时间在学习yugabyte 发现yugabyte 是直接复用了pg server的源码,所以当时就觉得大部分pg extension 也是可用。
今天看到了官方文档中有关于如何安装的,发现还得多看官方文档
安装方法
- extention组成
一般来说一个extention 会包含:
共享库文件 .so
sql 文件 --.sql
control 文件 .control - 目录说明
共享库在``pkglibdir 获取,sql以及 control 文件必须在extension
子目录的libdir
,我们可以通过以下命令安装
使用了别名技术
别名定义:alias yb_pg_config=/<yugabyte-path>/postgres/bin/pg_config
共享库文件:ls "$(yb_pg_config --pkglibdir)"
sql 以及control 文件: ls "$(yb_pg_config --sharedir)"/extension/
- 一个安装uuid-ossp 的例子
cp -v "$(pg_config --pkglibdir)"/*uuid-ossp*.so "$(yb_pg_config --pkglibdir)" &&
cp -v "$(pg_config --sharedir)"/extension/*uuid-ossp*.sql "$(yb_pg_config --sharedir)"/extension &&
cp -v "$(pg_config --sharedir)"/extension/*uuid-ossp*.control "$(yb_pg_config --sharedir)"/extension &&
./bin/ysqlsh -c "CREATE EXTENSION \"uuid-ossp\"";
说明
yugabyte 已经内置了一些pg 常用的扩展包(spi,gis,fuzzystrmatch,pgcrypto) ,yugabyte 的ysql 功能还是很强大的,后边
尝试集成下timescaledb,看看效果
参考资料
https://docs.yugabyte.com/latest/api/ysql/extensions/