Relational Database ServiceRelational Database Service

Compute
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
Domain Name Service
VPC Endpoint
Cloud Connect
Enterprise Switch
Security & Compliance
Anti-DDoS
Web Application Firewall
Host Security Service
Data Encryption Workshop
Database Security Service
Advanced Anti-DDoS
Data Security Center
Container Guard Service
Situation Awareness
Managed Threat Detection
Compass
Cloud Certificate Manager
Anti-DDoS Service
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GaussDB NoSQL
GaussDB(for MySQL)
Distributed Database Middleware
GaussDB(for openGauss)
Developer Services
ServiceStage
Distributed Cache Service
Simple Message Notification
Application Performance Management
Application Operations Management
Blockchain Service
API Gateway
Cloud Performance Test Service
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
DevCloud
ProjectMan
CodeHub
CloudRelease
CloudPipeline
CloudBuild
CloudDeploy
Cloud Communications
Message & SMS
Cloud Ecosystem
Marketplace
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP License Service
Support Plans
Customer Operation Capabilities
Partner Support Plans
Professional Services
enterprise-collaboration
Meeting
IoT
IoT
Intelligent EdgeFabric
DeveloperTools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Updated at: Apr 02, 2022 GMT+08:00

Creating or Deleting a Plugin

RDS provides the PostgreSQL plugin management solution for user root. Except the following plugins, you need to manually create other plugins by referring to this section.

  • auto_explain
  • passwordcheck
  • pg_profile_pro
  • pg_sql_history
  • plpgsql
  • wal2json
  • test_decoding

The RDS for PostgreSQL plugin takes effect at the database level, not globally. You need to manually create it on corresponding databases.

The latest minor versions of RDS for PostgreSQL 11, 12, 13, and Enhanced Edition allow the root user to create plugins (create extension) or delete plugins (drop extension).

Creating a Plugin

  1. Connect to the database database1 as user root and use template1 to create a database that can support the plugin.

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

    • RDS_ADDRESS indicates the IP address of the RDS DB instance.
    • DB_PORT indicates the RDS DB instance port.
    • DB_NAME indicates the name of the database to be created.

    Enter the password of user root when prompted.

    Create a database named my_extension_db that can support the plugin. Example:

    # 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

    Note: If you are creating a database as a common user, log in to the created database as the common user and run the following command to grant all rights to user root:

    GRANT ALL ON DATABASE db1 TO root;

  2. Connect to the created database as user root and create a plugin.

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

    • RDS_ADDRESS indicates the IP address of the RDS DB instance.
    • DB_PORT indicates the RDS DB instance port.
    • DB_NAME indicates the name of the database to be created.
    • EXTENSION_NAME indicates the plugin name. For more information, see Supported Plugins.

    Enter the password of user root when prompted.

    Create the postgis plugin in the database my_extension_db. Example:

    # 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)

Deleting a Plugin

Connect to the database with a plugin created as user root and delete the plugin.

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

  • RDS_ADDRESS indicates the IP address of the RDS DB instance.
  • DB_PORT indicates the RDS DB instance port.
  • DB_NAME indicates the name of the database to be created.
  • EXTENSION_NAME indicates the plugin name. For more information, see Supported Plugins.

Enter the password of user root when prompted.

Example:

# 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)

Did you find this page helpful?

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel