RDB:PostgreSQL
RDBでは、PostgreSQL DBエンジンを利用可能です。
仕様
以下の機能が利用可能です。
- DBサーバーの作成
- DBスナップショットの作成
- リードレプリカの作成
- ポイントインタイムリカバリーによるバックアップ
- 自動・手動によるバックアップ
- ポイントインタイムリカバリーによるDBサーバーの復元
- SSL接続を利用した DBサーバーへの接続
PostgreSQLのクライアントであればどんなものでもDBサーバー上のデータベースへアクセスができます。
代表的なツールとして、以下が上げられます。
- オープンソースのPostgreSQL用管理・開発ツールであるpgAdmin
- PostgreSQL本体に含まれるpsqlコマンド
DBサーバーの管理はニフクラ RDBのシステムが行うため、Telnet・SSH・Windows のリモートデスクトップ接続による接続はできません。
お客様には「マスターユーザー」と呼ばれる接続用のユーザーが発行され、RDBが管理のために使う権限以外は、ほぼすべての権限が付与されます。
利用可能なバージョン ※PostgreSQL9.3.4のDBサーバーは、2024年7月17日(水)をもって廃止しました。 廃止時に残存しているDBサーバーへの処置については、古くなったDBエンジンのバージョン廃止についてを参照してください。 |
9.6.5 / 11.8 / 13.8 |
現状、マイナーバージョンアップ・一部のメジャーバージョンアップはサポートされていません。
サポートされているエンジンバージョンについては 技術仕様/制限値:DBエンジンアップグレード を確認してください。
文字コード
PostgreSQL DBサーバーのデフォルトの文字コードは、UTF-8です。
文字コードのオプションを指定せずに作成した場合、下記の設定となります。
オプションを指定することで下記の設定を上書きできます。
エンコーディング | UTF8 |
照合順序 | en_US.UTF-8 |
Ctype(変換演算子) | en_US.UTF-8 |
また、server_encoding、client_encodingは、DBパラメーターグループで下記のように設定されています。
client_encodingについては、独自のDBパラメーターグループを作成し、値を変更できます。
パラメーター名 | 値 | 変更 |
---|---|---|
client_encoding | UTF8 | 可能 |
server_encoding | UTF8 | 不可 |
タイムゾーン
「お客様に発行されるマスターユーザーのタイムゾーン」および「マスターユーザーが作成したユーザーのタイムゾーン」は、デフォルトではUTCに設定されています。
“alter role”文を発行、または独自のDBパラメーターグループを作成し、timezoneの値を変更すると、任意のタイムゾーンに変更できます。
なお、RDBが利用する管理ユーザー(rdbadmin、rdbrepladmin)のタイムゾーンを変更すると動作に不具合が出る場合がありますので実施しないでください。
エクステンション
エクステンションを使用すると、コマンドを入力するだけでバンドルされたデータ型や関数をインストールできます。
RDBにて動作確認済みのPostgreSQLエクステンション一覧
拡張機能名 | 9.3で利用可 | 9.6で利用可 | 11で利用可 | 13で利用可 | 機能概要 |
---|---|---|---|---|---|
auto_explain | ○ | ○ | ○ | 自動的に遅い文の実行計画をログ記録する手段を提供します。 | |
bloom | ○ | ○ | ○ | ブルームフィルターによるインデックスのアクセスメソッドを提供します。 | |
btree_gin | ○ | ○ | ○ | ○ | いくつかのデータ型に対し、B-treeと同等な動作を実装するGIN演算子クラスを提供します。 |
btree_gist | ○ | ○ | ○ | ○ | B-treeと同等な動作を実装するGiSTインデックス演算子クラスを提供します。 |
chkpass | ○ | ○ | 暗号化したパスワードを格納するために設計されたデータ型を提供します。 | ||
citext | ○ | ○ | ○ | ○ | 大文字小文字の区別がない文字列のデータ型を提供します。 |
cube | ○ | ○ | ○ | ○ | 多次元立体を表現するためのデータ型を提供します。 |
dblink | ○ | ○ | ○ | ○ | データベース・セッション内から、ほかのPostgreSQLデータベースへ接続できます。 |
dict_int | ○ | ○ | ○ | ○ | 全文検索のための辞書テンプレートの追加例です。整数データのインデックス作成を制御するために利用します。 |
earthdistance | ○ | ○ | ○ | ○ | 地表面上の大圏距離を計算します。 |
fuzzystrmatch | ○ | ○ | ○ | ○ | 文字列間の類似度や相違度を算出できます。 |
hstore | ○ | ○ | ○ | ○ | キーバリューのペアを保存するためのデータ型を提供します。 |
hstore_plperl | ○ | ○ | ○ | PL/Perl言語向けにhstore型の変換を実装した追加の拡張です。 | |
intagg | ○ | ○ | ○ | ○ | 整数型の集約子と列挙子を提供します。このモジュールは廃止されていますが、組み込み関数の互換ラッパーとして今でもまだ提供されています。 |
intarray | ○ | ○ | ○ | ○ | NULLのない整数の配列の操作に便利な関数と演算子を提供します。 |
ip4r | ○ | ○ | ○ | 単一のIPv4アドレスから任意の範囲のIPv4やIPv6のアドレス帯に及ぶIPアドレスデータ型をサポートします。 | |
isn | ○ | ○ | ○ | ○ | EAN13、UPC、ISSN、ISBNのような国際標準となっている商品番号のデータ型を提供します。 |
ltree | ○ | ○ | ○ | ○ | 階層ツリー構造のデータ型を提供します。 |
orafce | ○ | ○ | Oracle Databaseの関数とパッケージのサブセットをエミュレートする関数と演算子を提供します。 | ||
pg_prewarm | ○ | ○ | ○ | オペレーティングシステムのバッファキャッシュまたはPostgreSQLのバッファキャッシュいずれかにリレーションデータをロードするための便利な方法を提供します。 | |
pg_similarity | ○ | ○ | 類似性クエリをサポートするための拡張機能です。 | ||
pg_stat_statements | ○ | ○ | サーバーで実行されたすべてのSQL文の実行時の統計情報を記録する手段を提供します。 | ||
pg_trgm | ○ | ○ | ○ | ○ | トライグラム一致に基づくASCII英数字の類似度を算出する関数です。 |
pgaudit | ○ | ○ | ○ | pgaudit 拡張機能を使用して、セッション監査またはオブジェクト監査を有効にできます。 | |
pgcrypto | ○ | ○ | ○ | ○ | 暗号関数を提供します。 |
pgrowlocks | ○ | ○ | ○ | ○ | 特定のテーブルにおける行ロックの情報を提供します。 |
pgtap | ○ | ○ | psqlスクリプトまたはxUnitスタイルの関数で、TAP形式の出力をする単体テストを実装する機能を提供します。 | ||
plcoffee | ○ | ○ | ○ | CoffeeScriptで関数を作成することができます。 | |
plls | ○ | ○ | ○ | LiveScriptで関数を作成することができます。 | |
plperl | ○ | ○ | ○ | ○ | Perlプログラミング言語を使用してPostgreSQL関数を作成できる、ロード可能な手続き言語です。 |
plpgsql | ○ | ○ | ○ | ○ | PostgreSQLデータベースシステム用の読み込み可能な手続き言語です。 |
plprofiler | ○ | ○ | PL/PGSQL関数とストアドプロシージャのパフォーマンスプロファイルを作成する機能です。 | ||
pltcl | ○ | ○ | ○ | ○ | PL/Tcl言語でPostgreSQLを拡張できます。 |
plv8 | ○ | ○ | ○ | JavaScript実行エンジンのV8を組み込んだプロシージャ言語で、JavaScriptでPostgreSQLを拡張できます。 | |
postgis | ○ | ○ | ○ | ○ | 地理空間情報を扱うための拡張です。 |
postgis_tiger_geocoder | ○ | ○ | ○ | ○ | |
postgis_topology | ○ | ○ | ○ | ○ | |
postgresql-hll | ○ | ○ | HyperLogLogデータ構造のデータ型を提供します。 | ||
prefix | ○ | ○ | プレフィックスマッチングの問題を解決するためGiSTの演算子クラスを提供します。 | ||
sslinfo | ○ | ○ | ○ | ○ | 現在のクライアントが、PostgreSQLに接続する際に提供したSSL証明書に関する情報を提供します。 |
tablefunc | ○ | ○ | ○ | ○ | テーブルを返却する各種関数を提供します。 |
test_parser | ○ | ○ | ○ | 全文検索用の独自パーサの例です。 | |
tsearch2 | ○ | ○ | 後方互換のためにテキスト検索機能を提供します。 | ||
tsm_system_rows | ○ | ○ | ○ | SYSTEM_ROWSというテーブルサンプリングメソッドを提供します。 | |
tsm_system_time | ○ | ○ | ○ | SYSTEM_TIMEというテーブルサンプリングメソッドを提供します。 | |
unaccent | ○ | ○ | ○ | ○ | unaccentは語彙素からアクセント(発音区分記号)を取り除く全文検索用の辞書です。 |
uuid-ossp | ○ | ○ | ○ | ○ | UUIDを生成します。 |
SSL接続の利用
SSL暗号化を利用することができます。
SSL通信を経由してDBサーバーを利用するには、下記ページの手順を実施してください。
ユーザーガイド:SSL接続の利用
ユーザー権限管理
DBサーバーのユーザー権限の管理は、手動で構築したDBサーバーと同じように行えます。
DBサーバー作成時、マスターユーザーには、下記のロール属性が付与されます。
create role / create db / login
また、マスターユーザーが作成したオブジェクト(データベースなど)には、下記のアクセス権限が付与されます。
select / insert / update / delete / truncate / references / trigger / create / connect / temporary / execute / usage
DBサーバーのマスターユーザーを削除すると、動作に不具合が出る場合がありますので実施しないでください。
マスターユーザーの権限、またはマスターユーザー自体を誤って削除した場合は、マスターユーザーのパスワードを再設定し、復元してください。
また、管理用のrdbadmin、rdbrepladmin、rdb_superuserユーザーのパスワード変更を含む設定変更およびユーザーの削除は、動作に深刻な不具合が出る場合がありますので削除しないでください。
なお、マスターユーザーの名前に「root」、「administrator」、「replicationuser」は指定できません。
その他
- XMLデータ型を利用可能です。
- テーブル空間は作成できません。