SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

PostgreSQL 編3 - ipc-daemon 起動、PostgreSQL 起動、psql 起動、ipgsql

■ipc-daemon 起動、終了

  ・どうも最初に ipc-daemon を起動しないと PostgreSQL が起動できない。
    次のようにバックグランドとして起動する。
    尚、「ipc-daemon -q &」とすると、メッセージボックスは表示されない。

ipc-daemon &

    いろいろやってみたが ipc-daemon の止め方がわからない。
    ps で、PID を調べて kill PID で落として良いのだろうか。(^^;

ps

    PID TTY     STIME COMMAND
   1000  -1  15:14:39 /CYGWIN~1/H-I586~1/bin/bash.exe
   1005  -1  15:16:49 /usr/local/bin/ipc-daemon.exe
   1006  -1  15:16:52 /CYGWIN~1/H-I586~1/bin/ps.exe

kill 1005

■PostgreSQL 起動、終了

  ・PostgreSQL の起動は、次のようにする。
    「pg_ctl start」で起動すると、「pg_ctl stop」でうまく終われず、
    kill もできない。(バラメタは、start、stop、restart、status がある。)

postmaster -i &

    これまた、PostgreSQL の終了がうまくできない。
    またまた強制終了かな。
    うまくコミットされるのか実に不安。(^^;
    とりあえず、この組み合わせで何度も起動、終了はできた。

ps

    PID TTY     STIME COMMAND
   1000  -1  15:14:39 /CYGWIN~1/H-I586~1/bin/bash.exe
   1647  -1  16:04:22 /usr/local/bin/ipc-daemon.exe
   1648  -1  16:04:56 /usr/local/pgsql/bin/postgres.exe
   1651  -1  16:05:57 /CYGWIN~1/H-I586~1/bin/ps.exe

kill 1648

  ・PostgreSQL の消費メモリは実に小さい。テストデータしかない関係かもし
    れないが、Oracle9i がサービスで 300MB もメモリを消費するのに比較する
    と、PostgreSQL は、25MB 程度しかサービスで消費していない。
    OS 部分と含めても 180MB 程度である。(Windows2000、Cygwin 2.05b)
    (メモリ消費的には、PostgreSQL 7.2.3 も 7.0.2 も大差はない。)
    テーブルやレコード数によって、動的にメモリの消費量が増える可能性は
    あるが、256MB の実装メモリがあれば、そこそこ快適に動作しそうに思う。
    (Oracle9i は、512MB 以上の実装メモリが必要である。)

  ・PostgreSQL のレイポンスであるが、UNIX 系でなく Windows2000 でサービ
    スした場合、どうなのか気になって更新レスポンステストを実施した。
    結果は、次のとおりである。

    -- 10,000 件のレコード追加 (5 レコード 1 トランザクション * 2000 回)
    -- CPU Pentium4 - 2GHz、MEM 1GB、HDD 200GB(ATA-RAID0)
    -- OS Windows2000

       PostgreSQL 7.0.2 - 82 秒 VB6 ADO ODBC PostgreSQL
       PostgreSQL 7.2.3 - 44 秒 VB6 ADO ODBC PostgreSQL
       Oracle9i         - 17 秒 VB6 ADO ODBC Microsoft ODBC for Oracle
       Oracle9i         - 21 秒 VB6 ADO ODBC Oracle in OraHome90
       Oracle9i         - 10 秒 VB6 oo4o

       PostgreSQL 7.2.3 - 41 秒 JAVA Servlet JDBC pgjdbc2.jar
       Oracle9i         - 18 秒 JAVA Servlet JDBC classes12.jar

       ** 10,000 レコード 1 トランザクションにすると、どれも 4 倍ぐらい
          高速になると推察する。

    Oracle9i がメモリにものを言わせて超高速ではある。
    特に oo4o アクセスは、抜群に速かった。
    同じ Oracle ODBC ドライバでも Oracle 提供のものより、Microsoft 提供
    のドライバの方が高速である。
    ADO で比較すると、Oracle9i の 1 / 3 の性能を PostgreSQL 7.2.3 は出し
    ている。(UNIX API エミュレーションで、ある程度速度低下していると思う。)
    Oracle の以前のバージョンは 9i ほどのパフォーマンスがなかったように
    体感しているので、Windows サービスでの PostgreSQL 7.2.3 もそこそこ
    実用になりそう。(安定性もありそうに感じる。)
    ただ、大量のレコードを扱う場合、やはり、PostgreSQL は UNIX 系サーバ
    でサービスした方が良いかと思う。
    尚、PostgreSQL 7.2.3 は、7.0.2 の 2 倍のパフォーマンスがある。
    DB の持ち方もかなり変わっており、速さ的にも比較的新しいバージョンを
    使用した方が良さそうである。

    JDBC と ODBC でのアクセス差は、ほとんどないようである。
    PostgreSQL 7.2.3 については、わずかではあるが JDBC アクセスの方が速い。

■psql 起動、終了

  ・psql は、Oracle の SQL*Plus と同等である。
    (Cygwin 2.05b と less290i.tgz で psql での select 日本語表示可能。)
    次のように起動する。

psql -h sak-design template1
     |             |_ dbname [username]
     |_ hostname or IP

    終了は、次のように入力する。

\q

    尚、select 等の問い合わせ後の待ちを抜けるのは、「q」キーを押す。
    (最近のバージョンでは、多量のレコード問い合わせ以外は待ち合わせ
    しないようになっている。)

■Interactive PostgreSQL(ipgsql) インストール

  ・Windows 用の GUI SQL ツール(ipgsql-1.6.2.zip) を見つけた。
    (最近の PostgreSQL バージョンでは、使用できない。)
    解凍し、libpq.dll を Windows2000 では、system32 ディリクトリに移動す
    る。他のファイルは、C:/cygnus/ipgsql/ipgsql.exe となるように移動する。
    ipgsql.exe のショートカットを作成し、Windows から起動する。
    尚、当然であるが、PostgreSQL のサービスを起動しておかないと接続でき
    ない。

  ・簡単に試した見た感じ、psql より使いやすい。
    テーブル一覧もツールアイコンで表示できる。
    ただ、日本語データが入力できない。
    化け化けである。(^◇^;)
    何か設定がないものだろうか。
    日本語に対応できない可能性は高い。(^^;
    尚、表示は化けるが、psql と同様に日本語 EUC で書いたテキストファイル
    を実行させると日本語も処理はできる。

■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK