摘要:华为云RDS for PostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观、更快速地安装管理数据库插件。

本文分享自华为云社区《PostgreSQL插件那么多,怎样管理最高效?》,作者:GaussDB 数据库。

云服务环境下,如何让客户更方便地在各个PostgreSQL的版本下安装插件和扩展功能,成为云服务厂商的一个挑战。华为云RDS for PostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观、更快速地安装管理数据库插件。

关于PostgreSQL插件

众所周知,PostgreSQL支持很多插件,其中包括第三方插件。

  • PostgreSQL发展至今,华为云已经从 PostgreSQL 9.5 版本演进到 PostgreSQL 14 版本,目前共支持7个大版本,每个大版本可以支持的插件并不完全相同,因此,判断每个版本支持哪些插件变得繁琐。
  • 如我们所知,部分插件在安装时,必须要修改 shared_preload_libraries 这个参数,手动修改费时费力。
  • 安装插件时只有超级用户才能进行安装,而超级用户权限太大,可以执行很多高危操作,容易造成云数据库异常不可用等非常严重的影响。

以上种种可以看出PostgreSQL插件安装及管理相对复杂。为了让客户更方便地安装插件,华为云开发了插件管理功能,客户只需在交互界面上点击需要安装的插件,之后的安装就交由华为云后台完成即可,简单方便,省时省力。

RDS for PostgreSQL插件管理功能

PostgreSQL支持的插件很多,而且当前数据库支持安装哪些插件,用户并不能清楚直观地看出来,华为云插件管理功能将当前数据库支持安装的插件以列表形式全部显示出来,方便用户查看安装。

前面提到,PostgreSQL的部分插件安装时,需要修改参数 shared_preload_libraries,华为云插件管理功能同时支持修改该参数。修改方法有两种,可以灵活取用:

方法一:通过管理参数值功能批量修改 shared_preload_libraries 参数。

方法二:在安装插件前,单独修改参数值实现对应插件库的加载。

注意事项

shared_preload_libraries参数修改后需要重启实例才能生效。对于包含只读实例的PostgreSQL服务,修改主实例参数后,只读实例的参数将自动同步修改,在重启实例时,需要同时重启只读实例。

部分插件在使用时,需要同时添加对应的GUC参数才能正常使用,比如 pg_cron 插件,需要先修改参数“cron.database_name”为需要使用的数据库。

部分插件安装或卸载时,会同步安装或卸载其依赖插件,以及相关依赖表。例如:postgis_sfcgal插件依赖于postgis插件,创建插件postgis_sfcgal时,postgis插件会被优先自动同步创建;同时,卸载postgis插件时,会同步卸载postgis_sfcgal插件。

结束语

华为云RDS for PostgreSQL插件管理功能,很好地帮助用户解决了到处网罗当前版本支持哪些插件的繁琐;以及不知道如何安装插件和知道方法后安装操作复杂的问题,提升了插件安装的用户体验。

技术无止境,在云数据库使用领域,还有很多需要我们优化解决的地方,例如如何帮助用户识别当前数据库中可能存在的风险,查看当前数据库中的TOP SQL,如何帮助客户更好的管理数据库和账号等等。我们后续会针对这些点进行优化,给客户带来更多的惊喜。

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

