摘要:本文介绍RDS for PostgreSQL支持的插件及不同插件的创建、删除或使用方法。

本文分享自华为云社区《【云小课】【第42课】RDS for PostgreSQL插件介绍》,作者:数据库的小云妹。

本文介绍RDS for PostgreSQL支持的插件及不同插件的创建、删除或使用方法。

PostgreSQL插件简介

PostgreSQL是开源数据库中经典的大型关系型数据库之一,它不仅具备经典关系型数据库的功能,而且在不断发展。PostgreSQL的发展不仅受到了很多基于PostgreSQL外部应用的影响,而且发展出了更多基于PostgreSQL的应用,例如PostGIS(GIS领域中重要组件)。从技术角度讲,PostGIS是PostgreSQL的一个扩展(extension),即插件。像PostGIS这样的插件已经在计算机相关的领域中都得到不同程度的应用,它成为PostgreSQL功能延展性的主要特点。

PostgreSQL插件的功能不仅体现在新增复杂的数据类型、索引等数据的基本功能上,这些基本功能也是GIS领域所特别需要的,并且PostgreSQL的插件可以完成包括分布式、异构数据访问等的各种高级功能。这使得PostgreSQL数据库不仅仅是一个传统的经典关系型数据库,并且通过插件的扩展功能,它完全可以满足今天互联网对于大数据应用的需求。

RDS for PostgreSQL插件列表

RDS for PostgreSQL和社区版PostgreSQL一样,也支持通过插件,实现更多的扩展功能。当前RDS for PostgreSQL支持的插件如下表所示:

说明:

  • 表中的数据均来源于PostgreSQL引擎各个版本,最新小版本支持的插件列表。
  • 您可以通过SELECT name FROM pg_available_extensions;查看当前实例支持的插件列表。如果当前实例的版本不支持某个插件,您可以将当前实例迁移至新版本实例,迁移方法请参考迁移方案概览。
  • 使用mysql_fdw、oracle_fdw、pgsql-ogr-fdw、postgres_fdw和tds_fdw等需要跨数据库实例访问的插件时,需确保两个数据库实例的服务端IP必须在同一个VPC和子网内。
  • 具有公测权限的用户才可使用RDS for PostgreSQL 13,您可以提交工单申请。

创建RDS for PostgreSQL插件

说明:

  • RDS for PostgreSQL插件是数据库级生效,并不是全局生效。因此创建插件时需要在业务所在数据库上进行手动创建。
  • RDS for PostgreSQL的以下插件不需要通过手动创建或删除:
  • auto_explain
  • passwordcheck
  • pg_profile_pro
  • pg_sql_history
  • plpgsql
  • wal2json
  • test_decoding
  • RDS for PostgreSQL 11、RDS for PostgreSQL 增强版、RDS for PostgreSQL 12和RDS for PostgreSQL 13的最新小版本,支持以root用户通过社区的方式来创建(create extension)、删除(drop extension)插件。

1. 执行如下命令,以root用户连接数据库,以database1为例,并使用模板库template1创建需要支持插件的数据库。

# psql --host=RDS_ADDRESS --port=DB_PORT --dbname=database1 --username=root -c "create database DB_NAME template template1;"

说明:

  • RDS_ADDRESS为RDS实例的IP地址。
  • DB_PORT为RDS数据库实例的端口。
  • DB_NAME为需要创建插件的数据库名称。

回显如下信息,请输入root用户的密码。

Password for user root:

注意:

如果执行操作为:由普通用户user1创建的数据库db1,您需要先使用普通用户user1登录数据库db1(登录方式参考上述内容),然后执行如下命令将数据库db1的权限授予root用户。

GRANT ALL ON DATABASE db1 TO root;

示例:创建需要支持插件的数据库my_extension_db

# psql --host=192.168.6.141 --port=5432 --dbname=database1 --username=root -c "create database my_extension_db template template1;"

Password for user root:
CREATE DATABASE

2. 以root用户连接需要支持插件的数据库,并创建插件。

# psql --host=RDS_ADDRESS --port=DB_PORT --dbname=DB_NAME --username=root -c "select control_extension('create','EXTENSION_NAME');"

说明:

  • RDS_ADDRESS为RDS实例的IP地址。
  • DB_PORT为RDS数据库实例的端口。
  • DB_NAME为需要创建插件的数据库名称。
  • EXTENSION_NAME为插件名称,请参见上表。

回显如下信息,请输入root用户的密码。

Password for user root:

示例:在数据库my_extension_db中创建postgis插件

# psql --host=192.168.6.141 --port=5432 --dbname=my_extension_db --username=root -c "select control_extension('create','postgis');"

Password for user root:
control_extension
------------------------------
create postgis successfully.
(1 row)

删除RDS for PostgreSQL插件

说明:

  • RDS for PostgreSQL插件是数据库级生效,并不是全局生效。因此创建插件时需要在业务所在数据库上进行手动创建。
  • RDS for PostgreSQL的以下插件不需要通过手动创建或删除:
  • auto_explain
  • passwordcheck
  • pg_profile_pro
  • pg_sql_history
  • plpgsql
  • wal2json
  • test_decoding
  • RDS for PostgreSQL 11、RDS for PostgreSQL 增强版、RDS for PostgreSQL 12和RDS for PostgreSQL 13的最新小版本,支持以root用户通过社区的方式来创建(create extension)、删除(drop extension)插件。

执行如下命令,以root用户连接已创建插件的数据库,并删除插件。

# psql --host=RDS_ADDRESS --port=DB_PORT --username=root --dbname=DB_NAME -c "select control_extension ('drop','EXTENSION_NAME');"

