1 名前:りさあ [ 2001/02/26(月) 04:20 ID:7I8PBOt. ] 語りません?
294 名前:nobodyさん [02/09/28 21:38 ID:B9guHGNW] 整形してから引っぱり出すんじゃなくて 引っぱり出してから整形してください
295 名前:hmk mailto:sage [02/09/28 21:39 ID:???] よーわからんが、nichijiは本当にtimestamp型になっているのかぇ?
296 名前:ノンノン [02/09/28 21:59 ID:Mv9w8xYv] > よーわからんが、nichijiは本当にtimestamp型になっているのかぇ? それは間違いないです。ハイ。 > 整形してから引っぱり出すんじゃなくて > 引っぱり出してから整形してください あいたたぁ。そういうやり方がありましたね。(なんて私は頭がカタイのか) とすると、取り出したものが $nichiji に入ってるとすると local($nichiji); なんてものを使えば良いのでしょうか?
297 名前:294 じゃないよ mailto:sage [02/09/28 22:17 ID:???] 「引っぱり出してから整形して」というのはたとえば、 EXTRACT(YEAR FROM nichiji) AS nchj_y, ... みたいに SQL を書くという意味ではないかな。ちょっ と手間は増えるけど、漏れはいつもこうしてる。
298 名前:ノンノン [02/09/29 13:23 ID:lz5l3CdA] なるほど、YEAR,MONTH,DAY というように取り出したいデータごとに 実行するということですね。 で、試してみました。 ・・・結果はだめでした。 なので、簡単に select extract(YEAR from TIMESTAMP '2002-09-29') としてやってみました。 ・・・、これもダメでした。PHP を使ってもコマンドラインからも 結果は同じです。どちらも、こういうエラーが出ます。 ERROR: Function 'date_part(text, timestamp)' does not exist Unable to identify a function which satisfies the given argument types You will have to retype your query using explicit typecasts 何が原因なんでしょうか? PostgreSQLのバージョン? ちなみにそのバージョンは、6.5.3 です。
299 名前:297 mailto:sage [02/09/29 13:49 ID:???] >>298 7.0.2 なら select extract(YEAR from TIMESTAMP '2002-09-29') は OK だね。6.5.3 だとダメ。 6.5.3 なら、 select extract(YEAR from DATETIME '2002-09-29') で OK だけど、DATETIME は標準じゃないし、最近は Postgres でも推奨されていないと思う。
300 名前:ノンノン [02/09/29 14:05 ID:lz5l3CdA] やっぱりそうですか。 ということは、to_char でエラーが出るのもパージョンのせいですね。 レンタルサーバなのでどうにもできません。 フィールドのタイプを変えるしかないないですね。 原因が分かっただけでも良かったです。 みなさん、ありがとうございました。 また、何かあれば願いしますね。
301 名前:297 mailto:sage [02/09/29 14:17 ID:???] >>300 date_part 関数使えば、フィールドの型は変えなくて済むと 思われ。でも標準(略
302 名前:やりたいのに mailto:sage [02/10/02 19:31 ID:???] 思い立ってから既に一週間。 PHP+PostgreSQLの勉強をしようと頑張ってますが入り口にすら立てません・・・。 とりあえず簡単なWebアプリケーションを作成しようとしてます。 <Webサーバ環境> Win2KServer + PHP4.2.3 + Cygwin + PostgreSQL7.2.2(Cygwinと共にインストール) pg_connect() を使うと Warning: pg_connect() unable to connect to PostgreSQL server: could not create socket: 要求したプロトコルと互換性がないアドレスを使用しました。 (0x0000273F) が発生して接続ができません。 使い方はどこにでもサンプルで書いてあるような $con = pg_connect("dbname=testdb"); という形なんですが・・・これは PHP の設定なのか PostgreSQL の設定なのか はたまた Cygwin の設定なのか Windows の設定なのか 検討がつきません。 3日悩んだあげく、ODBC経由ならどうよ?と試したらあっさり成功。 # pg_databaseからテーブル一覧取得表示 pg_ほにゃほにゃ系の関数を使う為には何をどう設定すればいいのかひたすら調査中です。 どなたか「おい、ここチェックしたのか」とか思い当たる事項があれば 突っ込んで下さると非常に喜びます(涙)
303 名前:nobodyさん mailto:sage [02/10/03 06:22 ID:???] Apache,PHP4,PostgreSQL7でWEB鯖構築するやり方載ってる本あったからそれでも見れば。onLinuxだったけど。
304 名前:nobodyさん mailto:sage [02/10/03 06:33 ID:???] Windows上でやったことないのでアレだけど、 WindowsってUNIXドメインソケット使えないよね? としたら、PHP<->PostgreSQLの接続はTCP/IP使わなきゃいけないはずなので、 pg_connect("host=localhost dbname=testdb"); みたいにして、あとは PostgreSQL の pg_hba.conf で localhost からの接続の認証してやればいけそうな気がするが。
305 名前:nobodyさん mailto:sage [02/10/03 06:34 ID:???] つーか、エラーメッセージ見れ。 pg_connect()したときにエラーメッセージ出るだろ。
306 名前:nobodyさん mailto:sage [02/10/03 06:38 ID:???] スマソ。俺がカキコ見てなかった…。欝だ氏のう…。
307 名前:やりたいのに mailto:sage [02/10/03 11:24 ID:???] お返事多謝です。非常に喜んでます♪ >>303 その環境で構築する本は一応見てみましたが、どーも・・・。 Cygwin上に更にApache入れる?それともWin用のApache入れるのかなぁとか 昨日ふと思ったりしましたが・・・IISでPHPもPostgreSQLも両方動くのに 意味なさ過ぎだなぁ・・・とか(苦笑) >>304 > としたら、PHP<->PostgreSQLの接続はTCP/IP使わなきゃいけないはずなので、 ですよね。 これに関してですが、わからないなりに調べた結果、以下の点は留意しました。 ・Postmaster起動時に-iオプションを付ける。ポートも指定してみる。 => pg_ctl -w -o "-i -D /usr/share/postgresql/data -p 5432" start ・pg_hba.confの設定をチェック =>以下の設定になっていた。これで問題なし?? local all trust host all 127.0.0.1 255.255.255.255 trust ・postgreSQL側でも接続を有効にしてみる。 =>postgresql.confで以下のように設定 tcpic socket = true port = 5432 > pg_connect("host=localhost dbname=testdb"); なるほど、ローカルホストだぜ!って明示的に指定するわけですね。 早速やってみます!ありがとうございました。
308 名前:nobodyさん mailto:age [02/10/03 19:35 ID:???] 大助かりage
309 名前:nobodyさん [02/10/03 22:37 ID:yBxgrv2T] >>282 バキュームしれ。 7.2.1使って12万レコード/日くらいのトランザクションがあるけど、 結構ディスク占有率がふくれる(溜めるだけではないため)。 数万レコードでも更新が多いならお薦めだ > 使っているdata/base #ちなみに vacuum full 実行10分ちょい > 漏れの仕事環境 vacuume or vacuume full は頼りになるぞ。 そんな漏れん家のサーバは1回/半年で十分だ。数秒で終わる(w
310 名前:307 [02/10/04 14:40 ID:qOvfKv6+] 結果報告〜。 つながりました!Apacheは入れなくてもよかったです。 これまでCygwinを手動で起動して、その上でipc-daemonをサービス起動して 次にpg_ctlでPostmasterを起動して・・・とやってたんですが cygrunsrvというコマンドでPostmasterもサービス登録する手順をみつけ やってみたところ、突然つながりました! 接続は以下のように行いました。ユーザも何もかも指定しました(笑) $con = pg_connect("dbname=testdb host=localhost user=test_user password=test_user"); Postmasterの登録に使用したコマンドは以下のものです(本当は1行です) $ cygrunsrv --install PostgreSQL --path /usr/bin/postmaster --args "-D /usr/share/postgresql/data -i" --dep ipc-daemon --termsig INT --user postgres --shutdown これで、試験サーバを起動してから一々ipc-daemon+Postmasterを手動で 起動する手間もかかりませんし、いい感じです。 ただ・・・Postmasterのみ再起動する方法がわからないんですよね。 pg_hba.confとかその辺を更新した後、サーバごと再起動しないと駄目という 実に非現実的な環境になってしまいました(爆) でもまぁ、大きく一歩前進です。多分何か方法があるんでしょうし 設定とかあるのかもしれません。調べていくことにします。 多謝多謝、多謝です〜!
311 名前:nobodyさん [02/10/06 21:27 ID:Y+aKD2A2] すっごい初歩的な質問ぽいですが…かきこします。 xreaでPostgreSQLつかってるんですが $hst = "localhost"; $db = "ユーザID"; $us = "ユーザID"; $pass = "パスワード"; $conn = pg_connect("host=$hst dbname=$db user=$us password=$pass") or die("接続エラー"); ってやると Warning: pg_connect() unable to connect to PostgreSQL server: PQconnectPoll() -- connect() failed: Connection refused Is the postmaster running (with -i) at 'localhost' and accepting connections on TCP/IP port 5432? っていわれちゃうんだけど、解決方法わからないですか? 自分のパソコン上でやるとできるのですががが。
312 名前:nobodyさん [02/10/07 01:33 ID:hvZZAVT1] >311 まんまやん! -i と一緒に走らせろよ。 pg_ctl stop pg_ctl start -o "-i" だな
313 名前:312 [02/10/07 01:37 ID:hvZZAVT1] 追加 DBが別サーバなら pg_hba.conf の一番下辺りの trust あたりを見る。 んで、適時追加する(アクセスするサーバへの許可)。 ↑の起動オプションの追加やconfの変更が出来ないんならわからん!
314 名前:nobodyさん [02/10/07 08:25 ID:tYSAfVj4] つーか、ApacheとPostgreSQLが同じマシンで走ってるなら、 ふつーはUNIXドメインソケットで接続するんちゃうやろか。 -i オプションつけずに動かして。 なので、「host=$hst」つーのはいらないのでは?
315 名前:312 [02/10/08 00:18 ID:OGtZEEu6] >>314 つ〜か、「自分のパソコン上でやるとできるのですががが。」だそ? 隣のパソコンにつなごうとしてうまくいかないのでは? と思うぞ...ふつ〜は。 っで、隣のパソコンから己(311)のIPがipfwとかipchainsとかから deny|dropされていない事は確かだろうな?(w IPだけじゃなくportも... そんなんされてたら、どうにもできんが(www
316 名前:312 [02/10/08 00:19 ID:OGtZEEu6] をぉ! 隣のパソコン≠localhost ぢゃないか!!(w 逝ってくる...
317 名前:nobodyさん [02/10/09 01:18 ID:LBei1JgW] 質問です。 PHPから、postgresへデータを書き込む時は、どうしたらよいのでしょうか? 今、POSTされたデータを使って、 こんな感じの関数を使って、文字をEUCにして、DBに入れてます でも、うまくいかないんです......動くんだけど 特定の文字の時、 ここから----------------- ――――――――――――――――――――――――――――――――0-5/10― ★GAME -------------ここまで を入れると、0移行がきれてしまって、DBに入るんです... 0移行もいれたい!でも、うまくいかない... なぜ? Function beauty($sSQL) { //文字をEUCにして綺麗にして $sSQL=trim(mb_convert_encoding($sSQL,"EUC","SJIS")); $sSQL=mb_convert_kana($sSQL); //改行キーを綺麗にして $sSQL=str_replace("\r\n", "\n",$sSQL); $sSQL=str_replace("\r", "\n",$sSQL); $sSQL=ereg_replace("^(\n)+|(\n)+$","",$sSQL); //スラッシュを綺麗にして $sSQL=addslashes(stripslashes(stripslashes($sSQL))); //実行 return $sSQL; }
318 名前:nobodyさん [02/10/09 02:48 ID:uMeBQ3Ig] カラムの型なんでしょう?
319 名前:nobodyさん mailto:sage [02/10/09 07:54 ID:???] つーか、なぜ $sSQL を加工する度に echo して調べないのかと小一時間(略
320 名前:nobodyさん mailto:sage [02/10/16 17:38 ID:???] Apache 1.3.22 + PHP 4.2.3 + PostgreSQL 7.2.1 で、 phpPgAdmin 2.4.2 を動かそうとしたんですが、フォーム入力で なぜか先頭の4文字分が消えてしまってSQLクエリが組み立てられず エラーになってしまいます。 PHPは --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex で configure してあり、通常のPHPでのフォーム入力 受け渡しでは問題ないのですが、phpPgAdminのPHPスクリプトが 何か特殊なことをしているのでしょうか?
321 名前:質問ageです [02/10/22 10:45 ID:38ZRylkG] WEB データベースでは 1ページ毎に $db = DB::connect(); $res = $db->query(); $db->disconnect(); とするのが普通なのでしょうか? DB オブジェクト $db をグローバル変数として 他のページでアクセスする方法はあるのでしょうか。
322 名前:nobodyさん mailto:sage [02/10/22 10:47 ID:???] > とするのが普通なのでしょうか? 普通。けど、ココはPHPのスレ。
323 名前:nobodyさん mailto:sage [02/10/22 11:08 ID:???] >>322 ええ。PHPスレと知ってて質問しています。 PHP-4.2.2 を使用してます。 PHPでグローバル変数は扱えるのかな? と思って質問しました。 現在、最初に postgres の user、password を入力させて それを各ページに POST して使い回して connect しているんですが みなさん、このようにして使っているのでしょうか。
324 名前:nobodyさん [02/10/22 12:38 ID:4eylDja6] >>323 session利用して保持すれば?
325 名前:nobodyさん mailto:sage [02/10/22 15:18 ID:???] pgpconnect?
326 名前:321 mailto:sage [02/10/22 16:15 ID:???] >>324 そうですね。 各ページで connect を行う場合はそうします。 ただ、DBオブジェクト(今回は Class のオブジェクト)を グローバル化出来れば便利(早い) だと感じたのですが、 皆さんそのようには作られてないようで... 何か、問題あるのかな? もうちょっと、色々勉強してみます。
327 名前:nobodyさん mailto:sage [02/10/22 16:43 ID:???] >>321 >>325 が自信なさげにつぶやいてるけど www.php.net/manual/ja/features.persistent-connections.php じゃ駄目なのかと?
328 名前:321 mailto:sage [02/10/22 17:21 ID:???] >>327 ごめんです。 別に無視していた訳ではないです。>>325 さん。 今 Class と PEAR を使って色々勉強中でして、 「こんな風に出来ないものか?」と試行錯誤してます。 pg_pconnect は DB::connect( $dsn, TRUE ) で実現 出来るようです。 色々試してみたいと思います。
329 名前:nobodyさん [02/10/22 20:50 ID:bCdHvFBv] >>326 DBへの接続で、パーシステントな香具師が居たかと... 「永続的接続」だっけか? ただし、トランザクションエラーでcommitもrollbackもやってなくて ロック状態に陥る罠。 つ〜か、↑は、デバッグ時にはまった場合の話ね。 きれいになったコードでは問題ないはずだよ。
330 名前:教えて君 mailto:I'mBeginner [02/10/30 20:04 ID:???] 上の永続的とかは関係なくて、 最初にconnectしてから "begin"を宣言しておいた後、 放置してPHP終了した場合って、 "commit"しなかったんだから"rollback"しなくても良いんですよね? pg_closeは省略できるらしいし。 どうなの?
331 名前:330 mailto:I'mBeginner [02/10/30 20:05 ID:???] 要するに"rollback"も省略できるかってことです。
332 名前:nobodyさん [02/10/30 20:11 ID:CX80yU9D] どこが2重カキコなんじゃボケェ! 2重カキコじゃないってば!!>ERRORさん rollbackは今までの作業を捨ててその後で新しく作業するのに使うんですよね? 取消で終了するなら言わなくてもいいっすよね?
333 名前:330 [02/10/30 20:12 ID:CX80yU9D] >>332 俺です(鬱)
334 名前:330 [02/10/30 20:20 ID:CX80yU9D] php.lamphost.net/manual/ja/print/ref.pgsql.php > BEGINで始まり、 そのトランザクションが有効な場合はCOMMITまたは ENDで終わります。 > トランザクションが失敗した場合、 そのトランザクションはROLLBACKまたは ABORTにより閉じる必要があります。 > ラージオブジェクトリソースを閉じる前に接続リソースを閉じないように して下さい。 エラーでこけたらどうなるんすか?
335 名前:329 [02/10/30 21:02 ID:6KbHJvYg] >334さんへ そのつもりで漏れも >ただし、トランザクションエラーでcommitもrollbackもやってなくて >ロック状態に陥る罠。 つ〜て書いてやった訳なんだが、 「早い」事だけを求めてトランザクションのなんたるかを 全く判っていない >>330 には、無駄だったんだと改めてわかったよ。 「永続的接続(パーシステント・コネクト)」と「トランザクション」の共存くらい 勉強&理解して欲しいよなぁ... Oracleだろうが、DB2だろうが、MySQLだろうが、PostgeSQLだろうが、 何れは陥る罠だぞ。 漏れは無視していいが、「永続的接続」と「トランザクション処理」を もう一度根っこから調べてくれ(;´Д`) >> 330 頼む!
336 名前:山崎渉 mailto:(^^)sage [03/01/15 13:47 ID:???] (^^)
337 名前:nobodyさん [03/01/18 03:13 ID:bdZI9lM1] RedHat8.0を入れました。 PHPとPostgreSQLの接続がうまくいきません。 PHPの動作確認はOKでした。 PostgreSQLの方もcreateuserで作成したuserにてpsqlを行えます。 どこかのHPを参考にしてnobodyのユーザーを作り テスト用のphpをたたくと Warning: pg_connect() unable to connect to PostgreSQL server: FATAL 1: IDENT authentication failed for user "ifuku" in /home/test/public_html/test.php on line 14 といったメッセージがでます。 php.iniかpg_hba.confの設定をしないといけないのかな?と思いましたが、 なにか参考になる話を聞かせてくれませんか?
338 名前:337 [03/01/18 03:15 ID:bdZI9lM1] エラーメッセージのうち user の箇所は nobody でやったりと 他のuserを使ったりはしています。
339 名前:nobodyさん mailto:sage [03/01/18 03:35 ID:???] >>337 pg_hba.confだろ。
340 名前:337 mailto:sage [03/01/18 03:49 ID:???] >>339 そうですか 調べてみます。 ありがとうございました。
341 名前:nobodyさん mailto:sage [03/02/26 18:10 ID:???] どうしても2カラムで1キーになるテーブルが多いのですが、 a 102 b 2003 aとbでキー そういう場合は c 1002-2003 というカラムを作った方がいいですか?
342 名前:nobodyさん [03/02/28 12:52 ID:Gr9BwE/o] >>351 勉強し直してきてください
343 名前:nobodyさん [03/02/28 19:20 ID:qSGW/gfl] ☆^〜^★【新着情報追加】 sagatoku.fc2web.com/ あなたの探し物こちらで見つかります
344 名前:nobodyさん [03/03/07 14:00 ID:ZFWCWq3y] PostgreSQL 7.2.3からPostgreSQL7.3.2に変更したところ、 lo_unlinkを使用する箇所でエラーと言われました。 もちろん使用しなければエラーと言われません。 動作的に使用しなくても問題はないように思えます。 同じ症状になった人居ますか? 「環境」 Red Hat Linux 7.2 PostgreSQL7.3.2 php-4.2.3 apache_1.3.27
345 名前:山崎渉 mailto:(^^) [03/03/13 17:07 ID:???] (^^)
346 名前:nobodyさん [03/03/17 18:15 ID:RRSo0s2u] 新しく更新されたデータから10件のデータをテーブルから 引っ張ってくる場合、 SELECT * FROM テーブル名 LIMIT 10 OFFSET (最終行数 - 10) になると思うんすけど、この最終行数ってどうやって求めるのか? $sql = "SELECT * FROM テーブル名"; $db = pg_exec($sql); $maxnum = pg_numrows($db); で、いの? いや、ダメだろうなぁ。なんかもったいないし?
347 名前:nobodyさん [03/03/17 18:57 ID:UoxJY4S2] >>346 昇順になってるカラムはないの。 あればそのカラムで逆順にソートして最初の10行を取得する。
348 名前:nobodyさん [03/03/17 19:34 ID:RRSo0s2u] >昇順になってるカラムはないの。 あります。 >あればそのカラムで逆順にソートして最初の10行を取得する。 なるほどぉ。。。。と言いつつ良くわかってない初心者です。 ORDER BYっての使うのか?。 要はページに最新のデータから10件ずつ表示させていくヤツが 作りたいのです。
349 名前:346/348 [03/03/17 20:14 ID:RRSo0s2u] 出来ますた。 SELECT * FROM テーブル名 ORDER BY (昇順カラム) DESC LIMIT 10 OFFSET 0 ですね。サンクスです。
350 名前:346 [03/03/18 12:18 ID:frl1VUIP] でも、テーブルの総行数を調べたい事ってあると思うんだけど そん時は莫大なメモリを食いそうな(あくまで漏れの稚拙なイ メージなんだけど) $sql = "SELECT * FROM テーブル名"; $db = pg_exec($sql); $maxnum = pg_numrows($db); なんて事をせにゃならんのだろうか? あと、JOINってどんな時に使うの?
351 名前:nobodyさん mailto:sage [03/03/18 12:30 ID:???] >>350 count() 使え。 SQL の基礎について解説した本か、シーラカンス本買った方が良いよ。
352 名前:346 [03/03/18 14:44 ID:frl1VUIP] >>351 サンクスでし。 SELECT COUNT(カラム名) FROM テーブル名 でしね。できますた。 シーラカンス本もマンモス本も持ってます。しかし、まだ敷居が 高すぎます。COUNTについて書いてあるのなんて1ページのほんの 少しでし。 JOINわかんねぇ。つまりテーブルを結合しる・・・と。 ブツブツ・・・。
353 名前:nobodyさん [03/03/18 16:07 ID:iRf6zAa0] 足が短いと、どんな敷居も高く見える
354 名前:346 mailto:sage [03/03/18 17:11 ID:???] >>353 なるほど。うまい。 『SQL Webデータベース/独習テキスト完全図解』\2800-すばる舎を 買ってきますた。出なおします。
355 名前:nobodyさん mailto:sage [03/03/22 15:32 ID:???] こんちわっす、2ch学園web板幼稚園の質問ですけど 教えて下さい。たのんまっす! no int, hougaku varchar テーブル名 hoge no|hougaku --|------ 10|higasi 20|nisi 30|minami 40|kita こんなテーブルがあったとします。 $houi = "kita"←仮にテーブルにある文字を設定します。 $sql = "select hougaku from hoge where hougaku = 'houi' ;"; $result = pg_query($sql) ; if num_rows($result) !=1{ print ("そんな方角はありません。") ; } ここまで、$houi に代入された文字がテーブルに有るか無いか分かると思います もしここで正しく$houiにkitaという文字がセットされたとしたら noの40という数字が導きたいのだがどうしたらいいかわかりません、 続きのプログラムはどう書いていいのか分かりません、教えて下さい。
356 名前:gn355my0 mailto:sage [03/03/22 15:47 ID:???] select no,hougaku from 〜 じゃダメなん?
357 名前:nobodyさん [03/03/22 15:59 ID:jxh1CrBX] こんな過疎スレをsageで質問しても気付く人そういねぇんじゃぁ。 とりあえず、$が抜けている。 $sql = "select hougaku from hoge where hougaku = '$houi' ;"; で、noも取得するなら、 $sql = "select no,hougaku from hoge where hougaku = '$houi' ;"; あとは、 $result = pg_query($sql) ; if num_rows($result) !=1{ print ("そんな方角はありません。") ; }else{ $arr=pg_fetch_array($result); echo $arr["no"]; となる。 その後、何をやりたいのかわからんので、適当に追加したのだが、 これだけのことなら無駄が多いよ。
358 名前:357 ◆Kiss.FX29M mailto:sage [03/03/22 16:02 ID:???] うひゃ、ageてもた。 >>356 noの取得が目的なら、 select no from 〜 で、いいよねぇ。
359 名前:nobodyさん mailto:sage [03/03/22 16:22 ID:???] >357 できましたありがとう
360 名前:nobodyさん [03/03/25 22:15 ID:8MjhOhZv] perlでDBD::Pg使ってました。 結果を変数にぶち込みたいんだけど $結果 = $db->selectrow_array("SQL文"); みたいに1行で片付けたい。 PHPだとどうすればいいんかな? 良くわからんのでとりあえず $rs = pg_query($con, "SQL文"); $結果 = pg_fetch_result($rs,0,0); にしてるんだけど何か変な気がするし。 昨日PHPはじめた漏れに誰か教えてクレイ。
361 名前:nobodyさん mailto:sage [03/03/26 01:04 ID:???] >>360 PEARのDB使え。 ttp://pear.php.net/manual/en/core.db.php
362 名前:nobodyさん [03/03/26 18:48 ID:+smbNkro] 複数のファイルの値をひらいて 1回の起動で1ファイルに1回その値をINSERT INTOで データベースに流し込んで それを複数回繰り返しているPHPがあるんだけど なんかメモリが急に100%になってすまう?
363 名前:nobodyさん mailto:sage [03/03/27 13:31 ID:???] >>362 メモリが100%になるってなんだよ。今まで半分しか使ってなかった メモリがやっと100%使えるようになったって意味か?よかったな。 で、その100%って何を見て確認したの?
364 名前:362 [03/03/28 11:54 ID:PjWv+k5d] >で、その100%って何を見て確認したの? phpsysinfoってPHPなんすけど。見やすいのでコレで確認すてます。 phpsysinfo.sourceforge.net/ ひどくなってくるとスワップまで食い尽くしてメモリオーバーになっちゃう。 しょうがないのでリブート(まだローカルのテストなんでいいけど・・)。 なんか違う方法を考えよう。 CSVのデータを大量にDBに追加する時って何でやってますか?。皆様は?
365 名前:362 mailto:sage [03/03/28 12:08 ID:???] ああ。COPYですればいいかぁ。 でも、COPYだと一度ファイルに落とさなきゃならないかぁ。 ブツブツ独り言でし。sage
366 名前:nobodyさん mailto:sage [03/03/28 15:33 ID:???] >>365 何が問題なんだかよくわからんが、とりあえずLinuxなら www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html でも見れ。
367 名前:362 mailto:sage [03/03/28 16:41 ID:???] >>366 おお、すばらすいページだ。こんなん探してますた。 サンクスでし。 なるほどぉ、LINUXのメモリ管理ってのはこうなってたのか。 勉強になりますた。
368 名前:nobodyさん [03/04/16 18:58 ID:0S8YCSoo] PHP4+PostgreSQLで、新しくWEBを作る時、 最近ではPEARとPHPlibはどっちがお勧めでしょう? 気分的には新しいPHP4標準?のPEARがいいような 気がするんだけど、PHPlibの方がなんとなく使い勝手が よいような気がするんですが・・・。 それと、どちらも詳しいリファレンスが乗ってる書籍とか あったら教えてください。
369 名前:nobodyさん [03/04/16 21:12 ID:RoExleB5] 6.xインスコしてある鯖使ったんだけど、 「JOINはまだ実装されていません」と言われてがーん 最新版にアップデートしたら、 「datetimeって型はありません」 といわれ、コードをすべて書き直した。 あーめんどくさ
370 名前:nobodyさん mailto:sage [03/04/17 01:15 ID:???] >>368 最近はPEARしか使ってないなぁ ところでphplibってまだメンテされてるの?
371 名前:368 mailto:age [03/04/17 09:56 ID:???] >370 PHPlibはここに↓2003年1月13日のバージョンがあるようです。 https://sourceforge.net/projects/phplib/ メンテされてるかは不明・・・。 手元にある「PHP×PostgreSQLで作る最強Webシステム」 (2003年1月9日初版:石井達夫著)の本には、 PEARは発展中のシステムで、ドキュメントもまだまだ整備が必要 (logout(),listUser()・・・などの関数はその存在すら記載されてない) と書いてあるんです。PHPlibのマニュアルよりは読みやすいですけど。 PHP5がでるかもしれないっていうときに、PHP3の物を使い始めるっていうのも どうかと思うが、PHPlibの方が当面は使い勝手がよいなら、こっちの選択も アリかな、、、と迷ってる次第です。。。 それぞれ使ってる方の意見なぞ、きけるとうれしいです。
372 名前:山崎渉 mailto:(^^) [03/04/17 11:57 ID:???] (^^)
373 名前:nobodyさん [03/04/17 23:31 ID:38lUA/N9] php_pgsql.dll下さい。 何処に落ちてますか。
374 名前:373 mailto:sage [03/04/17 23:37 ID:???] やっぱり今のは無かったことに。
375 名前:佐々木健介 mailto:sage [03/04/18 00:19 ID:???] ______ /_ | /. \ ̄ ̄ ̄ ̄| / / ― ― | | / - - | ||| (5 > | | | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | | | ┃─┃| < こんなサイトを見つけた || | | | \ ┃ ┃/ \ 正直、スマンカッタ | || | |  ̄ \_________ freeweb2.kakiko.com/mona/
376 名前:動画直リン [03/04/18 00:26 ID:s9K3wIjP] www.agemasukudasai.com/movie/
377 名前:nobodyさん mailto:sage [03/04/19 16:04 ID:???] あのさ、例えば従業員の名前やら住所やらが入ってる データベースをブラウザから管理出来るようなシステム をPostgresQL + PHPで作るとしますよね。 従業員の数が多い場合は複数のページに分割して表示 するような形になると思うけど、例えば従業員が82人 いて、1ページに10人ずつ表示するとすると、メイン ページに[1ページ目][2ページ目]..[9ページ目]みたい なリンクを表示させます。で、この[9ページ目]までと いうのを計算するのに普通はどういう処理をするので しょうか? 自分はわざわざ $sql = "SELECT * FROM hoge; $rec = pg_query($conn,$sql); $line = pg_num_rows($rec); としてるんですが、なんだか非効率な気がします。。
378 名前:nobodyさん mailto:sage [03/04/19 16:17 ID:???] LIMIT と OFFSET を使う。
379 名前:nobodyさん mailto:sage [03/04/19 16:48 ID:???] >>378 各ページを表示させるときはそうなんですけど、全件数が分からないと 各ページへのリンクを表示させるところでどう処理すればいいのかな と思ったんです。
380 名前:gn355my0 mailto:sage [03/04/19 17:58 ID:???] count()
381 名前:名無しさん@Emacs mailto:sage [03/04/19 19:09 ID:???] >379 100件表示するページなら、LIMIT 101とする。 100件(以下)が返ってきたら次のページは無い。 101件返ってきたら次のページに続く。 当然、表示するのは100件までよ。
382 名前:名無しさん@Emacs mailto:sage [03/04/19 19:10 ID:???] ちなみに、全件数を知りたいなら、INSERTやDELETEにトリガを仕込んで カウンタを別に持つ方が無難。更新の少ないシステムならね。
383 名前:nobodyさん [03/04/19 22:19 ID:3QKaD4h9] timestamp型をepoch秒で返す関数ってありませんか?
384 名前:山崎渉 mailto:(^^)sage [03/04/20 05:58 ID:???] ∧_∧ ( ^^ )< ぬるぽ(^^)
385 名前:nobodyさん [03/04/20 07:17 ID:JR0rvjcu] このスレ今日はじめて見ましたが、実務経験豊富な方が 大勢住んでいらっしゃるようですね。 スレ違いかもしれませんが、PHP+PostgreSQLのシステム なので質問させてください。 100画面程度の業務WEBアプリを作ろうとしています。 私がDBと画面仕様を書いて業者2人にPHPで コーディングを担当してもらう予定です。 そこで質問ですが、WEBアプリの画面設計仕様書には、 どんな項目を書くべきでしょうか? 画面に表示する項目はもちろんですが、POSTやGETで渡される パラメータ、デザイナに引き渡すテンプレート変数、画面間で 引き渡すセッション変数、それらをアンレジストするタイミング、 などなど、どのように仕様書にまとめたらいいのでしょう?
386 名前:名無しさん@Emacs mailto:sage [03/04/20 12:54 ID:???] >377 それから、カウントするために SELECT * FROM hoge; すると、すべてのカラムが返されてくるので非効率的(ネットワーク的にも)。 数を数えるなら、どこかひとつのカラムだけにするか、 SELECT COUNT(*) FROM hoge; として、バックエンドに数えさせるべき。
387 名前:nobodyさん mailto:sage [03/04/20 15:04 ID:???] >>386 レスサンクスです。とりあえずその方法に変更しておきました。 >>382 の方法ってのは、カウンタ用のテーブルを作成しておいて 他のテーブルが更新された時にそのカウンタを更新するよう にトリガを仕込むってことですよね?更新頻度が多いと>>386 のほうが効率よいですか?
388 名前:nobodyさん mailto:sage [03/04/20 15:34 ID:???] >>387 自己レスですけどUPDATEは頻繁に行われるがINSERTと DELETEはあまりないので、トリガ仕込んでみようと 思います。
389 名前:nobodyさん [03/04/20 23:37 ID:xyBrUgxr] Win2000proでPostgreSQLのインストール設定を誰か教えてください。 いまのところ、Cygwinをインストールし、Postgresql・cygipcを解凍した とこまでしかできません。そのあとの設定がうまくいかず困っています。 usr/local/src/postgresql-7.3の ./configureコマンド入力後、 checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking which template to use... win checking whether to build with 64-bit integer date/time support... no checking whether to build with recode support... no checking whether NLS is wanted... no checking for default port number... 5432 checking for default soft limit on number of connections... 32 checking for gcc... no checking for cc... no configure: error: no acceptable C compiler found in $PATH と表示されます。ここからがわかりません。 どうか教えてください。
390 名前:_ mailto:sage [03/04/20 23:38 ID:???] ( ´∀`)/< 先生!!こんなのを見つけました。 web2001.kakiko.com/koma/hankaku/hankaku07.html www.web2001.kakiko.com/koma/hankaku/hankaku08.html web2001.kakiko.com/koma/hankaku/hankaku10.html www.web2001.kakiko.com/koma/hankaku/hankaku09.html web2001.kakiko.com/koma/hankaku/hankaku06.html www.web2001.kakiko.com/koma/hankaku/hankaku05.html web2001.kakiko.com/koma/hankaku/hankaku01.html www.web2001.kakiko.com/koma/hankaku/hankaku02.html web2001.kakiko.com/koma/hankaku/hankaku03.html www.web2001.kakiko.com/koma/hankaku/hankaku04.html
391 名前:nobodyさん mailto:sage [03/04/20 23:48 ID:???] configure: error: no acceptable C compiler found in $PATH エラーの内容が分かんないようだと、Win nativeなヤツを使うほうがいいかと。
392 名前:nobodyさん mailto:sage [03/04/23 10:59 ID:???] 全件数をカウントする関数を作りたいんですけど、 今 employee1,employee2 というテーブルがあります。 次に counter というテーブルを作成して、そこに employee1,employee2という列を定義し、ここに全件数 をカウントした数字を入力したいと思ってます。 CREATE FUNCTION count_table(text) RETURNS integer AS ' DECLARE counters integer; BEGIN counters := SELECT COUNT(*) FROM $1; UPDATE counter SET $1 = counters; return counter; END; ' LANGUAGE 'plpgsql'; というふうに関数を定義して、select count_table('employee1') を実行すると ERROR: parser: parse error at or near "SELECT" at character 9 と怒られます。どう修正したらよいでしょうか?
393 名前:ななし mailto:sage [03/04/23 19:12 ID:???] >392 SELECT INTO
394 名前:nobodyさん mailto:sage [03/04/24 09:51 ID:???] >>393 SELECT INTO counters COUNT(*) FROM $1; でいけますた。ありがとう。