メインコンテンツに移動
ホーム
Let's POSTGRES

メインナビゲーション

  • ホーム
  • 目的別ガイド
  • 読み物
  • 動画で学ぶ

パンくず

  1. ホーム
  2. 読み物
  3. 入門向けの記事
  4. WindowsでPostgreSQLを使ってみよう

Cygwin版psqlを使ってみよう

NTT オープンソースソフトェアセンタ 板垣 貴裕

 
  • Cygwin のインストール
  • psql のコンパイル
  • Windows コマンドライン版との違い
  • 外部リンク

先回 は EnterpriseDB 社パッケージを使って PostgreSQL を導入しました。サーバといっしょに GUI の管理ツール pgAdmin がインストールされてはいますが、本番環境のデータベースサーバでは、コマンドラインでの操作が必要になることも多いのではないでしょうか? せっかく PostgreSQL には、psql という高機能な CUI ツールがあるので、操作に慣れておきたいところです。ただ、Windows 版の psql は、コマンドプロンプトの制約により使い勝手が良くありません。そこで、Cygwin をインストールし、Unix/Linux 環境と同様な使いやすい psql 環境を構築します。

Cygwin のインストール

www.cygwin.com から setup.exe をダウンロードします。Cygwin も、ウィザード形式でインストールが進みます。途中でインストールするパッケージ選択がありますが、もし忘れ物があっても後から追加することができるので、安心して試してください。

0. インストーラの実行
Cygwin setup.exe も 「管理者として実行」する 必要があります。EXE ファイルの右クリックメニューから「管理者として実行」を選んでください。
1. Cygwin Net Release Setup Program
インストール・ウィザードの最初のページです。'Next' をクリックします。
2. Choose A Download Source
パッケージの取得元を選びます。初回インストールでは、ダウンロードとインストールを同時に行うので "Install from Internet" を選びます。
3. Select Root Install Directory
インストール先のディレクトリを指定します。デフォルトでは "C:\cygwin" になっており、そのままで構わないでしょう。
4. Select Local Package Directory
ダウンロードしたパッケージの一時保存先を選びます。二度目以降のインストールの際にキャッシュとして使えます。
5. Select Your Internet Connection
ダウンロードに使うインターネット接続を選びます。プロキシを使わない環境であれば "Direct Connection" を、プロキシが必要であれば、IEで設定した後 "Use IE5 Settings" または "Use HTTP/FTP Proxy" を選んで設定を入力します。
6. Choose A Download Site
ダウンロード元のサイトを選びます。どこでも構いませんが、*.jp のどれかを選択するのが良いでしょう。
7. Select Packages
インストールするパッケージを選びます。PostgreSQL をビルドするためにはパッケージの追加が必要なので注意してください。 デフォルトで選択されているパッケージの他に、以下の項目も追加してください。
  • Devel / bison
  • Devel / gcc-core
  • Devel / flex
  • Devel / gettext-devel
  • Devel / make
  • Devel / readline
  • Devel / zlib-devel
  • Perl / perl

また、ここで PostgreSQL のバイナリも選択できますが、収録されているバージョンは 8.2 と古いので避けましょう。8.2 の psql から 8.4 のサーバにつなぐと、エラーが発生するコマンドがあります。(逆は問題なし)

"次へ" をクリックすると、ダウンロードとインストールが始まります。ネットワーク回線の速度にも寄りますが、多少時間がかかります。

8. Create Icons
インストールが正常に完了すると、アイコンを作成して Cygwin のインストールは完了です。

psql のコンパイル

次に、PostgreSQL のビルドに移ります。ソースコードは postgresql-8.4.0.tar.bz2 をダウンロードして使いました。最初に configure を行います。その際、今回は psql ツールと、psql に必要な libpq ライブラリに関連する configure オプションを指定しています。(日本語メッセージとマルチスレッド対応)

$ tar jxvf postgresql-8.4.0.tar.bz2
$ cd postgresql-8.4.0
$ export PGSRC=`pwd`
$ ./configure --enable-nls --enable-thread-safety

続いて、psql と libpq を make し、インストールします。データベース・サーバ本体 (src/backend 以下) はビルドする必要はありません。

$ cd $PGSRC/src/bin
$ make
$ make install
$ cd $PGSRC/src/interfaces/libpq
$ make
$ make install
トラブルシュート : ここで "../../src/Makefile.global:350: ../../src/Makefile.port: No such file or directory" のようなエラーが発生する場合、Cygwin 版ではない make を使ってしまっているのかもしれません。代わりに $ /usr/bin/make とフルパスを指定して実行してください。

