Database Support Blog

  • PostgreSQL
2015.09.18

ソースファイルからPostgreSQLをインストールする手順(後編)

PostgreSQL インストール手順

ソースファイルからPostgreSQLをインストールする手順(前編)」では手順の1.〜3.までを紹介しました。後編では、手順4.〜6.について紹介します。


4. gmake & gmake installの実行

gmakeコマンドを実行することにより、configureスクリプトで作成されたGNUmakefileが読み込まれます。そして、各種ソースファイルのコンパイルやリンクが実行されます。gmake installコマンドでは、configureスクリプトの--prefixオプションに指定したディレクトリ配下に、実行モジュールを格納するbinディレクトリやライブラリファイルを格納するlibディレクトリなどがコピーされます。

(例)

 $ su - p940
 $ gmake
 $ gmake install

 ※以降の手順は、p940ユーザーで実行します。


5. 環境変数の設定

ここでは最低限設定しておきたい3つの環境変数を紹介します。

1)PATH

PostgreSQLのコマンドを絶対パスで指定せずに実行できるように、<configureスクリプト実行時に--prefixオプションに指定したディレクトリ>/binディレクトリまでのパスを現在のPATH環境変数の先頭に追加しておくと効率的で良いでしょう。

(例)

 $ export PATH=$HOME/posgrehome/bin:$PATH:.:


2)PGDATABASE

psqlを使用した接続では、デフォルトでインストール時のOSユーザー名と同じ名前のデータベースに接続を試みます。OSユーザー名がデータベースクラスタ(以降、DBクラスタ)作成時点から存在するpostgresであれば、特にPGDATABASE環境変数を気にする必要はありません。しかし、その他OSユーザー名でPostgreSQLをインストールする場合は、psqlを使用した接続時に、毎回-dオプションで接続先データベース名を指定しなければエラーになります。そのため、予め頻繁に接続するデータベース名をPGDATABASE環境変数に設定しておくと効率的で良いでしょう。

(例)

 $ export PGDATABASE=postgres


3)PGDATA

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
------------------------------------------------------------------------------------

6.initdbの実行

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
  • PostgreSQL
2024.01.16

EDBがもたらすデータベースの新たな価値 ~ EDB社Field CTO Ajit Gadge氏来日、セミナー講演レポート ~

EDB社のAjit Gadge氏を招き「PostgreSQLユーザーに捧ぐ、EDBを使ったDB機能向上とコスト削減の両立」セミナーを開催しました。DB市場の現状やトレンド、EDBの最新動向について紹介しております。アシストセッションのアーカイブ配信の視聴申し込みも可能です。ぜひご覧ください。

  • PostgreSQL
  • EDB
2023.12.20

PostgreSQLのSQLチューニングを体験してみよう!

35年以上教育事業を展開しているアシストが新たに取り組み始めた「ポスグレ学園」。連載最終回となる9回目の記事では、「PostgreSQL SQLチューニング実践」のワークショップ主管である 田中 健一朗 にインタビューしました。

  • PostgreSQL
  • EDB
2023.10.30

データベースの健康診断! ~ PostgreSQL DB稼働分析体験 ~

35年以上教育事業を展開しているアシストが新たに取り組み始めた「ポスグレ学園」。連載8回目となる今回の記事では、PostgreSQL DB稼働分析ワークショップの主管である保田 公貴にインタービューしました。

ページの先頭へ戻る