Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇1045:
データベースのユーザ作成 [ダイ] 04/02 23:14

 ├◇1046:Re:データベースのユーザ作成 [りう] 04/03
 │└◇1050:Re[2]:データベースのユーザ作成 [ダイ] 04/03
 │ └◇1052:Re[3]:データベースのユーザ作成 [りう] 04/03
 │  └◇1053:Re[4]:データベースのユーザ作成 [ダイ] 04/03
 │   └◇1054:Re[5]:データベースのユーザ作成 [りう] 04/03
 │    └◇1062:Re[6]:データベースのユーザ作成 [ダイ] 04/04 <
 └◇1047:Re:データベースのユーザ作成 [MSだす。] 04/03
  └◇1051:Re[2]:データベースのユーザ作成 [ダイ] 04/03
   └◇1055:Re[3]:データベースのユーザ作成 [MSだす。] 04/03
    └◇1061:Re[4]:データベースのユーザ作成 [ダイ] 04/04


1045● データベースのユーザ作成[ ダイ ] 2003 04/02 23:14
Win XP Pro SP1
Cygwin 1.13
postgresql 7.3.2

/usr/local/pgsql/bin/createuser nobody
で以下のようにエラーがでます。
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
createuser: creation of user "nobody" failed

因みにpg.dllは、C:\WINNTにコピペしました。

何がだめなのでしょうか?
スレッド一覧


1046● Re:データベースのユーザ作成[ りう ] 2003 04/03 00:51
エラーメッセージに書かれているとおり、
UNIXドメインソケットで接続出来ないからです。
オプション「-h localhost」を付けて実行して下さい。
スレッド一覧


1050● Re[2]:データベースのユーザ作成[ ダイ ] 2003 04/03 09:28
りうさん、アドバイスありがとうございます。

/usr/local/pgsql/bin/createuser -h localhost nobody
で以下のようにエラーがでます。
psql: could not connect to server: Connection refused
Is the server running on host localhost and accepting
TCP/IP connections on port 5432?
createuser: creation of user "nobody" failed

根本的に何かが足りないような気がしますので、いろいろ考えてみます。
スレッド一覧


1052● Re[3]:データベースのユーザ作成[ りう ] 2003 04/03 10:21
postmasterが正しく起動しているのであれば、
エラーメッセージに書かれているとおり、
TCPでlocalhostに接続出来ないのが原因です。

まず、postgresql.confに

tcpip_socket = true

は存在しますか。ないなら追加して下さい。

もし大丈夫であれば、pg_hba.confの設定で
localhostからの接続が受け付けられるようになっていますか?
もしそうでないなら、

host all 127.0.0.1 255.255.255.255 trust

を追加して下さい。

----
Cygwin提供のパッケージを利用して、/usr/doc/Cygwin
以下にあるPostgreSQLのドキュメントの通りに行えば、
「UNIXドメインソケットで接続できない」という問題
以外は何の苦労もなく利用できるはずなのですが…。
スレッド一覧


1053● Re[4]:データベースのユーザ作成[ ダイ ] 2003 04/03 13:00
さっそくのお返事ありがとうございます。
ところで、postgresql.confとpg_hba.confが
/usr/local/pgsql/bin
に見当たらないのですが、そのかわりに
/usr/local/pgsql/share
にpg_hba.conf.sampleとpostgresql.conf.sampleがあります。これを編集して、
/usr/local/pgsql/bin
に.sampleを外して保存してみたのですが、だめでした。

それから、Windowsでpostgresというアカウントを作成して、cygwinでmkpasswdを行ったのですが、postgresqlを操作するときに、ユーザの変更を行う必要は無いのでしょうか。常にadministratorでのコマンド操作をしていますが。こういうところが疑問のままなので、エラーがでると原因を絞れずに困ってしまいます。また、
/usr/local/pgsql/data
を作成したのですが、dataディレクトリにアクセスできません。Windowsにpostgresでログオンするとアクセスできるのですが、なぜ?

昨日、Cygwinの本買ったのにほとんど役に立たないし。

助けてください。
スレッド一覧


1054● Re[5]:データベースのユーザ作成[ りう ] 2003 04/03 15:10
・まず最初に、initdb は実行されましたか?

