安装与卸载
目前 Yukon 2.1 版本支持商用数据库GaussDB主备版本和分布式版本。 在安装 Yukon 之前必须先安装数据库。 商用数据库GaussDB请联系高斯数据库服务提供商,Yukon for GaussDB版本请登陆华为云商店- 禹贡
Note
稳定性更优,支持麒麟和欧拉不同架构多个版本的操作系统并且兼容O和PG两种数据库平台兼容模式。
数据库安装成功后,开始 Yukon 产品的安装。
获取安装包
通过华为云商店获取 禹贡 安装包或联系高斯数据库服务提供商获取相关GIS配套服务。
其他数据库版本下载地址:
链接: https://pan.baidu.com/s/1PJpt1c62s-7S2d5e7d4JeA?pwd=dbws 提取码: dbws
- 检查安装包解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
mkdir yukon tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C yukon ls -l yukon
执行 ls 命令,显示类似如下信息:
ls -l drwxr-xr-x 8 root root 138 Dec 29 21:52 . dr-xr-x---. 20 root root 4096 Dec 30 14:33 .. drwxr-xr-x 2 root root 75 Dec 29 21:52 bin drwxr-xr-x 2 root root 278 Dec 29 21:52 data drwxr-xr-x 2 root root 8192 Dec 29 21:52 extension -rw-r--r-- 1 root root 7649776 Dec 29 21:52 Yukon 2.1 产品文档.pdf -rw-r--r-- 1 root root 4367 Dec 29 21:52 install.sh drwxr-xr-x 2 root root 220 Dec 29 21:52 lib drwxr-xr-x 2 root root 4096 Dec 29 21:52 license drwxr-xr-x 2 root root 4096 Dec 29 21:52 yukon_dep
GaussDB相关GUC参数要求
GUC参数详细说明和设置方法请参考GaussDB官方文档。
1、检查兼容性配置参数behavior_compat_options,关闭部分GUC兼容性配置项,如果未关闭可能会出现插件功能不可用或执行结果异常的情况。
具体参数如下:
allow_procedure_compile_check
proc_implicit_for_loop_variable
plpgsql_dependency
proc_outparam_override
2、检查数据库B模式兼容性行为配置项,关闭部分兼容性配置项,如果未关闭可能会出现插件功能不可用或执行结果异常的情况。
具体参数如下:
b_format_behavior_compat_options
b_format_dev_version
b_format_version
3、检查GUC参数是否符合以下取值要求
enable_default_ustore_table=off
说明:目前不支持ustore存储模式,默认值为on,需要关闭设置为off。
allow_create_sysobject = on
说明:默认值为on,如关闭需要重新开启为on
设置是否允许在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。
此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。
•on表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词、聚合函数等对象,并允许初始用户在系统模式下创建操作符。sysadmin用户具有默认CREATE OR REPLACE/ALTER/GRANT/REVOKE系统对象的权限。其他用户是否允许创建这些对象请参考对应模式的权限要求。
•off表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。sysadmin用户不具有默认CREATE OR REPLACE/ALTER/GRANT/REVOKE系统对象的权限。
check_function_bodies = on
说明:设置是否在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。为了避免产生问题(比如避免从转储中恢复函数定义时向前引用的问题),偶尔会禁用验证。开启后主要验证存储过程中PLSQL的词语法问题,包括数据类型、语句和表达式等,对于其中出现的SQL则在Create阶段不做检查而采用了运行时检查的方式
默认值:on,表示在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。
convert_string_to_digit = on
说明:设置隐式转换优先级,是否优先将字符串转为数字。默认值:on,优先将字符串转为数字。
enable_extension = off
说明:控制是否支持创建数据库扩展插件。默认值:off,不支持创建数据库扩展插件。
array_nulls = on
说明:控制数组输入解析器是否将未用引用的NULL识别为数组的一个NULL元素。
enable_codegen=off 说明:请设置为off。不支持开启。
backslash_quote = ‘safe_encoding’
说明:控制字符串文本中的单引号是否能够用’表示。默认值:safe_encoding,表示仅在客户端字符集编码不会在多字节字符末尾包含的ASCII值时允许。
bytea_output = ‘hex’
说明:设置bytea类型值的输出格式。默认值:hex,将二进制数据编码为每字节2位十六进制数字。
recovery_max_workers = 1
说明:设置最大并行回放线程个数。默认值:4,不支持并行回放,请修改为1。
recovery_redo_workers = 1
说明:极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。默认值:1,不支持并行回放,若有修改请恢复默认设置。
standard_conforming_strings = on
说明:控制普通字符串文本(’…’)中是否按照SQL标准把反斜扛当普通文本。默认值:on。
support_extended_features = off
说明:控制是否支持数据库的扩展特性。默认值:off,不支持数据库的扩展特性。
a_format_version= ‘’
说明:数据库平台兼容性,必须设为’‘,默认值即为空,若值为‘10c’会导致postgis_raster模块创建失败。
a_format_dev_version = ‘’
说明:数据库平台迭代小版本兼容性,必须设为’‘
plsql_compile_check_options = ‘’
说明:数据库兼容性行为配置项,默认值:’‘
enable_stream_operator = on
分布式下要使用 Gist 索引,需要设置为 on
安装包安装
Yukon支持GaussDB主备版本和分布式版本,以下说明针对两种版本的安装方法。
单节点安装
安装时请使用数据库所属用户,这里假设 GaussDB 数据库所属用户为 omm。
使用 omm 用户登录到 Yukon 包要安装的主机,解压 Yukon 压缩包到任意目录(假定目录为 /opt/software/yukon)
tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C /opt/software/yukon
进入解压后的目录
cd /opt/software/yukon
Note
注意检查文件夹权限,所属用户必须为第1步中的数据库所属用户,如果误操作为root用户,请及时使用正确用户重新解压!
3.检查数据库环境变量
--检查GAUSSHOME环境变量,输出结果是否为空以及是否正确 echo $GAUSSHOME --检查PGDATA环境变量,输出结果是否为空以及是否正确 echo $PGDATA --检查LD_LIBRARY_PATH环境变量,输出结果是否为空以及是否包含数据库lib目录 echo $LD_LIBRARY_PATH
4.配置数据库环境变量[可选]
如果检查数据库环境变量存在问题,请按照以下步骤重新配置PATH、LD_LIBRARY_PATH、PGDATA环境变量,并且配置后需要重新检查。
GaussDB数据库安装后会生成用户环境变量文件,PATH/LD_LIBRARY_PATH一般会自动加载,不需要手动; 如果遇到需要手动加载的情况,可直接source用户环境变量文件。
--手动source环境变量文件 source /home/omm/env_single --设置PGDATA环境变量,需要根据数据库的数据目录datanode进行设置,可查看数据库配置文件cluster_config.xml export PGDATA=$GAUSSHOME/dn1
执行安装脚本安装 Yukon
sh install.sh -i
上述命令中使用
-i
参数表示安装,卸载时可使用-r
参数。安装完成后会显示如下界面
\ \ / / | | \ \_/ /_ _ | | __ ___ _ __ \ /| | | || |/ // _ \ | _ \ | | | |_| || <| (_) || | | | |_| \____||_|\_\\___/ |_| |_|
开始使用
以上安装完成后,可以进入数据库初始化Yukon模块。
--- 切换到 omm (数据库安装用户) su omm --- 连接到 postgres 数据库 gsql -d postgres
--- 查看yukon版本 select yukon_version(); --- 创建 postgis 扩展 CREATE EXTENSION postgis; --- 创建 postgis_raster 扩展 CREATE EXTENSION postgis_raster; -- 创建 SFCGAL 扩展 CREATE EXTENSION postgis_sfcgal; -- 创建 topology 扩展 CREATE EXTENSION postgis_topology; --- 创建 yukon_geomodel 扩展 CREATE EXTENSION yukon_geomodel; --- 创建 yukon_geogridcoder 扩展 CREATE EXTENSION yukon_geogridcoder;
多节点安装
主备版本和分布式版本的每个节点分别执行单节点安装,具体步骤参考“单节点安装”。
数据库参数修改
数据库参数的修改均位于数据目录下的 gaussdb.conf
和
gs_hba.conf
两个文件中,下面为假定的配置文件所在位置:
GaussDB
/opt/Gaussdb/cluster/dn1/gaussdb.conf
/opt/Gaussdb/cluster/dn1/gs_hba.conf
修改 GaussDB 的加密方式
对于GaussDB 来说,需要将其加密方式改为 MD5,否则将会导致数据库工具软件无法连接。
# GaussDB: /opt/Gaussdb/cluster/dn1/gaussdb.conf 将 password_encryption_type 修改为 0 ,并取消注释 password_encryption_type = 0
修改监听地址
一般情况下,我们并不会只在本地连接到数据库,也会在其他主机连接数据库,因此,我们需要修改一下监听的网卡 IP 地址,使其他主机也能够连接到数据库。这里我们修改为
*
表示监听所有网卡地址。# /GaussDB: /opt/Gaussdb/cluster/dn1/gaussdb.conf listen_addresses = '*' # what IP address(es) to listen on;
修改可接受的远程 IP 地址
一般情况下,我们会通过 IP 将数据库可接受的连接接限制在某个范围。因此我们可以在
gs_hba.conf
加入下面的一行表示可接受位于192.168.13.1/24
网段内的所有主机。如果想接受所有请求,可以将子网掩码设置为 0.# GaussDB: /opt/Gaussdb/cluster/dn1/gs_hba.conf host all all 192.168.13.1/24 md5
GaussDB 数据库提供了gs_guc工具设置配置文件(“gaussdb.conf”、“gs_hba.conf”)中的参数,详见 openGauss
Note
gs_guc 工具不支持包含’.’符号的参数设置。例如:postgis.backend 无法通过 gs_guc 进行配置。可以通过 set 命令进行修改。
数据库参数修改完成后重新启动数据库,使参数生效。
验证
在本节我们会使用一款开源的数据库工具软件 DBeaver(22.3.0) 来连接数据库。
创建用户
GaussDB
GaussDB 在外部连接时不能使用 omm 用户,因此这里我们新建一个用户用于测试,后续您可以将其删除。
连接到数据库
gsql -d postgres -p 5432
创建用户
创建一个用户名为 test 密码为 Bigdata@123 的新用户。
CREATE USER test with PASSWORD 'Bigdata@123' SYSADMIN;
输出如下则说明创建成功:
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE
如果没有输出 MD5 的提示,请检查是否将 openGauss/GaussDB 的加密方式修改为 MD5。
PostgreSQL
连接到数据库
psql -d postgres -p 5432
创建用户
创建一个用户名为 test 密码为 Bigdata@123 的新用户。
CREATE USER test WITH PASSWORD 'Bigdata@123' Superuser;
输出如下则说明创建成功:
CREATE ROLE
新建一个 数据库连接
这里我们统一使用 PostgreSQL JDBC 来连接数据库
输入数据库连接信息
填写我们第一步创建好的用户信息
在 Host 位置写入数据库主机的 IP 地址,在 Username 写入我们刚刚创建的用户名
test
,在 Password 位置写入我们的密码Bigdata@123
。测试连接
点击左下角的 Test Connection 测试是否可以连接到数据库。如果连接成功会显示数据库的信息。第一次连接时需要下载 JDBC 驱动,点击下载即可。
GaussDB 连接成功时,显示如下:
PostgreSQL 连接成功时,显示如下:
显示矢量数据
DBeaver 自带了显示 GIS 数据的能力,我们可以使用他来查看 GIS 数据。
首先创建 postgis 扩展
CREATE EXTENSION POSTGIS;
查询矢量数据
select 'SRID=4326;Point(116.4034318 39.9237871)'::geometry;
升级
Yukon for gaussdb 目前所有扩展模块均为最新版本,无需进行扩展升级。
卸载
如果使用安装包进行安装,执行 sh install.sh -r
命令即可卸载,也可以使用yk_tool -r 进行卸载,详情见 yk_tool 工具说明 。
如果使用源码进行编译安装,在源码根目录下,执行命令 make uninstall
进行卸载。
如果使用 Docker 进行安装,直接删除 Docker 容器和镜像即可。
您也可以手动检查以下三个地方查看是否有卸载残留:
$GAUSSHOME/lib/gaussdb/
目录下与 postgis 和 yukon 相关的文件$GAUSSHOME/share/gaussdb/extension/
目录下与 postgis 和 yukon 相关的文件$GAUSSHOME/lib
目录下是否有yukon相关的三方库文件