- PR -

Cygwinを使用してPostgreSQLの設定につきまして

投稿者投稿内容
koji_koji
会議室デビュー日: 2004/05/02
投稿数: 16
投稿日時: 2004-05-02 16:46
初めましてkoji_kojiと申します。
よろしくお願い致します。

現在ある書籍を用いてWebアプリの学習を行なっておりますが、
最初のDBの設定で躓いてしまっております。

CygwinとPostgreSQLのインストールは終了したのですが、後の
手順が何度試してもどうしても上手くいきません。

1.データベースの作成(文字コード設定/初期化)
$ initdb -E UNICODE -D /usr/share/pgsql/data
1回目は成功したのですが、2回目以降このコマンドを打っても、
以下のメッセージが出力されてしまいます。
----------------------------------------------------------
NEC-PCuser@REDEYES ~
$ initdb -E UNICODE -D /usr/share/pgsql/data
The files belonging to this database system will be owned by user "NEC-PCuser".
This user must also own the server process.

The database cluster will be initialized with locale C.

initdb: directory "/usr/share/pgsql/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/share/pgsql/data" or run initdb with an argument other than
"/usr/share/pgsql/data".
----------------------------------------------------------

2.データベースの起動
$ /usr/bin/pg_ctl -D /usr/share/pgsql/data -l logfile start
----------------------------------------------------------
pg_ctl: Another postmaster may be running. Trying to start postmaster anyway.
pg_ctl: cannot start postmaster
Examine the log output.
----------------------------------------------------------

3.データベースの作成
$ createdb firststep
※1回目は成功したのですが、2回目以降このコマンドを打っても、
何もプロンプトが帰ってきません。

4.firststep初期設定
psql -d firststep -f %CATALINA_HOME%/webapps/firststep/WEB-INF/script/create_
firststep_data.sql
※何もプロンプトが帰ってきません。

どのように対処して行けばよろしいのでしょうか?
初歩的なご質問で大変申し訳ございませんが、ご指導お願い致します。


【各バージョン】
OS:Win-XP-Home
Cygwin:1.5.7-1
PostgreSQL:7.4.1
koji_koji
会議室デビュー日: 2004/05/02
投稿数: 16
投稿日時: 2004-05-02 18:32
度々すもません。koji_kojiです。
その後、色々とディレクトリやファイルを削除して再度作成し直し、
何とか 4.firststep初期設定 の前まで正常に処理されたのですが、
$ psql -d firststep -f %CATALINA_HOME%/webapps/firststep/WEB-INF/script/create_
firststep_data.sql

このコマンドを打つとなぜかNo such file or directoryと表示されてしまいます。
確かにcreate_firststep_data.sqlファイル自体このディレクトリに存在します。

上記コマンドの指定がおかしいのでしょうか?
ご指導よろしくお願いします。

コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-05-02 19:29
echo %CATALINA_HOME%

で何か出てきますか?
koji_koji
会議室デビュー日: 2004/05/02
投稿数: 16
投稿日時: 2004-05-02 20:11
コブラさん、初めまして。
$ echo %CATALINA_HOME%
%CATALINA_HOME%と出力されます。

念の為、パス関連が怪しいのかと思いCATALINA_HOMEではなく、絶対パスにて
行なってみた所、上手く行ったみたいです。
$ psql -d firststep -f C:/jakarta-tomcat-5.0.19/webapps/firststep/WEB-INF/scrip
t/create_firststep_data.sql
----------------------------------------------------------
DROP TABLE
DROP USER
BEGIN
psql:C:/jakarta-tomcat-5.0.19/webapps/firststep/WEB-INF/script/create_firststep_
data.sql:14: NOTICE: CREATE TABLE / UNIQUE will create implicit index "faqdata_
id_key" for table "faqdata"
CREATE TABLE
CREATE USER
GRANT
INSERT 17161 1
INSERT 17162 1
COMMIT
----------------------------------------------------------
ただ1点警告らしきものが出てます。

1点疑問なのですが、なぜ相対だと無理だったのでしょうか?
環境設定の所では、CATALINA_HOMEはきちんと設定してあるのですが。

ご指導お願いします。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-05-02 21:24
警告は、ただのインフォメーション「faqdata テーブルに対して暗黙に faqdata_id_key
という名の unique 型 の index を作成する」 なので、気にする事もないでしょう。

%CATALINA_HOME% に本当に値が設定してあれば

echo %CATALINA_HOME%

でその値が表示されます。

$CATALINA_HOME に本当に値が設定してあれば、

echo $CATALINA_HOME

とすれば、その値が表示されます。
bash なら

$ export CATALINA_HOME="C:/jakarta-tomcat-5.0.19"

csh なら

$ setenv CATALINA_HOME "C:/jakarta-tomcat-5.0.19"

sh なら

$ CATALINA_HOME="C:/jakarta-tomcat-5.0.19"
$ export CATALINA_HOME

です。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2004-05-03 00:40
引用:

koji_kojiさんの書き込み (2004-05-02 18:32) より:

$ psql -d firststep -f %CATALINA_HOME%/webapps/firststep/WEB-INF/script/create_
firststep_data.sql

このコマンドを打つとなぜかNo such file or directoryと表示されてしまいます。
確かにcreate_firststep_data.sqlファイル自体このディレクトリに存在します。



もし、下記のechoコマンドで以下のように表示されるのであれば:

$ echo $CATALINA_HOME
C:\jakarta-tomcat-5.0.19

次のようにするとできませんか?

$ psql -d firststep -f `cygpath --unix $CATALINA_HOME`/webapps/firststep/WEB-INF/script/create_firststep_data.sql
koji_koji
会議室デビュー日: 2004/05/02
投稿数: 16
投稿日時: 2004-05-03 11:22
コブラさん、ちいにぃさん、アドバイスありがとうございます。
ご指示通り行なってみました。
結果、$ echo $CATALINA_HOME にて C:\jakarta-tomcat-5.0.19 と
表示されるようになりました。
ありがとうございます。

すみません、また別件でご質問なのですが、ポスグレを起動する際には以下の手順で
行なうと思うのですが、間違っていますでしょうか?
1. $ipc-daemon2 &
2. $pg_ctl start -D /usr/share/pgsql/data -l /usr/share/pgsql/log -o '-i'

2を実行した場合、
pg_ctl: Another postmaster may be running. Trying to start postmaster anyway.
pg_ctl: cannot start postmaster
Examine the log output.
と表示されてしまうのですが、どうすれば正常に動かすことができるのでしょうか?

ps でpidを調べてみて、一度killコマンドを実行後、再度1と2の手順を行なって
みたのですが同じ現象でした。

度々申し訳ございませんが、よろしくお願いします。





[ メッセージ編集済み 編集者: koji_koji 編集日時 2004-05-03 11:23 ]
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-05-03 14:15
/usr/share/pgsql/data/postmaster.pid

このファイル消さない限り、永久にそのメッセージ出そう。。。

スキルアップ/キャリアアップ(JOB@IT)