说明:

  • RDS_ADDRESS为RDS实例的IP地址。
  • DB_PORT为RDS数据库实例的端口。
  • DB_NAME为需要创建插件的数据库名称。
  • EXTENSION_NAME为插件名称,请参见上表。

回显如下信息,请输入root用户的密码。

Password for user root:

示例:

# psql --host=192.168.6.141 --port=5432 --dbname=my_extension_db --username=root -c "select control_extension('drop','postgis');"

Password for user root:
control_extension
----------------------------
drop postgis successfully.
(1 row)

RDS for PostgreSQL插件说明

点击关注,第一时间了解华为云新鲜技术~

云小课|教你如何使用RDS for PostgreSQL插件的更多相关文章

  1. 云小课|云小课教您如何选择Redis实例类型

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:购买Redis实例 ...

  2. 云小课|DGC数据开发之基础入门篇

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...

  3. 云小课|MRS基础原理之MapReduce介绍

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...

  4. 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...

  5. 云小课 | 搬迁本地数据至OBS,多种方式任你选

    摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...

  6. 云小课|带你揭开IP地址的神秘身份

    摘要:本文带你了解网络云产品和相关的知识内容. 华为云网络服务大家族提供了丰富的云产品,可以满足用户的各种网络互联需求.相应地,华为云帮助中心也贴心的奉上了你想了解的所有网络云产品知识. 可是小课最近 ...

  7. 云小课 | IPv4枯了,IPv6来了

    摘要:本篇主要分享IPv4与IPv6的区别和IPv6的应用场景,助您快速理解华为云IPv6双栈及IPv6 EIP. IPv6的由来 上节课我们讲了公网IP与私网IP,了解了IP地址的一些知识. 我们一 ...

  8. 云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

    温馨提醒:本文约3000字,需要阅读5分钟,共分为8个部分,建议分段阅读! 软件开发过程中,从产品概念形成到产品规划.往往要做详细的需求分析和项目规划等,因此,选对一款项目管理工具对开发者就显得尤为重 ...

  9. 云小课 | WAF反爬虫“三板斧”:轻松应对网站恶意爬虫

    描述:反爬虫是一个复杂的过程,针对爬虫常见的行为特征,WAF反爬虫三板斧——Robot检测(识别User-Agent).网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)可以全方位帮您解决业 ...

  10. 云小课 | “VPC连接”知多少

    摘要:华为云提供了丰富的网络服务,可满足多种网络互连场景. 同Region的两个VPC怎么连通?” “跨Region的两个VPC又怎么连通?” “VPC内的ECS搭建了一个应用,需要访问Interne ...

随机推荐

  1. Go命令大全:全面解析与实践

    本文详尽地探讨了Go语言的内建命令集,包括但不限于go build.go run.go get等.文章首先列举了所有常用的Go命令,并用表格形式简洁地解释了它们的功能.随后,我们逐一深入讲解了每个命令 ...

  2. k8s集群证书过期,重新生成证书

    Kubernetes集群证书过期后,使用kubeadm重新颁发证书 默认情况下部署kubernetes集群的证书一年内便过期,如果不及时升级证书导致证书过期,Kubernetes控制节点便会不可用,所 ...

  3. 搞懂闭包JavaScript的GC机制

    其实不管什么语言,都有一套垃圾回收机制.为什么要有垃圾回收机制?因为内存,程序运行需要内存,如果没有垃圾回收(循环引用,内存泄漏),那么内存占用就会越来越高,轻点说会影响性能卡顿,严重的直接导致崩溃. ...

  4. AlibabaCloudToolkit的简单使用与部署

    问题 以往的写好的应用程序放到服务器上部署的方式都是在本地打包成jar包,传到服务器上,在服务器用命令行关闭原版本的应用程序,在启动新版本的应用程序,每次写好一个功能要与前端联调都要经历这些繁琐的步骤 ...

  5. 使用openpyxl库读取Excel文件数据

    在Python中,我们经常需要读取和处理Excel文件中的数据.openpyxl是一个功能强大的库,可以轻松地实现Excel文件的读写操作.本文将介绍如何使用openpyxl库读取Excel文件中的数 ...

  6. 题解 CF1004C

    题意描述: 给定 \(n\) 个数,从前往后找,看看能和后面的数组成多少个不同的数对. 若两个数对仅仅是位置不同,我们也认为是两个不同的数对. 题目分析: 阅读题目,我们不难看出,若前面有一个数已经出 ...

  7. Log4j入门使用

    前言 本篇文章主要在于,初步了解log4j,以及对它的简单使用 欢迎点赞 收藏 留言评论 私信必回哟 博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 @ 目录 一,log4j简介 二,配 ...

  8. Welcome to YARP - 8.分布式跟踪

    Welcome to YARP - 1.认识YARP并搭建反向代理服务 Welcome to YARP - 2.配置功能 2.1 - 配置文件(Configuration Files) 2.2 - 配 ...

  9. TS版LangChain实战:基于文档的增强检索(RAG)

    LangChain LangChain是一个以 LLM (大语言模型)模型为核心的开发框架,LangChain的主要特性: 可以连接多种数据源,比如网页链接.本地PDF文件.向量数据库等 允许语言模型 ...

  10. ClickHouse(17)ClickHouse集成JDBC表引擎详细解析

    目录 JDBC 建表 用法示例 JDBC表函数 资料分享 参考文章 JDBC 允许CH通过JDBC连接到外部数据库. 要实现JDBC连接,CH需要使用以后台进程运行的程序 clickhouse-jdb ...