云服务器内容精选

  • 函数 本章节介绍了在PostgreSQL11开源版本的基础上,RDS for PostgreSQL增强版支持的内置函数和高级函数包。 表1 内置函数 内置函数 说明 add_months(date,integer) 返回date加上integer的值,返回值为DATE类型。 appendchildxml(XMLType_instance, XPath_string, value_expr[, namespace_string]) 在XMLType类型数据XMLType_instance指定位置XPath_string处追加value_expr节点,其中namespace_string用于描述XPath_string的命名空间信息。 asciistr(string) 返回给定字符串string对应的ASCII值,不支持非ASCII字符。 bin_to_num(expr_list) 将expr_list中的二进制串转换为对应的十进制数,返回值类型为NUMBER。 bitand(number1,number2) 返回number1和number2按位与的值,返回值为BIT类型。 convert(char, dest_char_set[, source_char_set]) 将source_char_set字符集编码格式的输入字符串char,转换为dest_char_set字符集编码格式,该函数只在服务端生效。 cosh(n) 返回参数n的双曲余弦值; decode(expr,search1, result1[[,search2, result2],......][, default]) 将expr表达式值依次与所有search表达式(search1,search2......)进行比较,如果与searchn进行匹配,则返回resultn,否则返回default。如果没有default,返回null。 empty_blob() 返回一个空BLOB类型。 hextoraw(char) 将十六进制字符串转换为RAW类型的值。 instrb(string, substring[, position[, occurrence]]) 返回从字符string的第position位置开始,第occurrence次出现的子串substring起始位置,默认从字符串string首部开始第一次出现的位置。 last_day(date) 返回date所在月的最后一天。 lengthb(char) 返回char字符的字节长度,char支持的类型为所有字符串类型(如CHAR, VARCHAR2, NCHAR, NVARCHAR2等)或可隐式转换为字符串的类型(如integer等)。 listagg(measure_expr[, 'delimiter']) within group(order_by_clause) [over query_partition_clause] 将query_partition_clause分组中的每个列表达式measure_expr值按order_by_clause规则排序后,再合并成一行,值之间使用delimiter分隔符进行分隔。 lnnvl(condition) 返回条件表达式condition的取反值,返回类型为BOOLEAN。 mod(n2, n1) 支持除数为0的情况,即当n1为0时,直接返回n2。 months_between(date1, date2) 返回date1与date2之间相差的月数,当date2早于date1,返回值为负数。 nanvl(n2, n1) 当单精度或双精度浮点数n2的值为NAN,则返回n1,否则返回n2。 nchr(number) 返回本地字符集中二进制与number相等的字符。 new_time(date, timezone1, timezone2) 返回timezone1的date时间对应的timezone2的时间,返回值类型为DATE。 next_day(date, char) 返回date后的第一个自然日(包括工作日、休息日和节假日),返回值为DATE类型。 numtodsinterval(n, interval_unit) 根据INTERVAL数据类型单元interval_unit(取值范围:'DAY'、'HOUR'、'MINUTE'、'SECOND'),将数字n转换为数据类型INTERVAL DAY TO SECOND。 numtoyminterval(n, 'interval_unit') 将数字n按照指定单位interval_unit转为数据类型INTERVAL YEAR TO MONTH,其中interval_unit取值为:YEAR、MONTH。 nlssort(char[, nlsparam]) 按照nlsparam指定的排序字符集对字符串char进行排序,默认使用char字符串字符集排序; nls_upper(char[, nlsparam]) 根据nlsparam指定的排序规则将字符串char中的字母转换为大写,其中char字符串类型为CHAR, VARCHAR2, NCHAR, NVARCHAR2,CLOB或NCLOB,nlsparam的取值为'NLS_SORT = sort'。 nls_lower(char[, nlsparam]) 根据nlsparam指定的排序规则将字符串char中的字母转换为小写,其中char字符串类型为CHAR, VARCHAR2, NCHAR, NVARCHAR2,CLOB或NCLOB,nlsparam的取值为'NLS_SORT = sort'。 nvl(expr1, expr2) 返回expr1, expr2中第一个非空值。 rawtohex(raw) 将RAW类型的值转换为十六进制字符串。 regexp_count(source_char, pattern, position, match_param) 返回指定字符串source_char中的指定位置position开始,匹配正则表达式模式pattern的次数。其中,match_param参数会影响正则表达式匹配规则,比如match_param='i'忽略大小写等。 regexp_instr(source_char, pattern[, position[, occurrence[, return_opt[, match_param[, subexpr]]]]]) 该函数拓展了INSTR函数的功能,允许使用正则表达式匹配,返回值类型为INTEGER。 position表示查找起始位置。 occurrence表示查找pattern在source_char的第几次出现。 return_opt: 取值为0表示返回模式匹配的起始位置。 取值为1表示返回模式匹配的结束位置。 match_param表示正则表达式模式匹配控制参数,如区分大小写等。 subexpr表示正则表达式分组匹配的组号。 regexp_like(source_char, pattern[,match_param]) source_char为字符串表达式,pattern为正则表达式,match_param为正则表达式控制参数,返回字符串source_char是否可按照正则表达式pattern进行匹配。 regexp_substr(source_char, pattern[,position[,occurrence[,match_param[,subexpr]]]]) 按正则表达式在source_char字符串中匹配子字符串。 source_char为查找的输入字符串,支持所有字符串类型(如CHAR, VARCHAR2, NCHAR, NVARCHAR2等)或可隐式转换为字符串的类型(如integer等)。 pattern为子字符串匹配的正则表达式。 position为指定匹配的起始字符位置。 occurrence为pattern在source_char出现的次数。 match_parameter为正则表达式控制参数。 subexpr为pattern的第几个子表达式,范围为0~9。 raise_application_error(errnum, errmsg) 将错误码errnum与错误消息errmsg输出到客户端。 remainder(n2, n1) 返回n2/n1的余数,类似于mod,区别在于,mod取余时用了floor处理,而remainder使用round处理。返回值类型为NUMERIC或双精度浮点数(由入参类型决定)。 round(n,precision) 返回n的四舍五入值,precision为精度值。 scn_to_timestamp(number) 返回SCN号number产生的最近时间戳; sinh(n) 返回数字n的双曲正弦值,当n类型为BINARY_FLOAT,返回类型BINARY_DOUBLE,否则返回值类型为NUMERIC。 substr(char,position[,substring_length]) 返回char字符串中第position个字符开始,长度为substring_length的子字符串。若不指定substring_length,则截取到字符串结尾。 substrb(char, position[, substring_length]) 返回char字符串中第position个字节开始,长度为substring_length字节的子字符串。若不指定substring_length,则截取到字符串结尾。 sys_context(namespace, parameter) 返回指定参数parameter在命名空间namespace下的值,返回值类型为VARCHAR2。 sys_guid() 返回RAW类型的全局唯一标识。 sys_connect_by_path(column, char) 仅适用于CONNECT BY查询,返回column列的根节点; tanh(n) 返回参数n的双曲正切值; to_blob(char) 将char字符串转换为BLOB类型,char支持的类型为所有字符串类型(如CHAR, VARCHAR2, NCHAR, NVARCHAR2等)或可隐式转换为字符串的类型(如integer等)。 to_binary_float(expr) 将数字字符串expr转换为单精度float类型。 to_binary_double(expr) 将数字字符串expr转换为双精度float类型。 to_clob(char) 将char字符串转换为CLOB数据类型。 to_char(char) 增加char支持的类型:char、character、varchar。 to_date(char[,fmt]) 将char时间字符串按照fmt格式转换为date数据类型,char支持的类型有CHAR、VARCHAR2、NCHAR、 NVARCHAR2、TIMESTAMP。如果省略fmt,则char必须采用DATE数据类型的默认格式。 to_dsinterval('sql_format' | 'ds_iso_format') 将SQL标准(如'100 00:00:00')或ISO标准(如'P100DT05H')的时间字符串转换为数据类型INTERVAL DAY TO SECOND。 to_multi_byte(char) 将单字节字符char转换成对应的多字节字符。 to_number(expr) 将expr表达式值转换为number类型。 to_number(expr, fmt, 'nlsparam') 按照指定格式fmt转换expr字符串为数字,返回类型为NUMBER,其中nlsparam为国际化语言参数,支持的参数分别为:NLS_NUMERIC_CHARACTERS、NLS_CURRENCY、NLS_ISO_CURRENCY。 to_timestamp(char[,fmt]) 将char时间字符串按照fmt格式转换为timestamp数据类型,char支持的类型有CHAR、VARCHAR2、NCHAR、 NVARCHAR2、TIMESTAMP。如果省略fmt,则char必须采用TIMESTAMP数据类型的默认格式。 to_single_byte(char) 将多字节输入字符串转换为单字节字符串。 to_yminterval('sql_format' | 'ym_iso_format') 将SQL标准(如'01-02')或ISO标准(如'P1Y2M')的时间字符串转换为数据类型INTERVAL MONTH TO YEAR。 timestamp_to_scn(timestamp) 根据时间戳timestamp返回系统变更号SCN; trunc(date[, fmt]) 按照fmt指定的日期格式对date进行截断处理,返回值类型为DATE。如果省略fmt,则默认日期格式为'DDD'。 tz_offset({time_zone_name | '{+|-}hh:mi'}) 返回指定时区的偏移量,返回值类型VARCHAR2,参数可以是时区名time_zone_name或者'{+|-}hh:mi'格式字符串。 value(correlation_variable) 以对象表的方式返回correlation_variable所关联表的记录行,返回类型为correlation_variable所关联的对象表。 表2 高级函数包 高级函数包 说明 DBMS_OUTPUT.PUT(item) 将item字符串放入本地缓冲区;item为所有可以转换为字符串的类型。 DBMS_OUTPUT.PUT_LINE(item) 将item字符串放入本地缓冲区,然后将整个本地缓冲区的内容整体输出;item为所有可以转换为字符串的类型。 DBMS_RANDOM.SEED(val) val为生成随机数的种子,可为字符串和数字类型。 DBMS_RANDOM.VALUE([low,high]) 返回low和high之间长度为16位的随机数,如果不指定low和high的范围,则默认范围为0~1。 dbms_lob.getlength(lob_loc {clob|blob}) 返回lob_loc指定的LOB对象长度; dbms_lob.read(lob_loc, amount, offset, buffer) 从指定偏移offset读取LOB对象lob_loc指定长度amount的内容写入缓冲区buffer; dbms_lob.write(lob_loc, amount, offset, buffer) 将buffer缓冲器的内容写入大对象lob_loc缓冲区(并不影响所引用的大对象),从offset开始写入长度为amount。 utl_raw.cast_to_raw(char) 将VARCHAR2类型字符串char转换为RAW类型,返回值类型为RAW。 utl_raw.length(raw) 返回raw数据类型的字节长度,返回值类型为NUMBER。 utl_raw.cast_from_binary_integer(n, endianess) 按照endianess指定的内存对齐方式将整数n转换为RAW类型,其中endianess取值分别为: 1,大端对齐; 2,小端对齐; 3,按机器对齐方式; 父主题: RDS for PostgreSQL增强版
  • 创建 IAM 用户并授权 如果需要对华为云上的资源进行精细管理,请使用 统一身份认证 服务(Identity and Access Management,简称IAM)创建IAM用户及用户组,并授权,以使得IAM用户获得具体的操作权限。 创建用户组并授权 在IAM控制台创建用户组,并授予关系型数据库只读权限“RDS ReadOnlyAccess”。 如果需要使用到对接其他服务的一些功能时,除了需要配置“RDS ReadOnlyAccess”权限外,还需要配置对应服务的权限。 例如:使用控制台连接实例时,除了需要配置“RDS ReadOnlyAccess”权限外,您还需要配置数据管理服务“DAS FullAccess”权限后,才可正常使用控制台登录数据库实例。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择云数据库 RDS,进入RDS主界面,单击右上角“购买关系型数据库”,尝试购买关系型数据库,如果无法购买关系型数据库(假设当前权限仅包含RDS ReadOnlyAccess),表示“RDS ReadOnlyAccess”已生效。 在“服务列表”中选择除云数据库 RDS外(假设当前策略仅包含RDS ReadOnlyAccess)的任一服务,若提示权限不足,表示“RDS ReadOnlyAccess”已生效。
  • 操作场景 安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互信任的弹性云服务器和云数据库RDS实例提供访问策略。 为了保障数据库的安全性和稳定性,在使用云数据库RDS实例之前,您需要设置安全组,开通需访问数据库的IP地址和端口。 内网连接RDS实例时,设置安全组分为以下两种情况: E CS 与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规则,执行通过内网连接RDS for PostgreSQ L实例 (Linux方式)。 ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 本节主要介绍如何为RDS实例设置相应的入方向规则。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 注意事项 因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和云数据库RDS实例可互相访问。安全组创建后,您可以在安全组中定义各种访问规则,当云数据库RDS实例加入该安全组后,即受到这些访问规则的保护。 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 一个RDS实例允许绑定多个安全组,一个安全组可以关联多个RDS实例。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 当需要从安全组外访问安全组内的云数据库RDS实例时,需要为安全组添加相应的入方向规则。 为了保证数据及实例安全,请合理使用权限。建议使用最小权限访问,并及时修改数据库默认端口号(5432),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。 源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的云数据库RDS实例。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 步骤2:测试连通性并安装PostgreSQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“Linux弹性 云服务器远程登录 (VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“概览”页面。 选择“连接管理”,在“连接信息”模块获取实例的公网地址和数据库端口。 图4 连接信息 如果没有绑定公网地址,请参见绑定弹性公网IP。 在ECS上测试是否可以正常连接到RDS for PostgreSQL实例公网地址的端口。 telnet 公网地址 5432 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 打开客户端安装页面。 PostgreSQL官网提供了针对不同操作系统的客户端安装方法。 下面将以CentOS下PostgreSQL 12版本为例,介绍安装PostgreSQL客户端。 选择数据库版本、操作系统、操作系统架构,在弹性云服务器上执行以下命令安装PostgreSQL客户端。 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 图6 安装客户端 数据库版本,选择与RDS for PostgreSQL数据库实例一致的版本。 操作系统,选择与弹性云服务器一致的操作系统。 操作系统架构,选择与弹性云服务器一致的操作系统架构。 图7 安装rpm包 图8 客户端安装完成
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 无Linux弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载PostgreSQL客户端,因此需要为ECS绑定弹性公网IP(EIP)。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for PostgreSQL实例概览页,查看RDS实例的区域和VPC。 图3 PostgreSQL概览
  • RDS for PostgreSQL版本各阶段说明 版本公测阶段:您可以通过RDS for PostgreSQL公测版本体验最新的RDS for PostgreSQL版本特性,但需要注意该版本的稳定性未得到完全的验证,不适用于RDS for PostgreSQL服务SLA。 版本商用阶段:RDS for PostgreSQL商用版本经过充分验证,稳定可靠。您可以将该版本用于生产环境,享受RDS for PostgreSQL服务SLA保障。 版本EOS(停止服务)阶段:RDS for PostgreSQL版本EOS之后,RDS for PostgreSQL将不再支持对该版本的创建,同时不提供相应的技术支持,包含新特性更新、漏洞/问题修复、补丁升级等客户支持,不再适用于RDS for PostgreSQL服务SLA保障。
  • 各版本生命周期 表1 各版本生命周期 PostgreSQL版本号 当前状态 社区发布时间 社区EOL时间 华为云发布时间 华为云EOM时间 华为云EOS时间 15 已商用 2022年10月 2027年11月 2023年9月 2028年5月 2028年11月 14 已商用 2021年9月 2026年11月 2022年7月 2027年5月 2027年11月 13 已商用 2020年9月 2025年11月 2021年4月 2026年5月 2026年11月 12 已商用 2019年10月 2024年11月 2020年3月 2025年5月 2025年11月 11 已商用 2018年10月 2023年11月 2019年1月 2024年7月 2024年11月 10 已商用 2017年10月 2022年11月 2018年11月 2024年7月 2024年11月 9.6 EOM 2016年9月 2021年11月 2018年2月 2023年6月 2024年7月 9.5 EOM 2016年1月 2021年2月 2017年10月 2023年6月 2024年7月 RDS for PostgreSQL增强版说明: RDS for PostgreSQL增强版基于PostgreSQL 11开发,当前PostgreSQL增强版已经进入存量经营。 华为云云数据库PostgreSQL增强版于2022年10月15日00:00(北京时间)停售,详见停售公告。 RDS for PostgreSQL一般会在社区版本生命周期结束(EOL)一年后也停止支持服务,如果有变化也会修正本文档,请以实际为准。 RDS for PostgreSQL会定期同步PostgreSQL社区的漏洞修复,当有对应的小版本更新时,请及时升级小版本。
  • 测试环境 区域:华北-北京一。 可用分区:可用区1。 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算型c3.2xlarge.2,8U16GB,操作系统镜像使用CentOS7.4 64位版本,详见图1。由于压测工具需要安装额外的编译工具,建议ECS绑定弹性IP。 图1 ECS配置 RDS for PostgreSQL 12,RDS for PostgreSQL 13测试环境如下: 区域:华北-北京四 可用分区:可用区1 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算增强型 | c6.4xlarge.2 | 16vCPUs | 32GB,操作系统镜像使用CentOS 7.6 64bit位版本。由于压测工具需要安装额外的编译工具,建议ECS绑定弹性IP。
  • 测试工具 Sysbench是一款基于LuaJIT的,模块化多线程基准测试工具,常用于数据库基准测试。通过内置的数据库测试模型,采用多线程并发操作来评估数据库的性能。了解Sysbench更多详情,请访问https://github.com/akopytov/sysbench。 本次测试使用的Sysbench版本为1.0.12,具体的安装命令如下: #wget -c https://github.com/akopytov/sysbench/archive/1.0.12.zip #yum install make automake libtool pkgconfig libaio-devel postgresql-devel #unzip 1.0.12.zip #cd sysbench-1.0.12 #./autogen.sh #./configure --with-pgsql --without-mysql #make #make install RDS for PostgreSQL 12,RDS for PostgreSQL 13测试工具如下: Sysbench版本:1.0.18
  • 测试模型 表结构 CREATE TABLE `sbtest` ( `id` INTEGER IDENTITY(1,1) NOT NULL, `k` INTEGER DEFAULT '0' NOT NULL, `c` CHAR(120) DEFAULT '' NOT NULL, `pad` CHAR(60) DEFAULT '' NOT NULL, PRIMARY KEY (`id`) ) 读写比 Sysbench默认提交的事务中包含18条SQL语句,具体执行语句和条数如下: 主键SELECT语句,10条: SELECT c FROM ${rand_table_name} where id=${rand_id}; 范围SELECT语句,4条: SELECT c FROM ${rand_table_name} WHERE id BETWEEN ${rand_id_start} AND ${rand_id_end}; SELECT SUM(K) FROM ${rand_table_name} WHERE id BETWEEN ${rand_id_start} AND ${rand_id_end}; SELECT c FROM ${rand_table_name} WHERE id BETWEEN ${rand_id_start} AND ${rand_id_end} ORDER BY c; SELECT DISTINCT c FROM ${rand_table_name} WHERE id BETWEEN ${rand_id_start} AND ${rand_id_end} ORDER BY c; UPDATE语句,2条: UPDATE ${rand_table_name} SET k=k+1 WHERE id=${rand_id} UPDATE ${rand_table_name} SET c=${rand_str} WHERE id=${rand_id} DELETE语句,1条: DELETE FROM ${rand_table_name} WHERE id=${rand_id} INSERT语句,1条: INSERT INTO ${rand_table_name} (id, k, c, pad) VALUES (${rand_id},${rand_k},${rand_str_c},${rand_str_pad})
  • RDS for PostgreSQL内核版本发布记录 RDS for PostgreSQL支持的社区版本的发布日期和版本更新说明如下表所示。 表1 内核版本发布记录 发布日期 支持的社区版本 版本更新说明 2024-09 16.4 15.8 14.13 13.16 12.20 主要更新以下内容: 同步社区最新的代码,修复CVE-2024-7348、CVE-2024-4317等安全漏洞和功能性问题。 更多版本发布说明: 社区16.4、15.8、14.13、13.16、12.20版本发布说明 2024-03 16.2 15.6 14.11 13.14 12.18 主要更新以下内容: 引入16版本。 同步社区最新的代码,修复CVE-2024-0985等安全漏洞和功能性问题。 更多版本发布说明: 社区16版本发布说明 社区16.2、15.6、14.11、13.14、12.18版本发布说明 2023-12 15.5 14.10 13.13 12.17 11.22 主要更新以下内容: 同步社区最新的代码,修复CVE-2023-5868、CVE-2023-5869、CVE-2023-5870等安全漏洞和功能性问题。 更多版本发布说明: 社区15.5、14.10、13.13、12.17、11.22版本发布说明 2023-09 15.4 14.9 13.12 12.16 11.21 主要更新以下内容: 引入15版本。 同步社区最新的代码,修复CVE-2023-34917、CVE-2023-39418等安全漏洞和功能性问题。 更多版本发布说明: 社区15.4版本发布说明 社区14.9、13.12、12.16、11.21版本发布说明 2023-08 14.8 13.11 12.15 11.20 主要更新以下内容: 同步社区最新的代码,修复CVE-2023-2454、CVE-2023-2455等安全漏洞和功能性问题。 更多版本发布说明: 社区14.8、13.11、12.15、11.20版本发布说明 2023-04 14.6 13.9 12.13 11.18 10.23 主要更新以下内容: 支持pgl_ddl_deploy插件。 升级zhparser插件版本。 更多插件信息: 不同内核版本支持的插件不同,详见RDS for PostgreSQL引擎支持的插件。 2022-12 14.6 13.9 12.13 11.18 10.23 主要更新以下内容: 同步社区最新的代码,修复安全漏洞和功能性问题。 更多版本发布说明: 社区14.6、13.9、12.13、11.18、10.23版本发布说明 2022-07 14.4 13.7 12.11 11.16 10.21 主要更新以下内容: 引入14版本。 同步社区最新的代码,修复CVE-2022-1552等安全漏洞和功能性问题。 更多版本发布说明: 社区14.4版本发布说明 社区13.7、12.11、11.16、10.21版本发布说明 2022-04 13.6 12.10 11.15 10.20 9.6.24 主要更新以下内容: 同步社区最新的代码,修复安全漏洞和功能性问题。 更多版本发布说明: 社区13.6、12.10、11.15、10.20、9.6.24版本发布说明 2021-04 13.2 12.6 11.11 10.16 9.6.21 9.5.25 主要更新以下内容: 引入13版本。 同步社区最新的代码,修复安全漏洞和功能性问题。 支持Failover Slot,详见逻辑订阅故障转移(Failover Slot)。 更多版本发布说明: 社区13.2、12.6、11.11、10.16、9.6.21、9.5.25版本发布说明 2020-03 12.2 / 2019-12 9.5.19 / 2019-11 11.5 10.10 9.6.15 / 2019-08 11.4 9.6.13 9.5.17 / 2019-07 11.2 10.8 / 2019-06 9.5.15 / 2019-03 10.6 9.6.11 / 2019-01 11.0 / 2018-11 10.3 / 2018-03 9.6.5 / 2018-02 9.6.3 / 2017-10 9.5.5 / 父主题: RDS for PostgreSQL版本发布说明
  • RDS for PostgreSQL内核版本说明 RDS for PostgreSQL支持的社区版本的发布日期和版本更新说明如下表所示。 表1 内核版本发布记录 发布日期 支持的社区版本 版本更新说明 2024-03 16.2 15.6 14.11 13.14 12.18 主要更新以下内容: 引入16版本。 同步社区最新的代码,修复CVE-2024-0985等安全漏洞和功能性问题。 更多版本发布说明: 社区16版本发布说明 社区16.2、15.6、14.11、13.14、12.18版本发布说明 2023-12 15.5 14.10 13.13 12.17 11.22 主要更新以下内容: 同步社区最新的代码,修复CVE-2023-5868、CVE-2023-5869、CVE-2023-5870等安全漏洞和功能性问题。 更多版本发布说明: 社区15.5、14.10、13.13、12.17、11.22版本发布说明 2023-09 15.4 14.9 13.12 12.16 11.21 主要更新以下内容: 引入15版本。 同步社区最新的代码,修复CVE-2023-34917、CVE-2023-39418等安全漏洞和功能性问题。 更多版本发布说明: 社区15.4版本发布说明 社区14.9、13.12、12.16、11.21版本发布说明 2023-08 14.8 13.11 12.15 11.20 主要更新以下内容: 同步社区最新的代码,修复CVE-2023-2454、CVE-2023-2455等安全漏洞和功能性问题。 更多版本发布说明: 社区14.8、13.11、12.15、11.20版本发布说明 2023-04 14.6 13.9 12.13 11.18 10.23 主要更新以下内容: 支持pgl_ddl_deploy插件。 升级zhparser插件版本。 更多插件信息: 不同内核版本支持的插件不同,详见RDS for PostgreSQL引擎支持的插件。 2022-12 14.6 13.9 12.13 11.18 10.23 主要更新以下内容: 同步社区最新的代码,修复安全漏洞和功能性问题。 更多版本发布说明: 社区14.6、13.9、12.13、11.18、10.23版本发布说明 2022-07 14.4 13.7 12.11 11.16 10.21 主要更新以下内容: 引入14版本。 同步社区最新的代码,修复CVE-2022-1552等安全漏洞和功能性问题。 更多版本发布说明: 社区14.4版本发布说明 社区13.7、12.11、11.16、10.21版本发布说明 2022-04 13.6 12.10 11.15 10.20 9.6.24 主要更新以下内容: 同步社区最新的代码,修复安全漏洞和功能性问题。 更多版本发布说明: 社区13.6、12.10、11.15、10.20、9.6.24版本发布说明 2021-04 13.2 12.6 11.11 10.16 9.6.21 9.5.25 主要更新以下内容: 引入13版本。 同步社区最新的代码,修复安全漏洞和功能性问题。 支持Failover Slot,详见逻辑订阅故障转移(Failover Slot)。 更多版本发布说明: 社区13.2、12.6、11.11、10.16、9.6.21、9.5.25版本发布说明 2020-03 12.2 / 2019-12 9.5.19 / 2019-11 11.5 10.10 9.6.15 / 2019-08 11.4 9.6.13 9.5.17 / 2019-07 11.2 10.8 / 2019-06 9.5.15 / 2019-03 10.6 9.6.11 / 2019-01 11.0 / 2018-11 10.3 / 2018-03 9.6.5 / 2018-02 9.6.3 / 2017-10 9.5.5 / 父主题: RDS for PostgreSQL内核
  • 步骤2:测试连通性并安装PostgreSQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“Linux弹性云服务器远程登录(VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“概览”页面。 选择“连接管理”,在“连接信息”模块获取实例的内网地址和数据库端口。 图4 连接信息 在ECS上测试是否可以正常连接到RDS for PostgreSQL实例内网地址的端口。 telnet 192.168.0.7 5432 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 打开客户端安装页面。 PostgreSQL官网提供了针对不同操作系统的客户端安装方法。 下面将以CentOS下PostgreSQL 12版本为例,介绍安装PostgreSQL客户端。 选择数据库版本、操作系统、操作系统架构,在弹性云服务器上执行以下命令安装PostgreSQL客户端。 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 图6 安装客户端 数据库版本,选择与RDS for PostgreSQL数据库实例一致的版本。 操作系统,选择与弹性云服务器一致的操作系统。 操作系统架构,选择与弹性云服务器一致的操作系统架构。 图7 安装rpm包 图8 客户端安装完成
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 无Linux弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载PostgreSQL客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与RDS for PostgreSQL实例相同的区域、VPC和安全组,便于RDS for PostgreSQL和ECS网络互通。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for PostgreSQL实例概览页,查看RDS实例的区域和VPC。 图3 PostgreSQL概览 确认ECS实例与RDS for PostgreSQL实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装PostgreSQL客户端。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。