- EDB
- PostgreSQL
新ツール Postgres Workload Report によるパフォーマンス診断~データベース管理の未来を共に創る!~
EDB Postgres Workload Reportsは、Postgresデータベースのパフォーマンス診断とトラブルシューティングを強化する新しいツールです。OracleのAWRに似た詳細なレポートを提供し、データベースの問題を迅速に特定・解決できるようサポートします。本記事では概要と利用手順をご紹介します。
|
「ソースファイルからPostgreSQLをインストールする手順(前編)」では手順の1.〜3.までを紹介しました。後編では、手順4.〜6.について紹介します。
gmakeコマンドを実行することにより、configureスクリプトで作成されたGNUmakefileが読み込まれます。そして、各種ソースファイルのコンパイルやリンクが実行されます。gmake installコマンドでは、configureスクリプトの--prefixオプションに指定したディレクトリ配下に、実行モジュールを格納するbinディレクトリやライブラリファイルを格納するlibディレクトリなどがコピーされます。
$ su - p940
$ gmake
$ gmake install
※以降の手順は、p940ユーザーで実行します。
ここでは最低限設定しておきたい3つの環境変数を紹介します。
PostgreSQLのコマンドを絶対パスで指定せずに実行できるように、<configureスクリプト実行時に--prefixオプションに指定したディレクトリ>/binディレクトリまでのパスを現在のPATH環境変数の先頭に追加しておくと効率的で良いでしょう。
$ export PATH=$HOME/posgrehome/bin:$PATH:.:
psqlを使用した接続では、デフォルトでインストール時のOSユーザー名と同じ名前のデータベースに接続を試みます。OSユーザー名がデータベースクラスタ(以降、DBクラスタ)作成時点から存在するpostgresであれば、特にPGDATABASE環境変数を気にする必要はありません。しかし、その他OSユーザー名でPostgreSQLをインストールする場合は、psqlを使用した接続時に、毎回-dオプションで接続先データベース名を指定しなければエラーになります。そのため、予め頻繁に接続するデータベース名をPGDATABASE環境変数に設定しておくと効率的で良いでしょう。
$ export PGDATABASE=postgres
DBクラスタのパスを指定してください。PGDATA環境変数を指定しない場合、initdbコマンド実行時やpg_ctlでPostgreSQLの起動/停止を行う際に、毎回-Dオプションを付けてDBクラスタのパスを指定する必要があります。そのため、PostgreSQLの起動/停止時に、毎回-DオプションでDBクラスタのパスを指定しなくて良いように、予めPGDATA環境変数を設定しておくと効率的で良いでしょう。
$ export PGDATA=$HOME/posgrehome/datadir
その他環境変数も必要に応じて設定してください。設定可能な環境変数については、以下のマニュアルページをご参考ください。
------------------------------------------------------------------------------------
第 31章libpq - C ライブラリ
31.14. 環境変数
http://www.postgresql.jp/document/9.4/html/libpq-envars.html
------------------------------------------------------------------------------------
initdbコマンドで、DBクラスタを作成します。DBクラスタ内には初期データベースとしてtemplate0/template1/postgresの3つのデータベースが作成されます。なお、特別な理由がなければ、ロケールは無効にしましょう。詳細は【補足】ロケールについてをご確認ください。
$ initdb --encoding=UTF8 --no-locale
※前述のように、PGDATA環境変数を設定していない場合は、-DオプションでDBクラスタのパスを設定する必要があります。
DBクラスタが作成できたら、DBクラスタを起動してみましょう。そして、任意のデータベースに正常に接続できるか確認してみましょう。以下の例では、postgresデータベースに接続しています。
-- DBクラスタの起動
$ pg_ctl start
-- psqlでpostgresデータベースに接続
$ psql
※正常にpostgresデータベースに接続できた場合には、以下のプロンプトが表示されます。
postgres=#
以上がソースファイルからPostgreSQLをインストールする手順です。
ロケールとは、言語や文化に応じた処理をするOSの機構です。ロケールを利用したプログラムは実行環境におけるロケール指定に応じた結果を得ることができます。例えば、ライブラリの実装に依存しますが、ロケールを日本語に設定した場合、ひらがな/カタカナの並び順が辞書順になることや全角のアルファベットがアルファベットとして認識されることがあります。しかし、ロケールの処理を行う分だけ性能が低下することや、LIKEによる前方一致検索で設定を行わないとインデックスが使用されないといったことがあります。そのため、ロケールを利用する特別な理由がない場合には、ロケールは無効にしましょう。
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
EDB Postgres Workload Reportsは、Postgresデータベースのパフォーマンス診断とトラブルシューティングを強化する新しいツールです。OracleのAWRに似た詳細なレポートを提供し、データベースの問題を迅速に特定・解決できるようサポートします。本記事では概要と利用手順をご紹介します。
35年以上教育事業を展開しているアシストが新たに取り組み始めた「ポスグレ学園」。連載10回目となる今回の記事では、OSS-DB Gold試験対策問題集 出版の経緯や内容を 新校長 我妻にインタビューしました。
EDB社のAjit Gadge氏を招き「PostgreSQLユーザーに捧ぐ、EDBを使ったDB機能向上とコスト削減の両立」セミナーを開催しました。DB市場の現状やトレンド、EDBの最新動向について紹介しております。アシストセッションのアーカイブ配信の視聴申し込みも可能です。ぜひご覧ください。