![]()
PostgreSQL導入から接続まで
SRA OSS, Inc. 北川 俊広
2008/6/10
インストール
PostgreSQLをインストールするには、postgresユーザーで次のコマンドを実行します。
| [postgres]$ cd /usr/local/src/postgresql-8.3.1 [postgres]$ ./configure [postgres]$ make [postgres]$ make install |
上記のコマンドを実行するとPostgreSQLは、/usr/local/pgsqlにインストールされます。もしインストール先のディレクトリを変更したい場合は、./configure実行時に--prefix=DIRオプションを指定すると変更できます。
環境変数の設定
インストールしただけでは、PostgreSQLのコマンド類にパスが通っていないため、コマンドの実行には不便です。そこで、環境変数を設定します。
多くのLinuxでデフォルトのシェルとして採用されているbashの場合は、設定ファイル$HOME/.bashrcに次の行を追加しておきます。bash以外のシェルの場合も同様の内容で設定しておくとよいでしょう。
| 01: export PATH=$PATH:/usr/local/pgsql/bin 02: export MANPATH=$MANPATH:/usr/local/pgsql/man 03: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib 04: export PGDATA=/usr/local/pgsql/data |
PATH変数(1行目)を設定することで、PostgreSQLのコマンドにパスが通るようになります。併せて、MANPATH変数(2行目)を設定しておけば、manコマンド実行時にはPostgreSQLのコマンドマニュアルも探すようになります。
また、LD_LIBRARY_PATH変数(3行目)でPostgreSQLの共有ライブラリを、PGDATA変数(4行目)でデータベースを配置するディレクトリを指定しています。
これらの環境変数の設定は、基本的に次回シェルにログインしたときから有効になります。ただし、今回はsourceコマンドを実行し、変更を即座に反映させておきます。sourceコマンドは次のように実行します。
| [postgres]$ source $HOME/.bashrc |
■データベースクラスタの初期化
PostgreSQLを使用できる状態にするには、一度データベースクラスタを初期化する必要があります。データベースクラスタとは、複数のデータベースを格納する領域です。データベースクラスタを初期化するには、postgresユーザーでinitdbコマンドを実行します。
PostgreSQLでは、initdbコマンドを実行したユーザーがスーパーユーザーになります。また、データベースクラスタはPGDATA変数で指定したディレクトリに作成されます。
| [postgres]$ initdb --encoding=UTF8 --no-locale |
--encodingは、データベースのデフォルトの文字エンコーディングを設定するオプションです。ここでは、文字エンコーディングにUTF-8を指定しています。
--no-localeは、ロケールを使用しないことを設定するオプションです。ロケールとは、言語や文化に応じた処理をするOSの機構です。
PostgreSQLでは、このロケールを主にデータのソート処理に使用しますが、英語や日本語のデータを扱う場合には特に必要ありません。反対にロケールを設定すると、ロケール処理の分、ソート処理などが遅くなりますので、注意してください。
■サーバプロセスの起動と停止
PostgreSQLのサーバプロセスを起動・停止するには、postgresユーザーでpg_ctlコマンドを実行します。
| [postgres]$ pg_ctl -w start // 起動処理終了後プロンプトに戻る [postgres]$ pg_ctl stop // サーバプロセスの停止 |
起動時の-wはwaitを表し、起動処理が終了した時点でコマンドプロンプトに戻すようにするオプションです。
PostgreSQLのサーバプロセスを停止する際に、データベースに接続しているユーザーがいる場合は、上記のコマンドでは停止できません。この場合は、-mオプションを使用して停止方法を指定します。
| [postgres]$ pg_ctl -m 停止方法 [s|f|i] stop |
停止方法には、s、f、i を引数として指定できます。それぞれ、smart、fast、immediateを表します。引数s(smart)は、新規の接続を拒否し、既存の接続が切断されるまで待ってから停止します。前述の-mオプションを指定しない場合はこの方法で停止処理が行われます。
このほか、f(fast)は、既存の接続を強制的に切断してから停止し、i(immediate)は、適切な終了手順を踏まずにただちに停止します。
導入と基本操作を確認したら、早速接続ができるかどうか確認してみましょう。次ページでその手順を解説していきます。
| 2/3 |
| Index | |
| 使えば分かるPostgreSQL運用&チューニング(1) PostgreSQL導入から接続まで |
|
| Page
1 ・PostgreSQLのインストール - postgresユーザーの作成 - ソースコードの入手と展開 |
|
| Page 2 ・インストール ・環境変数の設定 - データベースクラスタの初期化 - サーバプロセスの起動と停止 |
|
| Page 3 ・データベースに接続する - ユーザーの作成 - psqlでデータベースに接続 |
|
TechTargetジャパン
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
