Cygwin なんでも掲示板

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


スレッド

└◇1887:
initdbでfailed、ipc-daemonが原因でしょうか? [haya] 02/11 20:52

 ├◇1888:Re:initdbでfailed、ipc-daemonが原因でしょうか? [discypu] 02/11
 └◇1901:Re:initdbでfailed、ipc-daemonが原因でしょうか? [haya] 02/14
  └◇1902:Re[2]:initdbでfailed、ipc-daemonが原因でしょうか? [nil] 02/14
   ├◇1905:Re[3]:initdbでfailed、ipc-daemonが原因でしょうか? [haya] 02/14
   │└◇1906:Re[4]:initdbでfailed、ipc-daemonが原因でしょうか? [りう] 02/14
   │ └◇1909:Re[5]:initdbでfailed、ipc-daemonが原因でしょうか? [haya] 02/15
   └◇1912:readline, Bash での日本語の入出力 [nil] 02/17 <


1887● initdbでfailed、ipc-daemonが原因でしょうか?[ haya ] 2004 02/11 20:52
postgresqlの初心者ですが、インストールができません。

環境:
WindowsXP Pro. sp1
cygwin、cygipc-1.14-1、postgesql-7.4.1-3

ipc-daemon & の後で、ipcsを入力してもタイトルのみで、数値が表示されていません。
別の方法で、net start ipc-daemon後、windowsの[管理ツール」の「サービス」で、開始されていることを確認後でも、ipcでは、数値が表示されていません。

それが原因か、initdbでは、creating template1 でfailedします。
ユーザーをpostgresでトライしても、失敗します。

以前に、windowsxpの別マシンで、古いバージョンでは、インストールできた記憶があります。

どなたか、アドバイスをいただけませんでしょうか?
スレッド一覧


1888● Re:initdbでfailed、ipc-daemonが原因でしょうか?[ discypus ] 2004 02/11 22:38
> postgresqlの初心者ですが、インストールができません。
> > 環境:
> WindowsXP Pro. sp1
> cygwin、cygipc-1.14-1、postgesql-7.4.1-3
> > ipc-daemon & の後で、ipcsを入力してもタイトルのみで、数値が表示されていません。

postgresql-7.4.1-3では、CygUtilsのcygipc-1.X ではなく、Cygwinの
パッケージのcygipc-2.Xを使います。

手元では、次の組み合わせでPostgreSQLの起動に成功しています。
(cygcheckコマンドでそれぞれのバージョンを確認)

$ cygcheck -c cygipc postgresql
Cygwin Package Information
Package Version Status
cygipc 2.02-1 OK
postgresql 7.4.1-3 OK

PostgreSQLとcygipc2については、Cygwinの次の文書に記載があり、参考になると思います。

/usr/share/doc/Cygwin/postgresql-7.4.1.README

http://discypus.jp/pukiwiki/pukiwiki.php?Cygwin%2FPostgreSQL

スレッド一覧


1901● Re:initdbでfailed、ipc-daemonが原因でしょうか?[ haya ] 2004 02/14 10:37
コメントをいただきまして、大変有難うございました。
前進することができましたが、日本語処理の問題が解決できていません。
以下に纏めますが、何かヒントでもあれば、アドバイスをお願い致します。

環境:
WindowsXP Pro. SP1
(以下をcygcheckにて確認)
cygwin 1.5.7-1
cygipc 2.03-2
postgresql 7.4.1-3

cygwinは次のサイトからDLのsetup.exeによって、c:\cygwinへインストール。
cygipc、pstgresql(bin)も同様。
http://sources.redhat.com/cygwin/からDL)
c:\cygwin\binをWindowsのPath環境変数に追加。

一連の操作は、ユーザーhayaにて実行。なお、hayaは「コンピュータ管理者」に設定。
cygwinに反映させるために、以下をcygwin上で実行。
$mkpasswd -l > /etc/passwd
$mkgroup -l > /etc/group

環境セットアップ後に以下を実行。
$ipc-daemon2 &
$LANG=
$initdb -E EUC_JP -D /usr/local/pgsql/data
$postmaster -D /usr/local/pgsql/data &

$psql template1
この後で、CREATE TABLEして、INSERTで漢字データを入力できません。入力して、変換すると文字化けしている状況です。
何か設定ミスがありますでしょうか?

*.なお、これとは別にpostgressql(src)をDLして、以下のようにコンパイル方式も試しましたが、その場合にはinitdbでfialedしました。
./configure --enable-multibyte=EUC_JP --enable-syslog
make
make install
スレッド一覧


1902● Re[2]:initdbでfailed、ipc-daemonが原因でしょうか?[ nil ] 2004 02/14 18:38
>前進することができましたが、日本語処理の問題が解決できていません。
>以下に纏めますが、何かヒントでもあれば、アドバイスをお願い致します。

個人的には、この種の質問では、現在、どの程度の知識、あるいは情報源をお持ちなのかわからないことが多くて、いろいろ可能性が考えられて、答えにくい場合があります…

せめて、参考にしている書籍やWeb等を挙げてあると、推測もつく場合があるのですが。

というわけで、私も勘違いしているようだとすいません。

>$psql template1
>この後で、CREATE TABLEして、INSERTで漢字データを入力できません。入力して、
>変換すると文字化けしている状況です。
>何か設定ミスがありますでしょうか?

説明がよくわからないのですが、insert行に漢字文字列を書けない、insertを実行する以前に、漢字変換した文字列が化けてしまう、という話ですか?

また、psql 経由でしか試してない、ということでしょうか?
こういった場合、問題の切り分けが必要ですが、他のアクセス方法で正常に扱えるかどうかは確認できないでしょうか?


いちおう psql からの操作で問題があるだけの話であれば、あきらめて psql -f のコマンドファイル(EUC)か、psql 以外からの操作でよいでしょう。

あるいは、psql に -n を指定して起動して確認してみてください。 (意味はドキュメントで確認してください)
-n でコマンド行への漢字の入力がうまくいくようであれば、psql で利用している readline ライブラリの設定の問題だと思います。

もしそうならば、-n 付で使用するか、「bash のコマンド行での日本語入力」と同じ話題ですので、そちらを調べればよいでしょう。

また、おそらく端末側は EUC ではなく SJIS だと思うので、その場合はとりあえず psql フロントエンド側の設定も必要だと思います。
        \encoding SJIS

エンコーディングの指定の仕方は他にもいろいろあるようですので、必要な情報は別途確認してください。

# 長くなってすいません。別に Cygwin 固有の問題ではないと思うので、
# 世の postgres 参考資料にもこういう話はあると思うのですが…

最低限必要な ~/.inputrc の日本語設定例
        set convert-meta off
        set output-meta        on
        set input-meta        on
スレッド一覧


1905● Re[3]:initdbでfailed、ipc-daemonが原因でしょうか?[ haya ] 2004 02/14 23:34
コメントいただきました内容で、日本語処理ができました。
有難うございました。また、こちらが不慣れで失礼致しました。

参考にしている書籍:
WindowsユーザーのためのPostgreSQL導入活用ガイド(技術評論社)

参考にしているサイト:
WindowsXPでのWebデータベースの構築
http://gifu.aspect-sys.co.jp/etc/win/xp_db/index.html
他には、discypusさんからの紹介ページを参照。

結論として:
~/.inputrc の設定(上述書籍P37参照)
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on

psqlで、\encoding SJISの設定。(ご指摘の部分)

上記2点の対応をした結果、INSERTで漢字を入力できました。また、SELECTでの結果も正しく表示されました。

本件titleのinitdbトラブルとはやや異なる問題でしたが、大変参考になりました。有難うございました。
スレッド一覧


1906● Re[4]:initdbでfailed、ipc-daemonが原因でしょうか?[ りう ] 2004 02/14 23:52
どうでもいい話ですが一点だけ。

set kanji-code sjis

は、日本語化パッチを適用していない readline / bash では無意味なオプションですが、
その点については問題ないでしょうか。

# 流布してしまっているのが困りモノ。
スレッド一覧


1909● Re[5]:initdbでfailed、ipc-daemonが原因でしょうか?[ haya ] 2004 02/15 16:44
コメントをいただきまして、有難うございます。
nilさんからの指摘もそのようでした。

参考書籍(「WindowsユーザーのためのPostgreSQL」のP37)に記述に従ってみましたが、ご指摘の通り、以下のラインが無くとも問題ありませんでした。
set kanji-code sjis

有難うございました。
スレッド一覧


1912● readline, Bash での日本語の入出力[ nil ] 2004 02/17 00:37
|最低限必要な ~/.inputrc の日本語設定例

と書くのはちょっとまずかったので補足します。よけい変かもしれませんが…

* readline, bash の入力行で日本語の入出力を行う為の ~/.inputrc の設定

- A. 日本語化されていない通常の readline, bash で、とりあえず日本語の入出力を行う(俗に言う "8-bitスルー" にする)為の設定
        set convert-meta off
        set output-meta on
        set input-meta on

注意: 削除やカーソルの移動が日本語の文字単位ではないので危険です。日本語あるいは multi-byte 対応(正しく処理可能)になるわけではありません

- B. readline, bash に、いわゆる「日本語化パッチ」があたったものであれば、A. の設定は必要ないようです。
ただし(標準の?)EUC ではなく Shjit_JIS を入力するには次の設定が必要になります。
        set kanji-code sjis

注意: 別の仕様のパッチがあるかどうかは未確認。

- その他: .inputrc の記述の不都合はエラーメッセージが出ないので注意が必要。
(bash では設定値を bind -v で確認できます)


余談です。

>有難うございました。また、こちらが不慣れで失礼致しました。

すいません、そう言っていただけると助かります。(ものいいに気をつけろと、言われることも多いので。そんな設定とっくにしてる、なんて言われたらどうしようかと思ってた)

念の為。参考にしているものを挙げたほうがよい(もともと質問者が要点をうまく説明するのは難しいので、そのほうが経過や状況を推測しやすいし、資料の不備に気がつくこともある)、というのは、あくまで個人的な意見で、一般的なルールでもないと思います。


>どうでもいい話ですが一点だけ。
>set kanji-code sjis
>は、日本語化パッチを適用していない readline / bash では無意味なオプショ
>ンですが、その点については問題ないでしょうか。
># 流布してしまっているのが困りモノ。

勘違いだったらすいません。
以前に触れたことがあるのですが、.inputrc内の解釈できない設定は通常は error を出力しないで無視するだけのようです。
その点では、上記の A. と B. を併記しても実害はないようです。

これに限らず、流布やサイト上の、不正確な知識や古い情報(期日が不明なものも)が、物によっては害さえもありそうで、実際に混乱が起こって困った状態、なのはそのとおりだと思います。

kanji-code に関しては、その意識があって伝わっているかどうか気持ち悪いかぎりですが、実害はないかわりに淘汰されないかな、と思います。


そういえば逆に、psql 上で \encoding SJIS に設定したからといって、readline を(EUCはともかく) SJISで使って問題がないかどうかは簡単にしか検証していません。すいません。

一応一時的な利用だろうし、他の回避策として、-n や -f を使う、あるいはEUC設定ができる端末を使う、いろいろ考えられるので、支障は少ないはず。

長くなりました。
スレッド一覧

早田のホームページへ
CGIROOM