UNIX 関連の情報交換ボード
■ メインページ ■ サブボード修正
うちの場合、FreeBSD の入ったマシンを切ることがあるんですが、 マシン起動時に自動的に postmaster (PostgreSQL deamon) を 起動させようとして問題がでました。 環境はここのインストールの手引きの通りにした状態です。 特に環境変数は重要ですので、設定しておいてください。 http://www.sra.co.jp/people/t-ishii/PostgreSQL/7.0/ コントロールスクリプトの pg_ctl をのぞいてみると、 /tmp/.s.PGSQL.5432 と言うソケットと /usr/local/pgsql/data/postmaster.pid と言うプロセス ID を 保存しているファイルを参照しているようです。 pg_ctl -w stop で終了させた場合はきちんと無くなっているようなんですが、 pg_ctl は postgres でログインしないと実行できないし、 電源を切りたいときにいちいちそんなことは面倒です。 そこで、マシン起動時に上の二つのファイルがあったら消すようにしてみました。 結果的にはそれでうまくいったので /usr/local/etc/rc.d に置く 自動実行シェルスクリプトを載せます。 #!/bin/sh if [ -x /tmp/.s.PGSQL.5432 ];then rm /tmp/.s.PGSQL.5432 fi if [ -x /usr/local/pgsql/data/postmaster.pid ];then rm /usr/local/pgsql/data/postmaster.pid fi su postgres -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start" su postgres -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data status" そういえば一番下のステータスを表示させる部分はモニターのつながっていない うちのマシンには必要ないですね(^^; 起動時に -S -i オプションがないのは /usr/local/pgsql/data/postmaster.opts.default に書いてあるためです。 今まではいきなり電源切っても問題は出ていませんでしたが、 PostgreSQL 7.0 はファイルの存在で起動状態を調べるという仕様らしいので、 問題が出てきたんですね。とりあえず参考までに。 GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
続きです。 情報はすべてここで手に入りました。 http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html faq もうちの環境を整備するには十分なものでした。UNIX 系の 情報サイトとしてはぴかいちのわかりやすさじゃないかと思います。 PostgreSQL ODBC Driver 日本語版を Win98 にインストールするわけですが 最初はオリジナルの英語版ドライバを入れます。実行ファイルで 普通にインストーラが起動しますので付和雷同しながらインストールします。 コントロールパネルの ODBC データソースのところに PostgreSQL ドライバが 現れました。ユーザデータソース、システムデータソースなどいろいろあるのですが どうもファイルデータソースと言うのが今接続したい PostgreSQL にあたりそうです。 そこでデータソースの追加をしてみました。ドライバはもちろん PostgreSQL です。 するとドライバの設定ダイアログがでてきました。データベース名は 先にサンプルのゲストブックスクリプトで使った postgres を入れました。 createdb で作られるデータベースのデフォルトがこれなんですね(^^; Server は PostgreSQL の入っているサーバの IP なりサーバ名なりを入れます。 Port はそのままでユーザー名は nobody にしました。 PHP などからの接続は nobody として処理されるらしく、 ユーザーとして既にデータベースをいじれるように登録してあったものです。 Password は無しです。オプションの中に ReadOnly のチェックが入っているので 編集したいんですから当然それをはずします。 これで OK を押すと、今まで失敗していた ODBC データソースの登録ができました。 さて ACCESS で試してみよう、と言うわけで適当に空のデータベースを用意して、 ファイル>外部データの取り込み>テーブルのリンクをしてみました。 ファイルの種類の中に ODBC detabase があるのでそれを選ぶと、 登録したデータソースがありますので(ここでも登録できます)それを選びます。 すると、test2 と言う postgres の中のアクセスを許可されているテーブルが 表示されました。ほんとに通信してる〜(T-T)感動 テーブルをリンクさせようとすると、レコードを一意にするためのフィールドを 求められます。文字は化けてるしそれにあたるものはないので困り、 全部選んでみましたが、怒られました(^^;テーブルとしてはあるので 表示してみようとすると接続に失敗しています。 もう一度ドライバのサイトを見てみると、PostgreSQL 7.0 には 2000/06/17版で対応したようです。日本語版は日本ご対応だけでなく そういう部分でも対応が進んでいるようなので、とりあえず入れます。 DLL を \windows\system フォルダにコピーするだけです。 これでもういちどリンクし直すときちんと表示されました! データベースの内容が日本語もきっちりと表示されています。 さてちょっと変更を加えてみようかなと思ったら、変更できませんとか言います。 faq を見ると ReadOnly は切ってあるので主キーがないのが怪しいです。 主キーがないと ACCESS では編集することができないらしいです。 データベース自体に主キーを持たせるのが一番いいんですが、 ドライバ側でも対応できるようです。主キーとして使える値を 付加して渡してくれるのです。ドライバ側の設定でそのチェックを入れて リンクし直すと oid と言う項目が増えています。それを一意に認識する 項目として指定すると、データベースを編集できるようになりました! さて、ゲストブックの PHP を見てみると、変更は反映されていません。 テーブルを閉じてみました。すると反映されました。 テーブルを閉じるか、レコード>更新で反映されるようです。 これ以上の編集は試していませんがデータベースのインターフェイスが ACCESS になればかなり心強いものがあります。今までのデータベースを そのまま使えるのもおいしいです。 ODBC を知らない段階からここまでうまくいくとは思いませんでした。 ODBC 万歳と言うところでしょうか(^^; ここまで持ってきてしまえば、かなり一般的な用途にも使えると思います。 個人で使うにしてもサーバにデータがあると言うだけでも 十分価値のあるものになるでしょう。しかもそのデータを PHP や Perl などの CGI からも参照できるわけですから、 データセンターとしてこれ以上ない気がします。 もちろん掲示板のような web 上のデータをまとめるのにも最適でしょう。 GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
と言うか、ODBC ってなに?って感じだったんですが(笑) Win98 のコントロールパネルに ODBC データソース、 と言うのがあります。開いてみるとわけ分かりません(笑) ヘルプはヘルプになってません(笑) とりあえず、ACCESS で接続できるらしい事は分かりました。 で、ODBC で接続するらしいんですが、うちの環境でできるのか? とか思いながらも、とりあえず PostgreSQL を --with-odbc で もう一度コンパイルし直しました。(これは必要だったのかどうか 今となっては分かりません) そして、コントロールパネルで適当にごちゃごちゃいじっても 全然うまくいきません。ODBC と言えば ODBC for oracle しかない... 仕方がないのでヒントを求めてインターネットで検索しながら 眺めていると、こんなところを見つけました。 http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html てっきり PostgreSQL ODBC Driver と言うから PostgreSQL の方に インストールするものかと思ったら Win 側のドライバのようです。 そうか、PostgreSQL 用の ODBC ドライバを入れるもんだったのか、と やっと気付きました(^^; ODBC は単一のドライバだとばかり 思いこんでいました。 次のレスにドライバを入れて ACCESS で PostgreSQL のデータベースを 編集するに至るまでを書きます。 GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
> コンパイル時に --enable-multibyte 付けないとダメですよ. > これを付けても,template DB は ASCII になりますが, > 問題ないです.(たぶん) とりあえずこれでインストールは成功しました。 psql とか createdb dropdb とか多少使い方をつかみながら、 こんな事やっている場合じゃない、とばかりに PHP の方に 手を移していきました(^^; GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
> コンパイル時に --enable-multibyte 付けないとダメですよ. > これを付けても,template DB は ASCII になりますが, > 問題ないです.(たぶん) 消さなきゃ良かった(T-T)まあいいやもう一度コンパイルだ。 >> とりあえず日経ソフトウェアの先月号に SQL の特集があったようなので >> 取り寄せてみようかな。 > pgsql-ml を読んでみては? 早速購読しました。web だと最新版の情報ってあまりないですし(^^; GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
>> 7.0以降の場合は, >> createdb ayaya -E EUC_JP >> とかってやればマルチバイト対応になるかと. >> psql -l >> で確認しましょう♪ > ?? データベースを作るときにそういう指定ができると言うことは > コンパイル時の問題ではないと言うことですか? コンパイル時に --enable-multibyte 付けないとダメですよ. これを付けても,template DB は ASCII になりますが, 問題ないです.(たぶん) > とりあえず日経ソフトウェアの先月号に SQL の特集があったようなので > 取り寄せてみようかな。 pgsql-ml を読んでみては? http://www.sra.co.jp/people/t-ishii/postgres95/index.html
> 7.0以降の場合は, > createdb ayaya -E EUC_JP > とかってやればマルチバイト対応になるかと. > psql -l > で確認しましょう♪ ?? データベースを作るときにそういう指定ができると言うことは コンパイル時の問題ではないと言うことですか? ここまで本無しでインターネットのリソースだけでやってきましたが、 データベース関連になるとさすがに情報が少なくなってきた気がします。 いや、みんなやろうとしているような感じはあるんですけど、 説明するまでには至っていないと言う様子です。 とりあえず日経ソフトウェアの先月号に SQL の特集があったようなので 取り寄せてみようかな。 GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
> ./configure --with-mb=EUC_JP とやったら、--enable-multibyte と書け > と文句を言われたのでそうしてからコンパイルしたはずなんですが、 > なんでマルチバイト対応になってないんだ〜 7.0以降の場合は, createdb ayaya -E EUC_JP とかってやればマルチバイト対応になるかと. psql -l で確認しましょう♪
PHP を使うならデータベースと連携させなきゃ、と言うことで、 PostgreSQL のインストールに挑戦してみました。 以下のサイトを参考にしました。 http://apex.wind.ne.jp/tetsuro/f-bsd/ http://www.geocities.co.jp/HeartLand-Namiki/3438/FreeBSD/quark.html しかし、HDD が残り 40MB (^^; 必要になる gcc の最新版とか入れただけでパンクしそうになってしまいました。 仕方がないのでなにか消せないか探しました。カーネルの設定は必要ないようなので とりあえずカーネルのソースを削除。doc もある程度消しました。 これで何とか 60MB くらい空いたので、PostgreSQL 7.02 のソースを持ってきて 展開、コンパイルをしましたが、できあがったものを使ってみると、 なんと、マルチバイト設定されていないとエラーが返ってきました。 ./configure --with-mb=EUC_JP とやったら、--enable-multibyte と書け と文句を言われたのでそうしてからコンパイルしたはずなんですが、 なんでマルチバイト対応になってないんだ〜 と、叫びながら find /usr/local/pgsql -delete なんでパッケージがないんでしょうね。ports でもいいんですけど、 この残り 100MB では ports ディレクトリを作るだけでパンクしてしまいました。 ftp で PostgreSQL の ports が見つかればいいんですけど、ないんですよね。 結局まともにソースからインストールしないといけないと言う状態です。 今までほとんどのものを /stand/sysinstall を使ってインストールしてきたんですけど もう UNIX 初心者は脱却しないといけないんでしょうか(^^; GOO E-Mail: goo_n@hotmail.com WWW: http://homepage2.nifty.com/~goo/ GTET 置き場
> パステル トラップ ルーミィ クレイ > かなぁ。 > #ノルとキットンの立場は?(^^; あ、最近ご無沙汰しているので、忘れてしまいました。ごめんなさい >ノルとキットン(^^; -- ふみぃ fummy@din.or.jp
>> この前の xmas イベントで使ったサーバーは, >> peach, lily, daisy だったりします.(1台増えても対応可能(笑)) >> % ほとんどの人はわかっていなかったようですが(^^; > うちの会社のマシンには > whitebase rondo-bell katsu retsu kikka > という"その筋"の人だとすぐにピンとくる名前が並んでいます(^^) スーツの型名の方が格好良いような。 そろそろ、歴史上のコンピュータの名称などをホスト名にしても 良い頃ですね。 mz80b, bml3, fm7, p6mk2, msx ... // 話は戻りますが、ルンバ って何者? tos.
>>> (レンタル系はゲーム,ラック借りはスクウェア系となってたりします(^^;) >> そういうつけ方もいいかもしれないですね。(^^ >> 知り合いが管理しているマシン名には、フォーチュンクエストの4人組に >> なっていたりしますね。(^^; パステル トラップ ルーミィ クレイ かなぁ。 #ノルとキットンの立場は?(^^; > この前の xmas イベントで使ったサーバーは, > peach, lily, daisy だったりします.(1台増えても対応可能(笑)) > % ほとんどの人はわかっていなかったようですが(^^; うちの会社のマシンには whitebase rondo-bell katsu retsu kikka という"その筋"の人だとすぐにピンとくる名前が並んでいます(^^)
>> (レンタル系はゲーム,ラック借りはスクウェア系となってたりします(^^;) > そういうつけ方もいいかもしれないですね。(^^ > 知り合いが管理しているマシン名には、フォーチュンクエストの4人組に > なっていたりしますね。(^^; この前の xmas イベントで使ったサーバーは, peach, lily, daisy だったりします.(1台増えても対応可能(笑)) % ほとんどの人はわかっていなかったようですが(^^;
>> Jan 14 00:48:57 mahoro /kernel.prev: ppc0 at 0x3bc irq 7 flags 0x40 on isa > まほろ…(笑) まぁ、お約束ということで。(笑 > というわけで,瑞佳,澪,ティナ,ポロム,クルル,とかって > 名前を付けていたりします(^^; なるほど、やはりでしたか(笑) > (レンタル系はゲーム,ラック借りはスクウェア系となってたりします(^^;) そういうつけ方もいいかもしれないですね。(^^ 知り合いが管理しているマシン名には、フォーチュンクエストの4人組に なっていたりしますね。(^^; # またまたごみレス失礼します(^^; -- ふみぃ fummy@din.or.jp
> Jan 14 00:48:57 mahoro /kernel.prev: ppc0 at 0x3bc irq 7 flags 0x40 on isa まほろ…(笑) 関係ないですが,最近管理している鯖に,物理的なマシンと対応する 名前も付けるようにしました. (ドメイン以降時とかに旧mixlink,新mixlinkとかいってると こんがらがるので(^^;) というわけで,瑞佳,澪,ティナ,ポロム,クルル,とかって 名前を付けていたりします(^^; (レンタル系はゲーム,ラック借りはスクウェア系となってたりします(^^;) % かなりゴミレス(爆)
> CPUの速度が大きく響いているかもしれないですね。 > Pentium3/500MHzの知人がUSBとパラレルを比較したらしいのですが、たいして > かわらないそうです。 あ、ほんとですか?う〜ん、ちょっとショックかも(^^; PII/266 でもうそんなに問題が出るくらいになるなんて。 まだまだいけると思っていたのに(^^; まあ、もうちょっとがんばるつもりですが。 そんなことをいっていたらどんどんものがない状態になったりして、 うちの FreeBSD を入れたマシンのようになるのかもしれませんね(^^; 終わり無き悪夢(笑) GOO E-Mail: goo_n@hotmail.com プログラム置き場
>> 600dpi A41枚で、だいたい100MBから200MBくらいは使うので、HDDが200-400MB >> くらい必要なんですよね。 > げ、そんなに(^^; スプールを2つ経由するので倍くらい必要なんですよ。しかもスプールが終わる までプリンタへは送信開始しないみたいです。 > それはさすがに残ってないですね。HDD 自体は 400MB 程度なので。 あ、プリンタによって違うかもしれないですね。 >> あと、プリンタポートがECC(ECPとかでしたっけ?)が有効になっていないとか。 > なってないかもしれないです。と言うかいじってないのでそうでしょうね。 BIOSの設定をかえればいいのかな? いま、/var/log/messagesを見てみたらECPが有効になってたらしいですが。 Jan 14 00:48:57 mahoro /kernel.prev: ppc0 at 0x3bc irq 7 flags 0x40 on isa Jan 14 00:48:57 mahoro /kernel.prev: ppc0: Generic chipset (ECP/PS2/NIBBLE) in C OMPATIBLE mode Jan 14 00:48:57 mahoro /kernel.prev: ppc0: FIFO with 16/16/16 bytes threshold Jan 14 00:48:57 mahoro /kernel.prev: lpt0: <generic printer> on ppbus 0 Jan 14 00:48:57 mahoro /kernel.prev: lpt0: Interrupt-driven port Jan 14 00:48:57 mahoro /kernel.prev: ppi0: <generic parallel i/o> on ppbus 0 こんな感じです。カーネルの構築でプリンタ関連をいじった覚えが無いので デフォルトでこうなっているとおもいます。 > 私のマシンには UA-100 で USB を使っているので弟のマシンに任せますが。 > パラレルポートの速度ってもうプリンタのボトルネックになってるんですね。 CPUの速度が大きく響いているかもしれないですね。 Pentium3/500MHzの知人がUSBとパラレルを比較したらしいのですが、たいして かわらないそうです。 -- ふみぃ fummy@din.or.jp
> 600dpi A41枚で、だいたい100MBから200MBくらいは使うので、HDDが200-400MB > くらい必要なんですよね。 げ、そんなに(^^; それはさすがに残ってないですね。HDD 自体は 400MB 程度なので。 こうなると 100Base 必須ですねぇ、Windows のみで使うとしても。 > 市販のプリントサーバはそんなことが無いと思うので、そこまでひどくはならな > いと思いますが。 スプールはそれぞれのマシンでやることになるんでしょうかね? いまいちあのコンパクトなプリントサーバのやることがよく分かってないです > あと、プリンタポートがECC(ECPとかでしたっけ?)が有効になっていないとか。 なってないかもしれないです。と言うかいじってないのでそうでしょうね。 マルチ I/O ボードなんかでシリアル・パラレルポートを出していた時代って そういうのもう出ていましたっけ?(^^; それ以前に PII/266 メモリ 64MB のマシンでプリンタポート接続しても 遅かったんです。今、USB 接続で試してみましたが、普通の速度で印刷できています。 USB ってパラレルポートよりも速いんでしたっけ?(^^; 私のマシンには UA-100 で USB を使っているので弟のマシンに任せますが。 パラレルポートの速度ってもうプリンタのボトルネックになってるんですね。 GOO E-Mail: goo_n@hotmail.com プログラム置き場
> 写真の印刷が猛烈に遅かったのです。弟のマシンに USB 接続したときとは全然違います。 > これでは使い物になりません。せっかく samba サーバを入れたんですが、 > ファイルサーバとして使う容量があるわけでもなく、意味が無くなってしまいました(T-T) ずいぶん前にそのあたりを調べてみたのですが、sambaはまず自前のスプールに いれてから、lpdに送ってlpdのスプールにためる、という2度手間をしているの で猛烈に遅くなったはずです。ずいぶん前に調べたので詳しいことは忘れてしま いましたが。(^^; 600dpi A41枚で、だいたい100MBから200MBくらいは使うので、HDDが200-400MB くらい必要なんですよね。 市販のプリントサーバはそんなことが無いと思うので、そこまでひどくはならな いと思いますが。 あと、プリンタポートがECC(ECPとかでしたっけ?)が有効になっていないとか。 -- ふみぃ fummy@din.or.jp
新しいプリンタを日曜日に買ったんです。 いろいろな問題を抱えつつも家族がデジカメ印刷メインで使うことから、 写真の画質を最優先して EPSON PM800C です。 samba サーバにプリンタポート接続でつなげて写真をつなげてみたところ、 十分なスプール容量がなかったらしく(^^;まあこれはクォータ次第なのかもしれませんが、 写真の印刷が猛烈に遅かったのです。弟のマシンに USB 接続したときとは全然違います。 これでは使い物になりません。せっかく samba サーバを入れたんですが、 ファイルサーバとして使う容量があるわけでもなく、意味が無くなってしまいました(T-T) テキストの印刷だったらまだいけるんでしょうが、サーバマシンのスペックがこんなところで問題になるとは。 市販しているコンパクトなプリントサーバも性能面をよくよく考えないといけないかもしれません。 GOO E-Mail: goo_n@hotmail.com プログラム置き場