この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章では、PostgreSQL のインストールおよび設定について説明します。
セキュリティの推奨事項について の項で PostgreSQL データベースのセキュリティの推奨事項をご覧ください。
(注) |
この項の設定はオプションです。 |
デフォルトでは、Postgresql データベースはポート 5432 で待機します。 このポートを変更する場合は、/etc/rc.d/init.d/postgresql で PGPORT 環境変数を新しいポート番号で編集する必要があります。
(注) |
PGPORT 環境変数は /var/lib/pgsql/data/postgresql.conf ファイルでの「ポート」パラメータ値を上書きするため、Postgresql データベースを新しいポート番号で待機させるには、PGPORT 環境変数を編集する必要があります。 |
ステップ 1 |
/etc/rc.d/init.d/postgresql で PGPORT 環境変数を新しいポートで編集します。例: IE: PGPORT=5555 |
||
ステップ 2 |
次のコマンドを入力して、PostgreSQL サービスを停止し、開始します。 # /etc/rc.d/init.d/postgresql start # /etc/rc.d/init.d/postgresql stop |
||
ステップ 3 |
次のコマンドを使用して、Postgresql データベースが新しいポートで待機していることを確認します。 'lsof -i -n -P | grep postg' postmaste 5754 postgres 4u IPv4 1692351 TCP *:5555 (LISTEN)
|
||
ステップ 4 |
ポート変更後にデータベースに接続するには、-p 引数を使用してコマンドで新しいポート番号を指定する必要があります。 コマンドに -p 引数がない場合、Postgresql データベースはデフォルト ポートの 5432 の使用を試行し、データベースへの接続は失敗します。 次に例を示します。 psql tcmadb -p 5555 -U tcuser |
外部データベースへのユーザ アクセスを、特定のユーザや IM and Presence Serivce が使用するデータベース インスタンスのみに制限することを強く推奨します。 <install_dir>/data ディレクトリにある pg_hba.conf ファイルで、PostgreSQL データベースへのユーザ アクセスを制限できます。
注意 |
どのようなユーザでも任意のデータベースにアクセスできるようになってしまうため、ユーザとデータベースのエントリには「all」を設定しないでください。 |
また、外部データベースにユーザ アクセスを設定する際に、データベース アクセスに、「パスワード」方式を使用して、パスワード保護を設定することも推奨します。
(注) |
IM and Presence Service でデータベース エントリを設定する際には、データベース ユーザのパスワードを入力する必要があります。 |
次に示すのは、pg_hba.conf ファイルでセキュアなユーザ アクセスを設定する例と、それほどセキュアではないユーザ アクセスを設定する例です。
# TYPE |
DATABASE |
USER |
CIDR-ADDRESS |
METHOD |
ホスト |
dbinst1 |
tcuser1 |
10.89.99.0/24 |
password |
ホスト |
dbinst2 |
mauser1 |
10.89.99.0/24 |
password |
# TYPE |
DATABASE |
USER |
CIDR-ADDRESS |
METHOD |
ホスト |
dbinst1 |
tcuser1 |
10.89.99.0/24 |
trust |
ホスト |
dbinst2 |
all |
10.89.99.0/24 |
password |
この章では、PostgreSQL のインストールおよび設定について説明します。
PostgreSQL データベースのインストール
はじめる前に手順セキュリティの推奨事項について の項で PostgreSQL データベースのセキュリティの推奨事項をご覧ください。
ステップ 1 次のコマンドを入力して、Postgres のユーザとしてデータベース サーバにサイン インします。 >su - postgres
>psql
ステップ 2 新しいデータベース ユーザを作成します。 次の例では、"tcuser" という名前の新しいデータベース ユーザを作成しています。 #CREATE ROLE tcuser LOGIN CREATEDB;
(注) PostgresSQL バージョン 8.4.x を展開する場合、手順のこの時点では、データベース ユーザをスーパーユーザとして設定する必要があります。例:
#ALTER ROLE tcuser WITH SUPERUSER;
ステップ 3 データベースを作成します。 データベースに ASCII 文字のみが含まれる場合、SQL_ASCII の符号化でデータベースを作成します。 データベースに ASCII 以外の文字が含まれる場合、UTF8 の符号化でデータベースを作成します。
次の例では、"tcmadb" という名前の SQL_ASCII データベースを作成しています。
#CREATE DATABASE tcmadb WITH OWNER tcuser ENCODING 'SQL_ASCII';
ステップ 4 データベースへのユーザ アクセスを設定します。 <install_dir>/data/pg_hba.conf ファイルを編集して、Postgres のユーザと新しい「tcuser」のユーザがデータベースにアクセスできるようにします。 次に例を示します。
ステップ 5 次のコマンドを入力して、Postgres と「tcuser」のユーザのパスワードを定義します。 #ALTER ROLE postgres WITH PASSWORD 'mypassword';
#ALTER ROLE tcuser WITH PASSWORD 'mypassword';
(注) IM and Presence Service で外部データベース エントリを設定する場合、データベース ユーザにパスワードを入力する必要があります。
ステップ 6 PostgreSQL バージョン 8.3.7 または 8.3.x 以降のリリースを実行している場合、「tcuser」の権限をスーパーユーザに変更して、データベースへのアクセスをこのユーザに許可します。 次のコマンドを入力します。 #ALTER ROLE tcuser WITH SUPERUSER;
ステップ 7 リモート ホストからのデータベースへの接続を設定します。 <install_dir>/data/postgresql.conf ファイルで listen_addresses パラメータを編集します。 次に例を示します。 listen_addresses = '*'
ステップ 8 PostgreSQL バージョン 9.1.1 を実行している場合、postgresql.conf ファイルに次の値を設定する必要があります。 escape_string_warning = off
standard_conforming_strings = off
ステップ 9 PostgreSQL サービスを停止し、再起動します。例: /etc/rc.d/init.d/postgresql-8.3 stop
/etc/rc.d/init.d/postgresql-8.3 start
(注) PostgreSQL サービスを停止および開始するコマンドは、PostgreSQL リリース間で異なる場合があります。
ステップ 10 次のコマンドを入力して、Postgres のユーザとして新しいデータベースにサイン インし、PL/pgSQL を有効にします。 >psql tcmadb -U postgres
#CREATE FUNCTION plpgsql_call_handler () RETURNS LANGUAGE_HANDLER AS '$libdir/plpgsql'
LANGUAGE C;
#CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;
トラブルシューティングのヒント
<install_dir>/data/postgresql.conf ファイルでは、次の設定項目をオンにしないでください(デフォルトでは、これらの項目はコメント アウトされています)。
client_min_messages = log
log_duration = on
関連情報
PostgreSQL リスニング ポートの設定
手順
(注)
この項の設定はオプションです。
デフォルトでは、Postgresql データベースはポート 5432 で待機します。 このポートを変更する場合は、/etc/rc.d/init.d/postgresql で PGPORT 環境変数を新しいポート番号で編集する必要があります。
(注)
PGPORT 環境変数は /var/lib/pgsql/data/postgresql.conf ファイルでの「ポート」パラメータ値を上書きするため、Postgresql データベースを新しいポート番号で待機させるには、PGPORT 環境変数を編集する必要があります。
ステップ 1 /etc/rc.d/init.d/postgresql で PGPORT 環境変数を新しいポートで編集します。例: IE: PGPORT=5555
ステップ 2 次のコマンドを入力して、PostgreSQL サービスを停止し、開始します。 # /etc/rc.d/init.d/postgresql start
# /etc/rc.d/init.d/postgresql stop
ステップ 3 次のコマンドを使用して、Postgresql データベースが新しいポートで待機していることを確認します。 'lsof -i -n -P | grep postg'
postmaste 5754 postgres 4u IPv4 1692351 TCP *:5555 (LISTEN)
ヒント IPv6 サーバの場合は、postmaste 5754 postgres 4u IPv6 1692351 TCP *:5555 (LISTEN) と入力します。
ステップ 4 ポート変更後にデータベースに接続するには、-p 引数を使用してコマンドで新しいポート番号を指定する必要があります。 コマンドに -p 引数がない場合、Postgresql データベースはデフォルト ポートの 5432 の使用を試行し、データベースへの接続は失敗します。 次に例を示します。
psql tcmadb -p 5555 -U tcuser
ユーザ アクセス制限の推奨事項
外部データベースへのユーザ アクセスを、特定のユーザや IM and Presence Serivce が使用するデータベース インスタンスのみに制限することを強く推奨します。 <install_dir>/data ディレクトリにある pg_hba.conf ファイルで、PostgreSQL データベースへのユーザ アクセスを制限できます。
注意
どのようなユーザでも任意のデータベースにアクセスできるようになってしまうため、ユーザとデータベースのエントリには「all」を設定しないでください。
また、外部データベースにユーザ アクセスを設定する際に、データベース アクセスに、「パスワード」方式を使用して、パスワード保護を設定することも推奨します。
(注)
IM and Presence Service でデータベース エントリを設定する際には、データベース ユーザのパスワードを入力する必要があります。
次に示すのは、pg_hba.conf ファイルでセキュアなユーザ アクセスを設定する例と、それほどセキュアではないユーザ アクセスを設定する例です。
# TYPE
DATABASE
USER
CIDR-ADDRESS
METHOD
ホスト
dbinst1
tcuser1
10.89.99.0/24
password
ホスト
dbinst2
mauser1
10.89.99.0/24
password
# TYPE
DATABASE
USER
CIDR-ADDRESS
METHOD
ホスト
dbinst1
tcuser1
10.89.99.0/24
trust
ホスト
dbinst2
all
10.89.99.0/24
password
関連タスク
関連情報