ObjectRocketサービスでPostgreSQL拡張機能を管理する方法
本記事は2020年2月13日にObjectRocket.com/blogで公開された内容をもとにしています。
PostgreSQL®(Postgres®)の拡張機能エコシステムは非常に充実しており、Postgresに多彩な追加機能をもたらします。拡張機能を活用することで、標準のPostgresにはない高度なデータ型や関数、運用支援ツールなどを利用できるようになります。
ObjectRocketでは、本番環境のデータベースを運用するために必要なツールをすべて提供したいと考えており、このたび拡張機能を利用できるようにしました。拡張機能はプラグインのように動作し、追加の機能や特性をデータベースにもたらします。
利用可能な拡張機能の一覧を確認する
ObjectRocketのPostgresインスタンスには複数の拡張機能があらかじめ含まれており、特に利用頻度が高く、要望の多かったプラグインを網羅しています。サポートされているプラグインの一覧を確認するには、当社サービス上で稼働しているインスタンスに接続し、以下のいずれかのクエリを実行してください。
SELECT * FROM pg_available_extensions;:Postgresの拡張機能ディレクトリに存在するすべての拡張機能を一覧表示します。SHOW extwlist.extensions;:ObjectRocketサービスで実際に利用が許可されている拡張機能のみを表示します。
Postgresパッケージにはデフォルトでいくつかの拡張機能が同梱されていますが、その一部はユーザーにアクセス権を付与していないため、両者のリストは若干異なります。もしホワイトリストに含まれていない、あるいは利用できない拡張機能が必要な場合は、サポートチームにご相談いただければ、プラットフォームへの追加を検討いたします。
また、拡張機能は定期的に追加しているため、クエリを実行すれば常に最新のリストを取得できます。以下は、執筆時点でObjectRocketサービスにて利用可能・許可されている拡張機能の一覧です。
拡張機能のロード方法
ObjectRocketサービスでの拡張機能のロードは、通常のPostgresとまったく同じ手順で行えます。機能を追加したいデータベースに対して、CREATE EXTENSIONコマンドを実行するだけです。
ここで簡単な例を紹介します。uuid-ossp拡張機能は、UUIDを生成・管理するためのユーティリティを提供します。次の例では、uuid_generate_v1()関数を呼び出そうとした際の挙動を示しています。

ご覧のとおり、最初は拡張機能をまだロードしていなかったため、関数の呼び出しは失敗します。しかし、uuid-ossp拡張機能をロードして同じ関数を再度実行すると、今度は正常にUUIDが返されることが確認できます。
これは非常にシンプルな例ですが、拡張機能はこれ以外にもさまざまな用途に活用できます。ここでは基本的な仕組みをつかんでいただければ十分です。
注意点:拡張機能はデータベースごとに有効
重要なポイントとして、拡張機能はロードしたデータベース内でのみ有効になります。つまり、新しいデータベースを作成するたびに、そのデータベース上でCREATE EXTENSIONを実行する必要があります。
新しく作成するデータベースで自動的に拡張機能を利用できるようにしたい場合は、次のいずれかの方法を採用してください。
- 拡張機能を組み込んだ新しいテンプレートデータベースを作成し、以降のデータベース作成時にそのテンプレートを指定する。
- template1データベース自体を更新して、目的の拡張機能を含めておく。
Postgresではデフォルトですべての新規データベースがtemplate1のコピーとして作成されるため、後者の方法が特に便利です。
ぜひ新しい拡張機能をお試しください。特定の機能の追加をご希望の場合は、お気軽にお知らせください。
ご意見やご質問がある場合は、フィードバックタブからお寄せいただけます。また、私たちとの対話セッションも歓迎します。
-
Chromeの拡張機能が削除できない時の対処法を徹底解説
Google Chromeの拡張機能は、作業効率を飛躍的に高めてくれる便利なツールです。通常、他のアプリケーションと同じように、不要になったものや危険性のあるものは、いつでも自由にインストール・削除できます。 しかし、Chrome拡張機能がどうしても削除できないことはありませんか?拡張機能が不具合を起こしたり、システムをクラッシュさせたり、最悪の場合マルウェアのように振る舞ったりするのに、無効化すらできない——そんな経験はないでしょうか。もしかすると、ブラウザハイジャックの被害に遭っているかもしれません。 そこで本記事では、削除を拒むChrome拡張機能を強制的に取り除く方法を解説します。まず
-
MacのSafariに拡張機能を追加する方法【有効化・無効化の手順も解説】
ブラウザ拡張機能は、ウェブブラウジングをより快適にするための便利なツールです。MacでSafariを使用している場合、スペルチェッカーやVPNなど、さまざまな拡張機能を簡単に利用できます。「Safariへの拡張機能の追加方法がわからない」という方もご安心ください。この記事で丁寧に解説します。 本記事では、Safariに拡張機能を追加する方法と、インストール済みの拡張機能を有効化する手順についてご紹介します。ぜひ最後までお読みください。 Safariに拡張機能を追加する方法 近年のSafariには「ブラウザ拡張機能」という新機能が搭載され、アプリとの連携や広告ブロックなど、さまざまなことができる