インストールが完了したら、psql を使う前に、以下の環境変数を設定してください。~/.bash_profile に追記します。

export PATH=/usr/local/pgsql/bin:/usr/local/pgsql/lib:$PATH
export PGHOST=localhost
export PGCLIENTENCODING=sjis

その他には、下記もお好みで追記してください。特に日本語データを扱う場合には、control-chars の設定を追加する必要があります。

export PGUSER=postgres # ログインユーザを postgres に
export LANG=ja # メッセージを日本語に
export LESS='--raw-control-chars' # psqlのページャで日本語を表示
alias ls='ls --show-control-chars' # lsで日本語を表示 (一般的な設定)

Windows コマンドライン版との違い

Cygwin版とWindows コマンドライン版の違いは、主に readline ライブラリの有無です。Cygwin 版では以下の利点があり、使い勝手がかなり向上すると思います。

入力補完や履歴管理機能が豊富
タブキーでの入力補完や Ctrl+R での履歴サーチが利用できるため便利です。コマンドライン版では上下キーでの履歴を遡る機能のみがあります。
Ctrl+C ではクエリのキャンセルのみ行われる
コマンドライン版はなぜかプログラムごと終了してしまいます。
複数行のSQLの扱いが適切
入力履歴にて、コマンドライン版では改行ごとに分割されてしまいますが、Cygwin版ではセミコロン (;) までを1つのSQLとして扱えます。

外部リンク

  • Cygwin.com
  • bashの便利な機能を使いこなそう (@IT)

psql の具体的な使い方は、別記事「psqlを使ってみよう」を参考にしてください。

(2009年9月1日 公開)

ブック横断リンク: Cygwin版psqlを使ってみよう

  • WindowsでPostgreSQLを使ってみよう
  • 上へ
  • yumでPostgreSQLをインストールしてみよう

フッター

  • ホーム
  • 目的別ガイド
    • 導入検討
    • インストール
    • 運用管理
    • チューニング
    • サポート
    • 内部解析
  • 読み物
    • 入門記事
    • 技術的記事
    • 事例紹介
    • イベントレポート
    • リンク集
    • インタビュー
  • 動画で学ぶ
  • コンタクト

ブックナビゲーション

  • 入門向けの記事
    • OSS の開発コミュニティってどんなところ?
    • PostgreSQL が私に与えてくれたもの
    • PostgreSQL 超入門 第1回
    • これを読めば PostgreSQL の全てが分かる!PostgreSQL ガイドブック
    • サンフランシスコのPostgreSQL事情
    • PostgreSQL上にMediaWiki環境を構築
    • キャストを追加してバージョン互換性を保つには
    • HOTの活用
    • PostgreSQLでXMLを処理してみよう!
    • CentOS で PostgreSQL を使ってみよう!
    • Mac OS X で PostgreSQL を使ってみよう
    • RPMで複数バージョンのPostgreSQLをインストールしてみよう
    • UbuntuでPostgreSQLを使ってみよう
    • WindowsでPostgreSQLを使ってみよう
      • Cygwin版psqlを使ってみよう
    • yumでPostgreSQLをインストールしてみよう
    • PostgreSQLの機能と他のRDBMSの比較
    • psqlを使ってみよう
    • PostgreSQLのトラブルシュートとチューニング
    • PostgreSQLの導入と初期設定
    • PostgreSQLの利用動向レポート
    • PHPでPostgreSQLを使ってみよう
    • PostGISを使ってみよう
    • PostgreSQLの開発プロセス
    • 現場で役立つ実践ノウハウWeb開発の「べし」「べからず」
    • gihyo.jp & Let's Postgres 連動企画 今こそ!PostgreSQL
    • PostgreSQL日本語マニュアルについて
  • 技術的な記事
  • 事例紹介
  • イベントレポート
  • リンク集
  • インタビュー
RSS feed

最近追加されたページ

  • PostgreSQL日本語マニュアルについて
  • 第25回しくみ+アプリケーション勉強会レポート
  • The PostgreSQL Development Process
  • 2009-11 PGCon 2009.jp クラスタ会議のための予備知識
  • HOTの効果 (4)

ページ送り

  • 前ページ
  • 4
  • 次ページ