PostgreSQL插件那么多,怎样管理最高效?的更多相关文章

  1. MySQL,Oracle,PostgreSQL 数据库web维护客户端管理工具

    TreeDMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能包 ...

  2. PostgreSQL分区表实现——pg_pathman分区表管理

    该博文用于自己学习记录,内容节选自: https://github.com/digoal/blog/blob/master/201610/20161024_01.md pg_pathman 创建分区表 ...

  3. Atom编辑器入门到精通(二) 插件的安装和管理

    在本节中我们会学习如果安装和使用插件插件是Atom中一个非常重要的组成部分,很多功能都是以插件形式存在的.比如上篇文章中提到的目录树和设置等窗口都是通过默认安装的插件来实现的. 查看已安装的插件 打开 ...

  4. postgresql插件安装

    postgresql安装包自带插件安装: 1.编译安装插件 # root用户 # postgresql安装过程省略 # 进入解压包的contrib目录 cd postgresql-10.6/contr ...

  5. 【sublime】插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 import urllib.request,os,hashlib; h = '7183a2d3e96f11eea ...

  6. postgresql逻辑结构--用户及权限管理(七)

    一.用户和角色 二.创建用户和角色 三.权限管理 四.

  7. 插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 ? 1 import urllib.request,os,hashlib; h = '7183a2d3e96f1 ...

  8. EasyNVS摄像机公网全终端无插件网页摄像机直播管理服务运行出现“请求服务不存在或已停止”

    背景分析 了解我们产品线的小伙伴都知道,EasyNVR产品主要用于互联网安防直播,通过EasyNVR拉取摄像机的RTSP视频流,客户端通过访问EasyNVR服务端就可以实现音视频流分发.在此情况下会出 ...

  9. 使用 vscode 插件可视化制作和管理脚手架及原理解析

    提到脚手架,大家想到的可能就是各种 xxx-cli,本文介绍的是另一种方式:以 vscode 插件的形式实现,提供 web 可视化操作,如下图: 下面介绍如何安装使用,以及实现原理. 安装使用 vsc ...

  10. vim自定义插件放入pathogen管理

    1.在.vim/bundle目录下,建立一个空目录,比如cscope 2.在cscope下面建立一个plugin文件夹 3.将自己写的vim文件放入plugin文件夹内就可以使用.

随机推荐

  1. ASP.NET WEBAPI 获取微信Access token

    /// <summary> /// 获取Access token /// </summary> /// <param name="appid"> ...

  2. vue再请求头加token

    Vue:全局拦截所有请求,并在请求头中添加token - 道祖且长 - 博客园 (cnblogs.com) util.js export function sessionSet(user){ let ...

  3. Keil MDK5编译时出现错误:error: L6002U: Could not open file …\obj\main.o: No such file or directory,

    原因:电脑系统用户名中存在中文字符 解决:用户环境变量,找到变量 TEMP 和 TMP,将变量值中的"%USERPROFILE%"使用"C:\user\default&q ...

  4. python3判断ip类型

    利用socket库附带的校验功能实现校验.

  5. 深入理解css 笔记(7)

      前面讲了几种控制网页布局的方式,flex,gird 和 float.这下我们初略讲下 position.这个我日常中用到的已经挺多了.定位和其他控制文档流的行为不同.它将元素彻底从文档流中移走,它 ...

  6. CH573 CH582 CH579蓝牙主机(Central)例程讲解一(主机工作流程)

    蓝牙主机,顾名思义,就是一个蓝牙主设备,与从机建立连接进行通信,可以接收从机通知,也可以给从机发送信息,可将Central例程和Peripheral例程结合使用. 蓝牙主机例程的工作流程大致如下: 一 ...

  7. 在app中如何使weib-view不铺满全屏,自适应页面

    // #ifdef APP-PLUS //自建webview var currentWebview = this.$scope.$getAppWebview(); var height = this. ...

  8. 一条随手的Arduino sketch优化 以Examples-02.Digital-Debounce为例

    1 const int buttonPin = 2; 2 const int ledPin = 13; 3 4 int ledState = HIGH; 5 int buttonState; 6 in ...

  9. 多线程中使用COM 的注意事项

    最近做了一个TCP Server的程序,其中需用使用COM组件,但是tcp 的部分是阻塞的,所以开了一个线程用来专门接收来自客户端的信号,当接收到信号后,再根据情况处理. 按照这个思路,在程序的一开始 ...

  10. docker 学习之一 装MySQL 供远程使用 Linux

    因为Linux发行版本的问题折腾了好久,尽量使用LTS的版本.其他版本有时候缺的东西太多了,对新手相当不友好. 大概花了几天实在没招了,下了个LTS的版本,再装时正常了.按照官方文档都可以搞定了. 使 ...