要約: この記事では、RDS for PostgreSQLでサポートされているプラグインと、さまざまなプラグインを作成、削除、または使用する方法を紹介します。
この記事は、HUAWEICLOUDコミュニティ「[クラウドレッスン][レッスン42]RDS for PostgreSQLプラグインの紹介」、作成者:データベースのXiaoyunmeiから共有されています。
この記事では、RDS for PostgreSQLでサポートされているプラグインと、さまざまなプラグインを作成、削除、または使用する方法を紹介します。
PostgreSQLプラグインの概要
PostgreSQLは、オープンソースデータベースの中でも古典的な大規模リレーショナルデータベースの1つであり、古典的なリレーショナルデータベースの機能を備えているだけでなく、絶えず開発されています。PostgreSQLの開発は、PostgreSQLに基づく多くの外部アプリケーションの影響を受けただけでなく、PostGIS(GISの分野で重要なコンポーネント)など、PostgreSQLに基づくより多くのアプリケーションを開発しました。技術的な観点から、PostGISはPostgreSQLの拡張機能またはプラグインです。PostGISのようなプラグインは、コンピューター関連の分野でさまざまな程度で使用されており、PostgreSQLの機能スケーラビリティの主な機能になっています。
PostgreSQLプラグインの機能は、複雑なデータ型やインデックスなどのデータを追加する基本機能に反映されるだけでなく、GIS分野でも特に必要であり、PostgreSQLプラグインはさまざまなタスクを実行できます。分散型および異種データアクセスを含む。高度な機能。これにより、PostgreSQLデータベースは、従来の従来のリレーショナルデータベースであるだけでなく、プラグインの拡張機能を通じて、ビッグデータアプリケーションに対する今日のインターネットのニーズを完全に満たすことができます。
PostgreSQLプラグインのRDSのリスト
PostgreSQLのコミュニティバージョンと同様に、RDSforPostgreSQLもプラグインをサポートしてより拡張された機能を実現します。RDSforPostgreSQLで現在サポートされているプラグインを次の表に示します。
説明:
- 表のデータは、PostgreSQLエンジンの各バージョン、および最新のマイナーバージョンでサポートされているプラグインのリストからのものです。
- SELECT name FROM pg_available_extensions;で、現在のインスタンスでサポートされているプラグインのリストを表示できます。現在のインスタンスのバージョンがプラグインをサポートしていない場合は、現在のインスタンスを新しいバージョンのインスタンスに移行できます。移行方法については、移行ソリューションの概要を参照してください。
- mysql_fdw、oracle_fdw、pgsql-ogr-fdw、postgres_fdw、tds_fdwなど、データベース間のアクセスを必要とするプラグインを使用する場合は、2つのデータベースインスタンスのサーバーIPが同じVPCとサブネットにある必要があります。
- パブリックベータ権限を持つユーザーのみがRDSforPostgreSQL 13を使用でき、作業指示書を送信できます。
PostgreSQLプラグインのRDSを作成する
説明:
- 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ユーザーがコミュニティを通じてプラグインを作成(拡張を作成)および削除(拡張を削除)することをサポートします。
1.次のコマンドを実行して、 rootユーザーとしてデータベースに接続します。例としてdatabase1を取り上げ、テンプレートライブラリtemplate1を使用して、プラグインをサポートする必要のあるデータベースを作成します。
#psql --host = RDS_ADDRESS --port = DB_PORT --dbname = database1 --username = root-c"データベースDB_NAMEテンプレートtemplate1を作成します;"
説明:
- RDS_ADDRESSは、RDSインスタンスのIPアドレスです。
- DB_PORTは、RDSデータベースインスタンスのポートです。
- DB_NAMEは、プラグインを作成する必要があるデータベースの名前です。
以下の情報が表示された場合は、 rootユーザーのパスワードを入力してください。
Password for user root:
知らせ:
操作が次の場合:共通ユーザーuser1によって作成されたデータベースdb1、共通ユーザーuser1を使用してデータベースdb1にログインし(ログイン方法については上記を参照)、次のコマンドを実行してデータベースdb1のアクセス許可を付与する必要があります。 rootユーザーに。
データベースdb1のすべてを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)
RDSforPostgreSQLプラグインを削除します
説明:
- 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ユーザーがコミュニティを通じてプラグインを作成(拡張を作成)および削除(拡張を削除)することをサポートします。
次のコマンドを実行して、作成したプラグインのデータベースに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)
RDSforPostgreSQLプラグインの説明
[フォロー]をクリックして、HUAWEI CLOUDの新技術について初めて学びましょう〜