PostgreSQL 9.1+でモジュールをインポートまたは拡張機能をインストールするその他の方法
PostgreSQL 9.1+ でモジュールをインポートまたは拡張機能をインストールする方法
PostgreSQL 9.1以降では、モジュールや拡張機能を使用してデータベース機能を拡張することができます。モジュールは、PostgreSQLのコア機能を拡張するコードのセットです。拡張機能は、特定のタスクを実行する単一の共有ライブラリです。
モジュールをインポートするには、以下の手順を実行します。
- モジュールのソースコードをデータベースにコピーします。
CREATE EXTENSION
コマンドを使用してモジュールをインストールします。
CREATE EXTENSION module_name;
- 拡張機能のファイル (.so ファイル) をデータベースの
shared_lib
ディレクトリにコピーします。
CREATE EXTENSION extension_name;
モジュールをインストールすると、そのモジュールが提供する関数やデータ型を使用できるようになります。モジュールの使用方法については、モジュールのドキュメントを参照してください。
拡張機能の使用
例
postgis
拡張機能を使用して空間データを使用する場合は、以下の手順を実行する必要があります。
CREATE EXTENSION postgis;
拡張機能がインストールされると、ST_GeometryFromText
や ST_Distance
などの空間関数を使用できるようになります。
注意事項
- モジュールや拡張機能をインストールする前に、PostgreSQL のドキュメントを参照してください。
- モジュールや拡張機能をインストールすると、データベースのパフォーマンスに影響を与える可能性があります。
- モジュールや拡張機能をアンインストールするには、
DROP EXTENSION
コマンドを使用します。
DROP EXTENSION module_name;
DROP EXTENSION extension_name;
- PostgreSQL には、モジュールや拡張機能を管理するためのさまざまなツールがあります。
- モジュールや拡張機能を使用する前に、データベースをバックアップすることをお勧めします。
PostgreSQL 9.1+ でモジュールをインポートまたは拡張機能をインストールするサンプルコード
-- ps_uuid モジュールのソースコードをデータベースにコピーします。
COPY 'ps_uuid.sql' FROM '/path/to/ps_uuid.sql';
-- ps_uuid モジュールをインストールします。
CREATE EXTENSION ps_uuid;
拡張機能のインストール
-- postgis 拡張機能のファイルをデータベースの shared_lib ディレクトリにコピーします。
COPY 'postgis.so' FROM '/path/to/postgis.so' TO 'shared_lib';
-- postgis 拡張機能をインストールします。
CREATE EXTENSION postgis;
モジュールの使用
-- ps_uuid モジュールによって提供される uuid_generate 関数を使用します。
SELECT uuid_generate();
-- postgis 拡張機能によって提供される ST_GeomFromText 関数を使用します。
SELECT ST_GeomFromText('POINT(4 6)');
- これらの例は、PostgreSQL 9.1+ でモジュールや拡張機能をインポートまたはインストールする方法を示す基本的な例です。
- 実際の使用例では、使用するモジュールや拡張機能に応じてコマンドが異なる場合があります。
PostgreSQL 9.1+ でモジュールをインポートまたは拡張機能をインストールする他の方法
psql
コマンドを使用してモジュールのソースコードをデータベースに直接読み込むことができます。
psql -d postgres -f /path/to/ps_uuid.sql
ALTER DATABASE
コマンドを使用して、モジュールのソースコードを含むファイルを指定することができます。
ALTER DATABASE postgres SET search_path = 'my_modules_path';
pg_extension
パッケージを使用すると、コマンドラインから拡張機能をインストールできます。
sudo apt-get install postgresql-contrib-9.1
sudo pg_extension install postgis
yum
パッケージマネージャーを使用すると、CentOS や Fedora で拡張機能をインストールできます。
sudo yum install postgresql-contrib-9.1
sudo yum extmod postgis
- PostgreSQL GUI ツールを使用して、モジュールや拡張機能をインストールできます。
- Docker コンテナーを使用して、モジュールや拡張機能が事前にインストールされた PostgreSQL インスタンスを実行できます。
postgresql postgresql-9.1