PostgreSQL扩展
PostgreSQL扩展
安装扩展
PostgreSQL在安装后会自带一些扩展,如果我们需要手动安装,一般扩展会在安装目录的/share/extension下,安装语句:CREATE EXTENSION 扩展的名称
CREATE EXTENSION adminpack;
//安装在指定的Schema,如下安装在app模式下
CREATE EXTENSION adminpack with schema app;
//如果遇到有特殊字符的,如uuid-ossp,需要加双引号
CREATE EXTENSION "uuid-ossp";
安装后可以查看.sql后缀的文件看看里面有哪些方法从而进行使用
卸载扩展
DROP EXTENSION 扩展的名称
DROP EXTENSION adminpack;
部分扩展介绍
uuid-ossp
这是一个生成uuid的扩展
//安装
CREATE EXTENSION "uuid-ossp";
select uuid_generate_v1();//"e9886f56-99c8-11eb-bdc7-1062e516aa3a"
select uuid_generate_v4();//"fd4724d1-d32f-4e9f-8701-b21575d1923e"
postgis
PostGIS是PostgreSQL的扩展,它提供了符合标准的GIS支持。 它增加了对地理对象的支持,允许在SQL中运行位置查询。 许多第三方GIS工具(包括开源和专有)都支持该工具。 PostGIS主要用C语言编写。 PostGIS是在GPLV2 +下发布的。
//text => geomtry
select st_geomfromtext('point(102.54 30.05)');
结果: "0101000000C3F5285C8FA25940CDCCCCCCCC0C3E40"
//geomtry => geojson
select st_asgeojson(st_geomfromtext('point(102.54 30.05)'));
结果:
{
"type":"Point",
"coordinates":[102.54,30.05]
}
//geojson => geomtry
select st_geomfromgeojson('{"type":"Point","coordinates":[102.54,30.05]}');
结果: "0101000000C3F5285C8FA25940CDCCCCCCCC0C3E40"
......
postgis扩展下载: https://www.PostgreSQL.org/ftp/postgis/
hstore
hstore模块实现了用于将键值对存储在单个值中的hstore数据类型。 hstore数据类型在许多情况下非常有用,例如半结构化数据或具有很少查询的许多属性的行。请注意,键和值仅是文本字符串
//安装
create extension hstore;
//hstore格式数据
select '"name" => "lxx","age" => "18"'::hstore;
更多API请参考: https://www.PostgreSQLtutorial.com/PostgreSQL-hstore