・initdb を実行したなら、PostgreSQL のデータが格納される
ディレクトリが作成されているはずです(それがどこかは、
initdb の引数で指定したはずです)。pg_hba.conf と
postgresql.conf はその下にあります。
本文中から察するに、/usr/local/pgsql/data でしょうか。

・/usr/local/pgsql/data にアクセスできない件については、
/usr/local/pgsql/data のパーミッションを調べてみて下さい。
多分、所有者 postgres で、700 になっていると思います。
Windows には UNIX の root のように「全てのファイルを読み書き
可能」という都合のよいユーザはいませんから、このような
ディレクトリには postgres ユーザしかアクセスできません。

・「postgresqlを操作するときに」という意味がよくわかりませんが、
psql などを使う場合は、明示的にユーザを指定すれば OK です
(「psql -U postgres -h localhost DB名」など)。

・繰り返しますが、Cygwin 提供のパッケージを利用して、
/usr/doc/Cygwin 以下にあるPostgreSQLのドキュメントの通りに
行えば、問題なく動きます。なぜソースからのインストールに
拘るのか、よく分からないのですが。
スレッド一覧


1062● Re[6]:データベースのユーザ作成[ ダイ ] 2003 04/04 09:58
りうさん、お返事ありがとうございました。
パーミッションを
chmod g+w data
として、initdbを行ったところOKでした。
これからpostgresのユーザ作成、データベース作成が出来るか、試してみます。
スレッド一覧


1047● Re:データベースのユーザ作成[ MSだす。 ] 2003 04/03 03:33
そもそもpostmasterやipc-daemonは起動している
のでしょうか?
$ ps -a
などとして、現在走っているプロセスに
それらがあるかどうか確かめてください。
もし走ってなければ、参考になさっているページ
を良く見て、バックグラウンドで起動してから
createuserしてください。
スレッド一覧


1051● Re[2]:データベースのユーザ作成[ ダイ ] 2003 04/03 09:44
MSだすさんアドバイスありがとうございます。
ipc-daemonは、参考にしているところにあるため、
/usr/local/bin/ipc-daemon &
として、起動しています。これの返り値が、
[1]3116 や [2]3544
というようにいろいろなるのですが、これはこういうものでいいのでしょうか。
ipcsを行うと、
----------Shared Memory Segments---------
shmid key bytes nattch status
----------Semaphore Arrays----------
semid nsems key
----------Message Queues----------
msqid used-bytes messages
と言うようにでてくるのですが、値はでてきません。
これがおかしいのでしょうか。

また、postmasterの起動についてですが、
/usr/local/pgsql/bin/postmaster &
を実行したところ、
[2]2432
が返ってきたのですが、次に
FATAL: File /usr/local/pgsql/data/PG_VERSION is missing. This is not a valid data directory.
とでてきます。
やっぱり何かおかしいですね。

ps -aのコマンドの結果は、
bash,ipc-daemon,ps
が返ってきました。

エラーの頻出で、パニックになりそうですが、いろいろ勉強してみます。
スレッド一覧


1055● Re[3]:データベースのユーザ作成[ MSだす。 ] 2003 04/03 17:10
ipc-daemon, postmaster起動などサービスを提供
する作業はユーザ"postgres"なければいけません。
"postgres"でwindowsにログオンして作業を
していますか?
ps -aの結果にpostmasterが見えてなければ
postmasterが走ってないのでしょう。
まず、"postgres"ユーザでpostmasterの起動などを
してみてください。
スレッド一覧


1061● Re[4]:データベースのユーザ作成[ ダイ ] 2003 04/04 09:56
MSだすさん、お返事ありがとうございます。
postgresでログオンをしてみるのですが、administratorのときと勝手が違って、まだよく分かりません。
カレントディレクトリが違うのでしょうか?
adminのときと同じディレクトリ指定ではだめなんでしょうか?とにかくいじり回してみます。

それから、adminでも
/usr/local/pgsql/data
のパーミッションを変更して、initdbを実行したらうまく行ったような気がしますが、これではひょっとしてだめなのかな?これから検証してみます。
スレッド一覧

早田のホームページへ
CGIROOM