|
PostgreSQLのインストールhttp://works.dgic.co.jp/djwiki/Viewpage.do?pid=@506F737467726553514CE381AEE382A4E383B3E382B9E38388E383BCE383ABEncoding:UTF-8 / Locale:en_US / PageStatus: Frozen Owner of this page:t-ueda |
PostgreSQLのインストールPostgreSQLをCygwin上で動かす方法です。 PostgreSQL-7.4.2以降はこの方法でインストールしてください。 なお、このページはWindows XPの場合のものです。Windows 2000の場合は若干違うので注意してください(説明文中に注記してあります)。 Cygwinの導入http://sources.redhat.com/cygwin/setup.exe をローカルの任意のフォルダにダウンロードし、実行してください。 後はほとんどデフォルト値でウィザードを進めていきますが、パッケージの選択画面でPostgreSQLを選択する必要があります。 ![]() ![]() ![]() ![]() ![]() ![]() 「Skip」をクリックしてインストールするバージョンにします。 ![]() ![]() 次に環境変数を設定します。システム環境変数「Path」に「C:\cygwin\bin」を追加します。 ![]() システム環境変数「CYGWIN」を新規作成し、値を「server」にします。 ![]() 設定が終わったらWindowsを再起動します。 PostgreSQLの導入 ΛCygwinを実行します。 するとWindowsのログインユーザでCygwinにログインし、コンソールウィンドウが開きます。以下の手順で、四角の中の「$」はCygwinのプロンプトで、赤文字はキーボードから入力するコマンドです。2行目から後はそのコマンドが表示する内容です。 cygserverサービスの登録cygserver-configを実行し、cygserverをサービスに登録します。Do you want to install cygserver as service? と聞かれたら yes と答えます。 $ cygserver-config cygserverを起動します。 $ cygrunsrv -S cygserver ユーザ「postgres」の登録Windowsのスタートメニューの「コントロールパネル->管理ツール->コンピュータの管理」でユーザ「postgres」を新規作成します。 ![]() パスワードは無期限にしておきます。 ![]() ファイル /etc/passwd にユーザ「postgres」を追加します。 $ mkpasswd -l -u postgres >> /etc/passwd ユーザ「postgres」に、サービスとしてログオンする権限を追加するため、ローカルセキュリティ設定ウィンドウを開きます。 $ cmd /c secpol.msc ![]() これはWindows XPの画面です。Windows 2000の場合は画面が違いますが、設定することは一緒です。 ![]() ![]() 設定が終わったらローカルセキュリティ設定ウィンドウを閉じます。 postmasterサービスの登録postmasterをサービスに登録します。行末が「\」の行は入力が次の行に継続されます。なので、「--type manual」の行までコピーしてコンソールに一気に貼り付けてOKです。 ユーザ「postgres」のパスワードを聞かれるので入力します。 $ cygrunsrv \ データベースの初期化実行ファイル /usr/bin/postgres のアクセス権限を変更します。 $ chmod o+rx /usr/bin/postgres ユーザ「postgres」でCygwinにログインします。 ユーザ「postgres」のパスワードを聞かれるので入力します。 ※注意:Windows 2000の場合、このままだとログインに失敗します。/userで指定するユーザ名を「マシン名\\postgres」としてください。 $ runas /user:postgres "$(cygpath -w /bin/bash)" Cygwinのコンソールウィンドウがもう一枚開きます。 開いたコンソールで、データベースを初期化します。 $ initdb --no-locale -E EUC_JP -D /var/postgresql/data 初期化が終わったらこのコンソールはもう使わないので閉じて構いません(このコンソールで以下の作業を行うとファイルのアクセス権限が変わって色々面倒なことになります)。 postmasterの起動と確認元のコンソールに戻り、postmasterを起動します。 $ cygrunsrv -S postmaster 接続確認のためにpsqlを実行しますが、その前にpsqlの文字エンコーディングの設定を行います。 $ echo "\encoding SJIS" > ~/.psqlrc psqlを実行します。とりあえずデフォルトのデータベース「template1」に接続します。接続できたら \q で終了します。 $ psql -U postgres template1 これでやっとインストールが終わりました。なお、PostgreSQLのサービス名は「Cygwin PostgreSQL」です。このサービスを停止すればPostgreSQLは止まります。スタートアップの種類は「手動」になっているので、必要に応じてプロパティを変更してください。 ![]() ![]() 参考リンク Λ |