[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 07/23 13:23 / Filesize : 258 KB / Number-of Response : 780
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PHP + PostgreSQL



1 名前:りさあ [ 2001/02/26(月) 04:20 ID:7I8PBOt. ]
語りません?

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;
でいけますた。ありがとう。

395 名前:nobodyさん mailto:sage [03/04/24 10:45 ID:???]
CREATE TABLE temp(
id text,
name text);

CREATE TABLE temp_counter(
temp integer);

CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
DECLARE
counters integer;
BEGIN
SELECT INTO counters COUNT(*) FROM TG_ARGV[0];
UPDATE temp_counter SET TG_ARGV[0] = counters;
END;
' LANGUAGE 'plpgsql';

CREATE TRIGGER temp_trigger
AFTER INSERT OR DELETE
ON temp
FOR EACH ROW
EXECUTE PROCEDURE temp_counter('temp');

INSERT INTO temp VALUES ('hoge','moga');
とすると
WARNING: Error occurred while executing PL/pgSQL function temp_counter
WARNING: line 4 at select into variables
ERROR: parser: parse error at or near "$1" at character 24
というエラーが出てしまうんですが。。なんでですか?
質問ばっかですみません。


396 名前:しろ mailto:sage [03/04/24 17:40 ID:???]
テーブル名指定したいなら、引数じゃなくてTG_RELNAMEが使えると思うけど?
TG_RELNAMEはname型だけどね。

それと気になるのがtempというテーブル名。

何がやりたいのかよくわからないが、tempは一時テーブルの名前なんだけど
わかってますか?セッションが終わると自動的に削除されちゃうけどいいの?

マニュアル読んだほうがいいよ?ここ↓
www.postgresql.jp/document/pg721doc/index.html
functionはここ↓
www.postgresql.jp/document/pg721doc/programmer/plpgsql.html
結構判りやすいと思うんだけど・・・。


397 名前:しろ mailto:sage [03/04/24 17:41 ID:???]
396は395のレスです。スマソ



398 名前:nobodyさん mailto:sage [03/04/24 20:13 ID:???]
>>396
マニュアルは一通り目を通しました。あとtempというテーブル名
は例にあげただけで実際は違う名前です。まぎらわしくてすみま
せん。関数の部分を下記のように変更しました。

SELECT INTO counters COUNT(*) FROM TG_RELNAME;
UPDATE temp_counter SET TG_RELNAME = counters;

でもやはり insert するときに
WARNING: Error occurred while executing PL/pgSQL function temp_counter
WARNING: line 4 at select into variables
ERROR: parser: parse error at or near "$1" at character 24
というエラーが出てしまいます。そもそも"$1"なんて使ってない
んですが。。

399 名前:しろ mailto:sage [03/04/25 11:17 ID:???]
>398
> あとtempというテーブル名は例にあげただけで実際は違う名前です。
> まぎらわしくてすみません。

という事は、name,とかidとかいったフィールド名も使ってないわけですか?
ホントに紛らわしいです・・・。

> マニュアルは一通り目を通しました。
・・・
> そもそも"$1"なんて使ってないんですが。。

もう一度じっくり読んだほうがいいと思います。

$1については下記に書いてあります↓
www.postgresql.jp/document/pg721doc/programmer/plpgsql-declarations.html
要するにトリガで指定している引数の部分を指してると思います。

トリガファンクションについても、もう一度よく読んだほうが良いです。
RETURN とか EXECUTE とか。

もう一つ、これは別の方法ですが、SELECT INTO使わなくても、
カウント数はサブクエリを使えば一つのクエリで済むと思います。
 例:UPDATE テーブル名 SET 列名 = (SELECT COUNT(*) FROM テーブル名);

では頑張ってください。


400 名前:nobodyさん mailto:sage [03/04/25 22:48 ID:???]
>>399
レスどうもです。あと一歩というとこまでなんとかこぎつけました。
CREATE TRIGGER my_trigger
AFTER INSERT OR DELETE
ON my_table
FOR EACH ROW
EXECUTE PROCEDURE my_counter();

CREATE FUNCTION my_counter() RETURNS OPAQUE AS '
BEGIN
UPDATE my_counter_table SET my_table = (SELECT COUNT(*) FROM my_table);
RETURN NULL;
END;
' LANGUAGE 'plpgsql';

とすることで成功しました。
で、本当にやりたいことなんですが

401 名前:nobodyさん mailto:sage [03/04/25 22:56 ID:???]
my_counter_tableというテーブルで複数のテーブルの全件数を
管理したいのです。たとえば'hoge','moga','2ch'というテーブル
の全件数を管理したい場合、my_counter_tableに'hoge','moga','2ch'
という列を定義して、そこに全件数を記録する感じです。
そのあと各テーブルにトリガを作成して同じ関数を呼び出します。
そのときに関数を
UPDATE my_counter_table SET TG_RELNAME = (SELECT COUNT(*) FROM TG_RELNAME);
のようにすれば1つの関数を定義するだけで済むかなと思った
んです。でも上記のようにするとINSERTを実行する時に
ERROR: parser: parse error at or near "$1" at character 26
というエラーが出てしまうのです。トリガを
EXECUTE PROCEDURE my_counter('hoge');
のように定義して、関数を
UPDATE my_counter_table SET TG_ARGV[0] = (SELECT COUNT(*) FROM TG_ARGV[0]);
としても同じエラーが出ます。こういうふうには使えないの?

402 名前:nobodyさん mailto:sage [03/04/26 00:58 ID:???]
動的問い合わせには EXECUTE を使え。
いま環境ないからてきとうだけど、

EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)

でどうよ。

ttp://www.postgresql.jp/document/pg721doc/programmer/plpgsql-statements.html
23.5.4. 動的問い合わせの実行

も見れ。

403 名前:nobodyさん mailto:sage [03/04/26 12:05 ID:???]
>>402
CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
BEGIN
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)''
|| '';
RETURN NULL;
END;
' LANGUAGE 'plpgsql';
こうしてみたんですが
parser: parse error at or near "'
|| '" at character 110
というエラーが出ます。
シングルクォーテーションは '' で表す。
テーブル名や列名は quote_ident 関数に通さないといけない。
ということなので上記の文は
UPDATE my_counter_table SET 'hoge' = (SELECT COUNT(*) FROM 'hoge'
という文字列を実行するってことですよね?
||の意味がよく分からないので、そこに問題がある
気がします。ドキュメントを読んでもダメでした。
||はどういう意味なんですか?

404 名前:nobodyさん mailto:sage [03/04/26 18:37 ID:???]
>>395
「業者2人」がたいへんそうですね

405 名前:402 mailto:sage [03/04/27 21:51 ID:???]
>>403
最後のほうが微妙にちがうかも?

CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
BEGIN
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)
|| '')'';
RETURN NULL;
END;
' LANGUAGE 'plpgsql';

|| は文字列の結合です。

406 名前:nobodyさん mailto:sage [03/04/27 23:08 ID:???]
>>405
上手くいきますた!
長年の夢が叶った感じです。どうもありがとう。

407 名前:nobodyさん mailto:sage [03/04/29 11:51 ID:???]
ttp://itb-tech.itboost.co.jp/php/php_12.php
PostgreSQLでセッション変数管理したいな
と思ってたんですけど、ここ見たらmysql
の方がいいかなと思ってしまいました。
みなさんはどうしてます?



408 名前:nobodyさん mailto:sage [03/04/29 13:04 ID:???]
>>407
対象pgsqlのバージョンが古そうだな。今は稼動しながらvacuumできる。
ま、セッション管理のためだけなら、軽いと言われるMysqlの方がいいかもね。


409 名前:nobodyさん mailto:sage [03/04/29 16:42 ID:???]
>>408
今はPostgreSQLだけ導入しててセッション管理は/tmpでしてます。
セッション管理のためだけにmysql導入するの躊躇してましたが
稼働しながらvacuum出来るならちょっと試してみます。レスどうも
です。

410 名前:nobodyさん [03/05/07 16:15 ID:o2l25maR]
文字コードに関連して教えて下さい。
レンタルサーバー上で動くPHP+PostgreSQLのプログラムを書く際、
Windows上のEditorは何が便利でしょうか?
その文字コードは、EUCで書いておけば問題無いでしょうか。
秀丸やWZだとソースの読み込み時に一々EUCを選択しないと
いけないのですが、使い方がおかしいでしょうか。

あと、参考書を見ると
mbstring.http_input
mbstring.http_output
の設定等が書いて有りますが、レンタルサーバーを使う場合は
特に気にせずEUCで書いておけば、httpでのやりとりやブラウザ表示
は特に問題は起きないと思えば良いですか?

取りあえず簡単にレンタルサーバーからPHP+Postgreで文字を
書き出して、IEで見たところ正しく表示されてるようでした。


411 名前:しろ mailto:sage [03/05/07 16:30 ID:???]
>410
秀丸とPeggy Proつかってまつ。

> 秀丸やWZだとソースの読み込み時に一々EUCを選択しないと
> いけないのですが、使い方がおかしいでしょうか。

自分もこれ面倒だったんで、以下のようにしました。

PHPファイルの関連付けの設定で
OPENの「アクションを実行するアプリケーション」の箇所に
/fe
を入れてやると、PHPファイルだったらEUCで開くようになります。
 ex.C:\Hidemaru\Hidemaru.exe /fe %1

他にももっとマシなやりかたあるかもしれないけど。

412 名前:nobodyさん mailto:sage [03/05/07 17:04 ID:???]
「その他」「動作環境」「編集」「文字コードの自動認識をする」「詳細」

413 名前:410 [03/05/07 19:15 ID:o2l25maR]
>>411,>>412さん、ありがとうございます。
なるほど、出来ました。
それから、Peggy Proってのを探して使ってみました。
これいいですね。411さんはどっちを使ってますか?

414 名前:nobodyさん [03/05/07 19:34 ID:n2ggMpEP]
どうすりゃいいの?
      /        /       |    ヽ           \
 ∧ ∧/         /      |     ヽ          ∧\∧
( / ⌒ヽ        /         |       ヽ         ( / ⌒ヽ
 | |   |         /         |      ヽ           | |   |
 ∪ / ノ         /        |        ヽ         ∪ / ノ
  | ||   ミ    /            |           ヽ       / / /
  ヽ_)_)     ∧/∧         |        ∧ヽ∧  彡  しl_ノ
        ( / ⌒ヽ        |        ( / ⌒ヽ
         | |   |  ミ   ∧ |∧  彡    | |   |
         ∪ / ノ     ( / ⌒ヽ        ∪ / ノ
          | ||        | |   |         / / /
          ヽ_)_)      ∪ / ノ        しl_ノ
                   | ||
                   ∪∪
日本ロジテム(一部上場、みずほの融資先)の
子会社せいも素(みずほの融資先)でサービス残業の過労による自殺者が出た。
www.samos.co.jp
society.2ch.net/test/read.cgi/traf/1046749189/l50
tmp.2ch.net/test/read.cgi/company/1046775680/l50

415 名前:しろ mailto:sage [03/05/07 19:44 ID:???]
>413
「どっち」とは??
使っているのは「秀丸とPeggy Pro」です。

秀丸と、Peggy Proは適当に使い分けしてて、大体両方起動してます。
Peggy Proか、Peggyかきいてるなら、使ってるのはPeggy Proです。

Peggy Proはシェアだけど、他の色んな言語に対応してるし、
高機能なので結構重宝してまつ。

416 名前:nobodyさん [03/05/07 19:48 ID:JylB+nG2]
●貴方に代って恨み晴らします● 【復讐・特殊業務】
--------●○●別れさせ屋●復讐代行業務●○●----------
●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★ www.blacklist.jp/i
別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□
   www.blacklist.jp/i
【注意】ジャンプしない場合はURLをコピーしてファイルから開いて下さい●○● www.blacklist.jp/
--------------------------
◆リンク◆復讐現場密着24時◆ www.123456789.jp/


417 名前:413 mailto:sage [03/05/07 23:41 ID:???]
>>415しろさん、遅レスすみません。
Peggy Proが便利そうなんで、PHPソース書きなら秀丸の出番が
無いかなと思ったもので、、、、聞いてみました。



418 名前:nobody [03/05/08 04:11 ID:NOzEFrdh]
PostgreSQLを使ってみようかと思っています。Webで少しだけかじってみたの
ですが、Apache+PHPと一緒に利用する際は、Apacheのインストール>Postgre
のインストール>PHPのインストール(configureするときにPostgreを明示)
としますよね。

ApacheがSuexec付きのnobodyで動いています。(--suexec-docroot=/home 付
きでconfigure)
/home/hoge以下をhoge.comで運用する、といった場合Postgreを走らせるユー
ザーをhogeとして
# chown -R hoge /usr/local/pgsql/
して
# /usr/local/pgsql/bin/createuser --createdb --no-adduser nobody
とすればいいのでしょうか?それともPostgreを走らせるユーザーはpostgre等として別に作るべきでしょうか。
apacheのユーザーとPostgreのユーザーの関係がどうもわからないのです。

また、この辺りの基礎が分かってApacheのことも書いてあるお勧めの本がありましたら是非教えて下さい。

419 名前:動画直リン [03/05/08 05:10 ID:R/vnapw0]
homepage.mac.com/hitomi18/

420 名前:しろ mailto:sage [03/05/08 10:24 ID:???]
>417
Peggy Pro一本でも全然問題ないと思いますよ。好みの問題ですね。
自分は単に秀丸にマクロ入れてるのがあるので
それ使う時だけ秀丸使ったりとかです。

>418
PostgreSQLの管理用のユーザは別に必要。

Windows用だけど
 「はじめてのPostgreSQLプログラミング」
判りやすかったです。それとか、
 「PHP×PostgreSQLで作る最強Webシステム」
こちらの方が少しレベルが上かも知れませんが
とても参考になりました。

あとは「PHP4徹底攻略」あたりかな。
赤マンモスの方はPDFにもなってる↓
www.net-newbie.com/support/


421 名前:418 [03/05/09 18:21 ID:STzTzCJD]
>>420
早速本屋に逝ってきました。参考になりますね。
また分からないことがあればお世話になるかもしれません。
その時はよろしくです。ありがとうございました。

422 名前:nobodyさん [03/05/11 01:35 ID:6HQj9LIx]
従業員の名前、住所、メールアドレス、電話番号をDBで
管理していて、普段はメールアドレスの検索が主な操作
な状況です。こんな場合、メールアドレスだけ別テーブル
に保存して検索するのと SELECT mail FROM hoge みたい
に検索するのってどっちが効率いいんですか?

423 名前:nobodyさん mailto:sage [03/05/11 01:36 ID:???]
えーと、indexを貼るのもよろしいかと。

424 名前:nobodyさん mailto:sage [03/05/11 02:21 ID:???]
>>423
CREATE INDEX ってやつですか?

425 名前:nobodyさん mailto:age [03/05/11 02:27 ID:???]
従業員の管理ったってそんなに大人数でもないだろうに

ポスグレでも20万件程度までならサクサク動くから

426 名前:nobodyさん mailto:sage [03/05/11 03:59 ID:???]
小規模なとこで働いてる限りあんまり
チューニングってのは考えなくていい
んですかね。やっぱり。

427 名前:nobodyさん mailto:sage [03/05/11 04:14 ID:???]
>426
Accessでどうのこうのといったレベルなら。
小規模でもオンラインゲームのマップ情報とかDBに載せてたりすると
チューニングが肝です。



428 名前:nobodyさん mailto:saga [03/05/12 06:11 ID:???]
postgresもObjectBrowser
みたいなもんがないのかねー

429 名前:nobodyさん mailto:sage [03/05/12 11:45 ID:???]
これじゃダメ?

www.hi-ho.ne.jp/tsumiki/

430 名前:nobodyさん mailto:sage [03/05/12 15:41 ID:???]
7.2.3でDBのエンコーディングをEUC_JPにしてスキーマをつくって、
JDBCからアクセスするアプリをつくってみたんですが、〜とかマルイチなどの
文字が化けてしまうんですよね。。どうにかなりませんか?
ポスグレはShift_JISエンコーディングはサポートしていない??


431 名前:428 mailto:saga [03/05/13 14:33 ID:???]
>>429さん
ありがとうございました。
なんなものがあったなんて知らなかったよ




432 名前:nobodyさん [03/05/15 11:09 ID:LGr+4aCV]
>>429
ここのページのDB利用実態調査が面白い。
特に、MyとPostへのLOVE度、ワラタ。

433 名前:bloom [03/05/15 11:10 ID:fs87NLJj]
homepage.mac.com/ayaya16/

434 名前:nobodyさん [03/05/16 03:28 ID:3cK7BkGM]
$sql = "SELECT passwd FROM customer_auth WHERE login = '".$login."'";
このSQL文を実行すると条件に1つもマッチしない場合エラーになりますよね。
@$rec = pg_query($conn,$sql);
if (!$rec){
exit("そのようなユーザーは存在しません。もう一度確認して下さい。");
}
としても $recがTRUEになってるみたいで上手くエラー処理をしてくれません。
何かよい方法ないでしょうか。

435 名前:nobodyさん mailto:sage [03/05/16 03:36 ID:???]
>>434
エラーにはならんだろう。
if(!pg_num_rows($rec)){...
でどうよ。

436 名前:nobodyさん mailto:sage [03/05/16 10:24 ID:???]
あ、なるほど。データがなくても別にエラーにはならない
訳ですね。それで上手くいきました。ありがとう。

437 名前:田中 [03/05/16 12:32 ID:shMd76bE]
先ずはココを見てください!
本当に、すごいです。
www.c-gmf.com/h16002.htm



438 名前:山崎渉 mailto:(^^) [03/05/22 02:02 ID:???]
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

439 名前:山崎渉 mailto:(^^) [03/05/28 17:19 ID:???]
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

440 名前:nobodyさん [03/06/03 17:33 ID:AuMlkjoB]
・・・
$deldata = "IN (" . implode($_POST['del'],",") .")";
PHPlibを使ってPostgreSQLのデータを削除するものを作っています。
以下のような感じに書いて削除はできるのですが
-------------
・・・
$deldata = "IN (" . implode($_POST['del'],",") .")";
$del_query = "DELETE FROM vf_employee WHERE emp_id ".$deldata;

# データ削除
@$del_data_set = $db->query($del_query);
print(pg_affected_rows($del_data_set)); //-->ここ
・・・
-------------
削除した件数1件あっても、 pg_affected_rowsが0になってしまいます。
ちょうど、>435と同じように、件数のチェックをして
エラーチェックをしたいのですが、削除の場合の件数は
取得できないのでしょうか?

何か間違ってるでしょうか。。

441 名前:440 mailto:sage [03/06/03 17:34 ID:???]
>440 の2行目まではコピペのミスです、スミマセン;

442 名前:  mailto: [03/06/16 11:17 ID:???]
最近の PostgreSQL って pg_atoi() のチェック厳しくなりましたよね。
おかげで

$SQL = "UPDATE table SET seq = '$seq'";

で $seq が空の場合にエラーになるようになってしまいました。

というか他所の会社が作ったシステムのメンテを引き受けたのですが、
恐らく register_globals = on の状態を想定していて、
$seq があってもなくても通るようにと考えたんではないかと思います。

↑のようなパターンが随所にあって、
手動での修正はかなり厳しいものがあります。
何かいい方法はないでしょうか?

443 名前:nobodyさん [03/06/19 00:43 ID:???]
MySQLとPostgreSQLの違いって何ですか〜
初心者で御免


444 名前:nobodyさん [03/06/24 11:30 ID:s+ewonQw]
レンタルサーバーでPHP+Postgre使ってます。(WebProg経験浅いです)

データベースのテーブルデータをフォルダに移したいのですが
select * from テーブル名 into outfile '/usr/home/xxxx/ファイル名'
と言うsql文は普通に使えるはずでしょうか?
どうしてもparse error at or near "into"が出ます。
単純なミスでしょうか。よろしくお願いします。

445 名前:nobodyさん mailto:sage [03/06/24 12:22 ID:???]
>>444
www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=sql-select.html

446 名前:444 mailto:sage [03/06/24 13:02 ID:???]
>>445どうもです。
ひぇ〜、読んではみたのですが、、、よく分かりませんです。
PostgreSQLとMySQLで使えるSQL文は結構違うのでしょうか?
取りあえず私が検索した範囲ではselect * into outfileで使っているのは
MySQLの方でした。
他の方法でも良いのですがテーブルデータをフォルダに書き出すには
どうすれば良いでしょうか?重ねてよろしく。

447 名前:nobodyさん mailto:sage [03/06/24 14:18 ID:???]
>>444
ttp://www.postgresql.jp/document/pg732doc/reference/sql-copy.html



448 名前:444 mailto:sage [03/06/24 15:00 ID:???]
>>447何度もすみません。
どこかのQ&Aにもレンタルサーバーでは普通無理と書いて有ったのですが
実際COPYを使ってみると
You must have Postgres superuser privilege・・・
と出てしまいます。

本当に何度もすみませんが、
postgreではselect into outfileは使えない(?)。
COPYはそれなりの権限が無いと使えない。
と言うことでしょうか、、、


449 名前:nobodyさん mailto:sage [03/06/24 15:58 ID:???]
>>448
COPY table TO stdout ...

450 名前:444 mailto:sage [03/06/24 17:49 ID:???]
>>449
すみません、かなり調べたつもりなのですが、、、
stdoutへ出力されたデータはどこに有るのでしょうか。

そこを何とかもう一度お願いします(汗;

451 名前:名無しさん@Emacs mailto:sage [03/06/24 19:06 ID:???]
つか、ファイルに出力するなら、

COPY table TO '/tmp/file.txt';

だろ。


452 名前:444 mailto:sage [03/06/24 19:11 ID:???]
>>451さん、どうも。
448にも書きましたが、(詳しく書くと)
ERROR: You must have Postgres superuser privilege to do a COPY directly
to or from a file. Anyone can COPY to stdout or from stdin.
Psql's \copy command also works for anyone.
と出ます。
確かにstdoutを使えと書いてるようですが、使い方が分からなくて、、、

453 名前:nobodyさん mailto:sage [03/06/24 19:19 ID:???]
phpPgAdminでダンプ表示させたのをコピペはだめ?

454 名前:444 mailto:sage [03/06/24 19:32 ID:???]
>>453さん、どうも。
phpPgAdmin、ちょっと調べてみましたが、これが用意されてるところでしか
使えないのですよね??
私の使ってるレンタルサーバーにも簡単なGUIツールが有りますがダンプは
できません。
また、プログラムで自動実行したいので、かえってGUIは不便なんです。

455 名前:451 mailto:sage [03/06/24 21:06 ID:???]
>452
PostgreSQLのSQLコマンドであるところの COPY コマンドと
psqlコマンドで使う \copy コマンドは別モノでつ。
COPYコマンドはバックエンドサイドでファイルに落としまつ。
\copyコマンドは、クライアントサイドでファイルに落としまつ。

COPYコマンドは言われている通り、バックエンドのsuperuser権限が
必要ですが、\copy コマンドでは必要ありません。psqlで

\h copy

と、

\?

とすると、それぞれの説明が出まつ。

結論としては「\copyを使え」ってことで。


456 名前:444 mailto:sage [03/06/24 23:28 ID:???]
>>455さん、どうも。
なんとなくしか分かってないのですが、私の使ってるレンタルサーバー
では「psqlは使えません」とのことでした。
皆さん色々と教えて頂きありがとうございます。
もう少し勉強して出直します。


457 名前:名無しさん@Emacs mailto:sage [03/06/25 01:48 ID:???]
>454
多分、CGIみたいにブラウザに表示させることにして、
テキストベースのブラウザ(w3mとかlynx)使ってファイルに落とすのが一番早い。

と思う。結論として。




458 名前:444 mailto:sage [03/06/25 10:07 ID:???]
>>457さん、どうも。
なるほど「泥臭いけど何か問題ある?」と言うような方法ですね。
奥の手に取っておきます。

459 名前:nobodyさん mailto:sage [03/06/26 09:56 ID:???]
>>458
ファイルの書き込み権限があれば以下の方法が使えるかも?です
例えば、CGIをテストするためにスクリプトとかを転送
できてるのであれば、fopen の"w"でファイルに書けます
#!/usr/local/bin/php -q
<?php
include("dbconnect.inc");

 $db = new DbConnect();
 $keyword = "php";
 $file = $keyword . ".txt";

 if(!($o = fopen($file, "w"))) {
  print "$file open 失敗\n";
  exit(1);
 }

 $sql = sprintf("SELECT name FROM t WHERE keyword='%s'", $keyword);
 $rs = $db->doQuery($sql);

 for($i=0; $i<pg_numrows($rs); $i++) {
  $str = sprintf("%s\n", pg_result($rs, $i, "name"));
  fwrite($o, $str);
 }
 fclose($o);
 $db->doClose();
?>

460 名前:458 mailto:sage [03/06/28 11:12 ID:???]
>>459さん、どうもです。
遅レスすみません。でも、できそうな気がします。
(まだ分かってないところも有りますが)やってみます。
ありがとうございました。

461 名前:nobodyさん [03/07/04 12:48 ID:Hr/HESMY]
現行のPHPマニュアルに
> 同じconnection_string引数で2回 pg_connect()関数がコールされた場合、新規の接続 はオープンされません。
とありますが、実験してみるとまさにそのとおりの動作で困っています。

固有のDB接続がつくれないとトランザクションが破綻するかとおもうのですが、なにか勘違いしてますか?

462 名前:nobodyさん mailto:sage [03/07/04 14:13 ID:???]
それ、pg_pconnect()の説明じゃない?うちのまぬあるが古いのかな。
それとトランザクションとは全く別次元の話。

おそらく トランザクションの意味を勘違いしていると思われ。

463 名前:461 mailto:sage [03/07/04 15:01 ID:???]
接続が共有だとトランザクションの合間に
他のPHPセッションからのクエリが割り込む可能性があるとおもうので<ここが勘違い?
問題ありということです。

ttp://www.php.net/manual/ja/function.pg-connect.php
マニュアルはここから読めるんですが、英語マニュアルでも同様でした。

464 名前:自己レス mailto:sage [03/07/10 18:21 ID:???]
>>463
pg_connect(connection_string, PGSQL_CONNECT_FORCE_NEW);
で解決しました。

465 名前:nobodyさん [03/07/11 23:10 ID:P/TCYNuE]
ポストグレスってクエリー実行に対する
エラーコードがないって本当ですか?

(しょうがないので)
今はpg_execの返り血がFALSEなら
pg_errormessageでエラー文字列を
とって、パターンマッチングして分岐、
みたいなキタねぇコードを書いてます。

チェックをプログラム側に持たせるか
DBの制約に持たせるかっていう設計
方向のレスも歓迎。


466 名前:nobodyさん mailto:sage [03/07/11 23:29 ID:???]
> エラーコードがないって本当ですか?
本当でつ。
以上。

467 名前:nobodyさん mailto:sage [03/07/11 23:37 ID:???]
>>466
ドモでつ。




468 名前:山崎 渉 mailto:(^^) [03/07/15 11:07 ID:???]

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

469 名前:nobodyさん mailto:sage [03/07/18 15:24 ID:???]
Warning: pg_pconnect() unable to connect to PostgreSQL server: FATAL 1:
Sorry, too many clients already in

上記のエラーの対処の仕方を教えてください。
あんまり詳しくないので聞きたいことがあれば調べて書きます。
お願いします

470 名前:nobodyさん mailto:sage [03/07/18 15:49 ID:???]
同時接続数を増やす。

471 名前:nobodyさん mailto:sage [03/07/18 15:59 ID:???]
今postgresql.confを見たんですが
全部#でコメントアウトされてるみたいです(^^;
ちと調べて接続数を増やしてみます

472 名前:nobodyさん [03/07/27 01:15 ID:TsfwKHg5]
ラージオブジェクトの格納、引出(表示)、削除、などのやり方について
詳しいサイトあったら教えて下さい。

自分なりに探したのは、
ttp://homepage2.nifty.com/~chairo/html/installation/webapp/webapp.html

ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/2287/doc/funto13.html
↑ここくらいですが、削除のやり方とかのってないす。

473 名前:nobodyさん mailto:sage [03/07/27 15:37 ID:???]
PHP+PostgreSQLで接続されているクライアントのDBデータを1分周期で更新するには
クライアントから定周期でサーバーへ更新要求を行わないとできないのでしょうか?
サーバーサイドだけでは無理でしょうか?

474 名前:nobodyさん mailto:sage [03/07/27 16:12 ID:???]
>>473
クライアント以外のどこに更新用のデータがあるのかと小一分問い詰(ry
(言葉の定義は置いておいて、) サーバからクライアントにデータ要求のトリガーを起こさせたいってこと?

475 名前:nobodyさん [03/07/27 18:49 ID:0cmBAsiG]
>>474
書き方が悪くてすいません。
やりたい事は有料サイトのポイント管理のような事で、接続されたクライアントの
ポイントを1分周期で減算させたいのです。
このような機能はやっぱりクライアントから定周期で更新要求をサーバーへ
リクエストしないと無理なんですかね?
タイマーや定周期処理みたいなものでPHPやPostgreSQLでできないですか?


476 名前:nobodyさん [03/07/28 00:28 ID:Jw2a8NaM]
>>475
waitする関数作って(標準であったっけ?)、
1分毎に特定のフラグ立っているレコード(ログイン中みたいの?)を、
updateするplpgsqlを実行しておけばいいんじゃないの?

それか、
サーバーとクライアントをどういう意味で使ってるかわからないけど、
サーバーマシン上でcronで実行するのはどう?


477 名前:_ mailto:sage [03/07/28 00:56 ID:???]
homepage.mac.com/hiroyuki44/



478 名前:nobodyさん mailto:sage [03/07/28 16:03 ID:???]
>>475
サービスの要求毎に今の時刻を記録するのを基本とし
A. 前回の時刻から1分未満なら記録しない。
B. 1分以上なら記録する。その時に1ポイント減らす。
こんなのは?


479 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:23 ID:???]
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

480 名前:ぼるじょあ ◆ySd1dMH5Gk mailto:(^^) [03/08/02 04:52 ID:???]
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

481 名前:nobodyさん [03/08/11 14:14 ID:gq467PzP]
PostgreSQL+PHPでBLOGとか掲示板作って
運営されたことのある人とかいます?

記事や、コメントはTEXTで格納してると思うんですが、
量が増えてきたときの負荷ってどんなもんですかね。
せっかくDB使ってるんで、検索とかもできるようにしてると思うのですが、
量が増えたときにTEXTから検索はやっぱ時間かかりますか?

482 名前:nobodyさん mailto:sage [03/08/11 15:40 ID:???]
>>481
仕事でやってるのなら、
テキスト検索エンジンの業者に比較資料を出してもらうとか。
そこまでだったらタダだとおもうし。

483 名前:nobodyさん mailto:sage [03/08/11 15:42 ID:???]
>>481
どういう検索をしようとしているのかわからないけど、
おそらく記事の検索なんだよね?
RDBはそういう検索には向かないと思うよ。
全文検索系のものを別に入れるのが普通だと思う。


484 名前:. mailto:sage [03/08/11 17:18 ID:???]
>>481
うちは PHP + Postgres で記事を管理。
cron で定期的に html に書き出してそれを namazu に食わせて全文検索できるようにしてる。
MySQL の全文検索とかってどうなんだろう。今は特に案件が無いので調べてないけど。

485 名前:nobodyさん mailto:sage [03/08/11 17:47 ID:???]
>MySQL の全文検索とかってどうなんだろう。

8万件のデータを検索させたら,中間一致検索で2秒ぐらい掛かってたのが
0.5秒切った。

486 名前:. mailto:sage [03/08/11 18:03 ID:???]
>>485
おおっ。やっぱ MySQL だけあって速いのね。
日本語とか通るのかな。ちょっとぐぐってみるか。

JAVA Developer 2003年6月号より転載 MySQL4の全文検索に迫る
www.zdnet.co.jp/developer/0307/03/dvn01.html

日本語に対応させるには形態素解析ロジックを組み込まなきゃいけないみたいね。
ほほう、河馬屋二千年堂さんとかも、結構前からいろいろやってるんだ。さすが。

デフォルトで日本語対応になったら、一気に普及しそうな予感・・・。

487 名前:nobodyさん mailto:sage [03/08/11 18:16 ID:???]
>>486
>河馬屋二千年堂さんとかも、結構前からいろいろやってる

あ、>>485はそれをPHP用に直してやってみた結果です。



488 名前:山崎 渉 mailto:(^^) [03/08/15 22:37 ID:???]
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

489 名前:nobodyさん mailto:age [03/08/18 01:33 ID:???]
age

490 名前:nobodyさん [03/08/19 11:31 ID:lIsPsTRV]
num | str
-----------
1 | a
2 | b
4 | c
5 | b
3 | a
1 | c
3 | a
: :

こんなテーブルがあったとして、
・num>3の総数
・num>3 and str='a'の総数
の2つを1回のSQLで同時に取得できますでしょうか?
(SELECT count(*)を2回するよりも軽いSQLで)

491 名前:nobodyさん mailto:sage [03/08/19 12:01 ID:???]
>>490
select count(*), count(case when str = 'a' then 1 else null end) from hogetbl where num > 3

早いかは知らん。

492 名前:490 [03/08/19 12:47 ID:oCHs6Pb7]
>>491
試してみましところ、微妙早いみたいです。
ありがとうございます。


493 名前:nobodyさん mailto:sage [03/09/22 06:55 ID:???]
xreaでpostgresを使ってるんですが、
処理時間のかかるDB操作を行うと、
DBにアクセスしたまま、phpスクリプトだけタイムアウトして
終了するようです。
この場合、DBへの接続は残ったままになってしまうんでしょうか?

494 名前:nobodyさん mailto:sage [03/09/22 07:15 ID:???]
というのは、現在、
Warning: pg_connect(): Unable to connect to PostgreSQL server: Sorry, too many clients already
となって全くDBに繋がらなくなってしまいまして、、、
DBがxreaにあるのでどうしたものかと。。。

495 名前:nobodyさん mailto:sage [03/09/22 07:22 ID:???]
ゾンビのような接続が残っていたらどうしよう。

496 名前:nobodyさん [03/10/09 20:52 ID:lBy2Nsd4]
MySQLで作られたサンプルコードをPostgreSQL対応のものを作ろうとしているのですが、
気をつけることありませんか?

497 名前:nobodyさん mailto:sage [03/10/10 13:54 ID:???]
MacOSX 10.2.8なんですが、PHPのソースからのインストールでつまづいています。
ttp://www.entropy.ch/software/macosx/php/
当初は上記のサイトのPHPパッケージを使っていたのですが、これだとmbregexが有効になっていないので。
PHP-usersを調べてみるとPostgreSQLをソースからのインストールして成功した例があったので(元々ソースから入れていたんですが念のため)ここからやり直し。
make checkでエラーが出ましたが、それでもPostgreSQL 7.3.4はインストールできました。(readline 4.3をソースからインストール後)
しかしPHP 4.3.3のインストール段階でmake時に以下のエラー。

ld: unknown flag: -export-symbols
make: *** [libs/libphp4.bundle] Error 1

一応configureのオプションはこんな感じです。
./configure --with-pgsql=/usr/local/pgsql --with-apxs=/usr/sbin/apxs --without-mysql --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-versioning --enable-trans-sid

どうしたものでしょうか。



498 名前:nobodyさん mailto:sage [03/10/10 14:13 ID:???]
>>497
僕の環境(OSX 10.2.8, gcc3.3, Postgresはentropy.chのパッケージ)では
make の前に sudo ranlib /usr/local/pgsql/lib/libpq.a が必要だったのと(最初の一回だけでOK)
configure のオプションに --with-openssl=/usr を加えないといけませんでした。
あと、--with-apxs=/usr/sbin/apxs を指定したときも make でコケて、
--with-apxs だけ(パス指定なし)ではいけました。
参考になれば幸いです。

499 名前:nobodyさん mailto:sage [03/10/10 14:22 ID:???]
おっと、pgは自前でコンパイルされてるんですね。
よく読んでませんでした、スマソ。
それなら --with-apxs の修正だけでOK...かな?

500 名前:nobodyさん mailto:sage [03/10/10 15:03 ID:???]
>>498
sudo ranlib /usr/local/pgsql/lib/libpq.aの記述はここにもありましたね。
ttp://semicolon.jp/ussy/
で、configureのオプションで、--with-apxsだけ、--with-openssl=/usrを加えてやってみましたがまた同じエラーです。
再インストール時に特に気をつけなければいけない点などありますか?特定のファイルやディレクトリは必ずリネーム(or削除)しておかなければならない、とか。
前に入れたものが残っていて、そこで引っかかってるのかとも思いまして。

501 名前: [03/10/10 16:42 ID:eMmbcoMO]
PHP Nuke って PostgreSQl でも動くと思い込んでいたんだけど、
実は移植作業中?
phpnuke.org/
spiral303.com/php-nuke/

502 名前: [03/10/10 17:06 ID:eMmbcoMO]
F-Board 掲示板
www.php-j.com/scripts/bbs/fboard.php
おお、〜これは便利そうかも。インストールしてみよっと。
スレッドフロート型のほうがいいんだけど…

503 名前: [03/10/15 14:57 ID:P4ZVyYvK]
haitaka.com/keijiban/treebbs.cgi?log=227
dbEasy の作者ってなくなっておられたんですね。
ご冥福をお祈りします。

504 名前:nobodyさん [03/10/20 21:25 ID:waXYXRrl]
telnetだとできるのに、なぜかPHP上からはinsert,delete等、
データをいじる実行文ができなくて困っています。(同一ユーザで)

[connect]→[insert]→すぐに同一スクリプト上で[select *]すると挿入できてるのに、
スクリプト終了後に確認してみると反映されていない。(エラーメッセージも出ない)

おかしいと思って、一度[insert]した後に明示的に[close]して、
[connect]し直してから[select *]すると、反映されていないことが分かりました。

接続がきれると変更点が元に戻ってしまうというのは、どういったところが
原因になっているのでしょうか?


505 名前:nobodyさん mailto:sage [03/10/20 21:35 ID:???]
ろーるばっく は?

506 名前:504 [03/10/20 23:08 ID:UOeO/1yp]
>>505
スクリプトには書いてないんですが、
勝手にろーるばっくする現象とかあるんでしょうか?



507 名前: [03/10/21 07:56 ID:cLTK9aL8]
telnet でってことは psql でってこと?
同じユーザって本当?
PostgreSQL のログ見てみたら?



508 名前:nobodyさん mailto:sage [03/10/21 09:59 ID:???]
もし BEGIN してたら、そのままCOMMIT or END しないで
closeしたらロールバックするかな

509 名前:nobodyさん mailto:sage [03/10/21 13:38 ID:???]
>>507,508
508さんの指摘どおり、
BEGINして、ENDせずに終了していました。
すみません。
ありがとうございました。

510 名前: [03/10/21 15:01 ID:cLTK9aL8]
>>509 あいや〜漏れも同じミスをしそうだった。
人の振り見て我が振りなおせ、だなぁ…

511 名前:nobodyさん mailto:sage [03/10/21 22:08 ID:???]
>>501
一応、各種DBで動くようになってるようなんだけど、
中身を見るとMySQLでしか動かない。

最近のバージョンは、postgresql用のSQLが少しまとも
になってたけど、まだ古い部分があるんで、、、
フォーラム以外はなんとかなるかと、、、



512 名前:(;´Д`) [03/11/02 19:07 ID:iBTmJlep]
( ・ω・)∩
ちょっとしたクイズアプリケーションを作っています
クイズにはカテゴリがあり
そのカテゴリ毎に出題制限機能をつけたいと思います
DBのテーブルcategoryenabledには
categorynumber(1〜8までのカテゴリナンバー)
enabled(t or f)
のカラムがあります。

今思案しているのはUIにてカテゴリ名とチェックボックスを付け
その出題制限機能ページを開いた時にcategorynumber1〜8までの該当するenabledの値が
tだった場合に対応するカテゴリ名のチェックボックスにチェックが入るようにしたいです

次にsubmitボタンを押したときにそのチェックの有無に応じてカテゴリ名に対応する
categorynumberのenabled値に対して更新クエリーを発行したいのです
どなたか教えてください
⊂⌒~⊃。Д。)⊃

513 名前:nobodyさん mailto:sage [03/11/04 03:41 ID:???]
pg_fetch_object でデータを取得したとき、
テーブル名.プロパティのデータを取得するにはどうしたらいいんでしょう?
たとえば、$obj->table.name とするとPHPの構文エラーが出ますよね?

514 名前:nobodyさん [03/11/04 03:41 ID:qRLV45gQ]
 

515 名前:nobodyさん mailto:sage [03/11/04 11:24 ID:???]
>>512
チェックボックスを全て同じ名前にして、配列で取り出し、
SQL文のWHERE区でOR でつなげばいいと思う

って、categoryenabled がどうなってんのかさっぱりわからんが

516 名前:nobodyさん [03/11/22 22:30 ID:J3MEwjgU]
すいません。初心者なんですが、phpから、postgresへコネクト、できたら「接続できましたよ」と出したいんですが、
Fatal error: Call to undefined function: pg_connect() in /var/www/html/memberlist.php on line 8
上記エラーが出てしまいます。
このエラーは、PHPをrpmではなく、ソースからコンパイルしていれないとだめってこと、、
でしょうか。ちなみに、phpinfo()では、pgsql suportは出ていません。が、dbx、dba
というのは、あります。あと、configureのところに、 '--with-pgsql=shared' ともあります。
php.iniをいじれば良いんでしょうか。

517 名前:nobodyさん mailto:sage [03/11/23 00:09 ID:???]
>>516
たとえば、php や libphp4.so を ldd で表示させてみて
libpq.so は表示されるかい?



518 名前:nobodyさん [03/11/23 00:23 ID:kTbiV7p7]
>>517 下記コマンド実行。
ldd /usr/lib/httpd/modules/libphp4.so
ldd /home/(ユーザー名)/plugin/libphp4.so

ともに、libpg.soは表示されませんでした。
蛇足ですが、コンパイルがうまくいかなかった経緯があり、日経linux1月?付録のrpm(マルチバイト対応)で
今までやってました。postgresqlをやりたくなりいじりはじめた次第です。

519 名前:nobodyさん [03/11/23 00:34 ID:kTbiV7p7]
>>517
ちなみに、findで調べたら、存在はしているみたいです。これを日も付けるような
作業をすればいいのでしょうか。
/usr/local/src/postgresql-7.3.2/src/interfaces/libpq/libpq.so
/usr/local/pgsql/lib/libpq.so

520 名前:nobodyさん mailto:sage [03/11/23 02:33 ID:???]
>>518
PostgreSQLのライブラリはインストールされてて
phpにはリンクされてない状況かな
(よく考えたらphpコマンド使うなら、php -m でもよかったな)
phpをMakeするのがいいと思う。特にPHPはリンクしなおしが多いので
どっちにしろソースからやっといたほうがいいと思うよ

521 名前:nobodyさん [03/11/23 03:14 ID:kTbiV7p7]
いつかは、やらねばと思ってましたが、ちょっと大変ですね。
がんばってみます。

522 名前:nobodyさん mailto:sage [03/11/23 03:16 ID:???]
>>519
pgsqlはソースからいれたんか。それならrpmでいれたphpには無理でしょ。たとえサポートしていたとしても。
--with-pgsql=shared じゃなくて、--with-pgsql=/usr/local/pgsqlになっとらんといかんのとちゃいまっか?

>>520のいうように、phpをソースから入れなおしが近道なきもするが、どうせapache(?)もrpmから入れたんかな?

523 名前:nobodyさん [03/11/23 10:46 ID:kTbiV7p7]
>522
そうです。apache&php=>rpm postgres=>tarでした。
コンパイルオプションが複雑に絡む場合は、関連するものすべてソースから
入れたほうがいい、、ということなんでしょうか。教訓として。

524 名前:nobodyさん mailto:sage [03/11/23 12:35 ID:???]
関連するものはヘッダとライブラリがあればいいよ
ヘッダとライブラリだってrpmで提供されてる場合が多いし

コンパイルオプションやリンクするライブラリが
変わることが多い場合はソースのがいいとは思う

パッケージのディレクトリ構成を/usr/localに一本化
したかったり使い分けがめんどくさいと思ったら
ソースから入れるのがいいかもね。慣れるとどっちでも
同じ感覚でインストールできるよ

525 名前:nobodyさん mailto:sage [03/11/23 23:04 ID:???]
>>523
/libにlibpq.so.*のリンクを作ってから、phpのrpmをインスコするとどうなるのだろう。
と、ふと思った。


526 名前:nobodyさん [03/11/24 09:18 ID:pzrePjyL]
psqlではふつーにselectで引っ張ってこれるんだけれども、
PHPからデータとってこようとすると、そこで処理が停止してしまうんです。
PEAR_DBを使っていたんでそのせいかともおもって、
pg_*で書き直して試してもやっぱり同じ。

データの内容は300近いWebページのソースです。
9割くらいのページは正常にfetchしてこれるんですが、残り1割が固まります。

mb_convert_kana/encodingでEUC-JPにノーマライズしてから格納しているんですが・・・。
っていうか、UPDATEできるのにfetchできないってどういうことなんでしょう。

527 名前:nobodyさん [03/11/27 19:56 ID:HaCIHFLT]
簡単なことかもしれないんですけど、postgresqlのカラムにdatetime型で
日付時刻が入ってまして、これをphpで「年/月/日/ 時:分」という形に
したいんですが、なんかそのものずばりの関数ってないでしょうか?
また、関数がない場合、こういう場合は普通どう処理するんでしょうか?
もし解説したWebページがあれば教えて下さい。




528 名前:nobodyさん mailto:sage [03/11/27 20:02 ID:???]
>>527
解説したページ
www.php.net/manual/ja/function.date.php

SQLでやっちゃうのもいいよ。そっちのやりかたはPostgreSQL付属のドキュメントをみてね☆

529 名前:nobodyさん mailto:sage [03/11/28 01:13 ID:???]
SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table;

530 名前:nobodyさん mailto:sage [03/11/28 01:44 ID:???]
>>526
> UPDATEできるのにfetchできないってどういうことなんでしょう

selectをEXPLAINしてみたら?たぶんSeq Scanじゃないかな。
UPDATEはWHEREにINDEX使ってるだろうからIndex Scanになってるはず。

select文にand index > 0 とか追加してIndex Scanさせれば早くなってタイムアウトしないんじゃねーですかい?

例えて悪いけど
SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table;
hoge_dateにkeyがなければこれも遅いと思います。

id integer primary key があるとするなら、

SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table where id > 0;
とすればちったー早くなると思います。

531 名前:527 [03/11/28 21:59 ID:UsQiFXqj]
528さん、529さん、530さんレスどうもありがとうございます。
kterm上でSQLを
select to_char(uptime, 'YYYY/MM/DD HH24:MI') from table;
とすると、無事、2003/11/27 21:30 と出力されました。
ただ、私はphpのスクリプト中で取得したいのです。
たとえば、imageというテーブルに
id serial, uptime datetime,
というカラムがあるとして(実際のカラムはもっと多いです。)、
insert into image(uptime) values('now');
とデータを入れています。このテーブルから日付時刻を
$sql="select * from image";
$rs = pg_query($db, $sql);
while ($data = pg_fetch_array($rs)) {
print("<td>".$data['id']."</td>");
print("<td>".$data['uptime']."</td>");
}
略~ print("<td>".$data['id'].":".$data['uptime']."</td>");~略
として 表の中に出力したいのですが
そのへんをもう少し教えていただけないでしょうか?          

532 名前:nobodyさん mailto:sage [03/11/28 22:25 ID:???]
>>531
$data['uptime'] = date("〜",$date['uptime']) とか、 --PHP date関数
select select to_char(uptime, '〜') as formatted_uptime from table とか。 -- SQL as句

533 名前:526 [03/11/29 05:22 ID:3dfgxKEK]
一応 EXPLAIN してみましたが、IndexScan であっさり。

で、いろいろ追ってみたのですが、
どうやらpostgresのヒープサイズをオーバーしてるせいみたいでした。
いろんなサイズのを試してみたら、ちょうど32kくらい以上だと、
同様の現象がでるようでした。

おそらく text 型にでかいの突っ込んでるからだとおもいます。
実質上限がないものだとばかり思ってたんで、がっくり。

ラージオブジェクトならうまくいくだろうか・・・。

にしても解せないのは、なんで psql ではできて、php からはできないのか。
7.1以前のまんまなのかなぁ。

534 名前:nobodyさん [03/11/29 15:10 ID:3wwIsq6W]
すいません。データベースを作ろうとして、エラーが出てしまうのですが、
何か間違っていますでしょうか。
ユーザpostgres作成。dataというディレクトリを作成。オーナーをpostgresに。
そして、postgresになってから、initdbで作成。ここで躓きます。
#initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale ja_JP.euc.

fixing permissions on existing directory /usr/local/pgsql/data... ok
creating directory /usr/local/pgsql/data/base... ok
creating directory /usr/local/pgsql/data/global... ok
creating directory /usr/local/pgsql/data/pg_xlog... ok
creating directory /usr/local/pgsql/data/pg_clog... ok
selecting default max_connections... 10
selecting default shared_buffers... 50
creating configuration files... ok
creating template1 database in /usr/local/pgsql/data/base/1... FATAL: XX000: f
ailed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1866

initdb: failed


535 名前:nobodyさん mailto:sage [03/11/29 19:01 ID:???]
#ってことは、postgresになってないと思うのだが・・・

536 名前:nobodyさん [03/11/29 19:14 ID:3wwIsq6W]
>535
534です。
すいません。postgresになっても、同じ名でした。
あと、そのエラーのあとに、同じコマンドを打つと、下記のようなエラーが出ます。

initdb: directory "/usr/local/pgsql/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/pgsql/data" or run initdb with an argument other than
"/usr/local/pgsql/data".

537 名前:nobodyさん [03/11/29 19:29 ID:3wwIsq6W]
以下のリンクにあるようにやったら、とりあえず作成だけはうまくいきました。
⇒ttp://ml.postgresql.jp/pipermail/pgsql-jp/2003-November/006615.html
例)
$LANG=C initdb --encoding=EUC_JP --no-locale
$LANG=C pg_ctl start
でも、即行でデータベースがシャットダウンしてしまいます。
[postgres@linux data]$ LANG=C pg_ctl start
postmaster successfully started
[postgres@linux data]$ LOG: database system was shut down at 2003-11-29 19:16:3
3 JST
LOG: checkpoint record is at 0/9B0B8C
LOG: redo record is at 0/9B0B8C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 534; next OID: 17142
LOG: database system is ready




538 名前:nobodyさん mailto:sage [03/11/29 19:30 ID:???]
すでにdataディレクトリがあるんでしょ。まず消すところから試してくれ

539 名前:nobodyさん [03/11/29 19:39 ID:3wwIsq6W]
すいません。ちゃんとできました。落ち着いて、一個一個確かめてやったらできました。
空回りやローでゴメンゴ

540 名前:nobodyさん [03/12/01 19:27 ID:GUQR4nbL]
すいません、テーブルの結合についておしえてください。
addres(id serial, name varchar(32), company_id int, sityouson_id int),
company(id serial, company_id int, company varchar(32)),
sityouson(id serial, todouhuken varchar(32), sityouson_id int, sityouson varchar(32))
という3つのテーブルがあり、
name, company, todouhuken, sityouson
というふうに取得したいのですが、どのようにするのがよいでしょうか?
例えば、
addres(id serial, name varchar(32), company_id int),
company(id serial, company_id int, company varchar(32)), から
name,companyとして取得するには
select addres.name, company.company where addres.company_id=company.company_id
でいいと思うんですが、tableが3つのときがわかりません。
select addres.name, company.company, sityouson.todouhuken,
sityouson.sityouson where addres.company_id=company.company_id and
addres.sityouson_id=sityouson.sityouson_id
とかでしょうか?

541 名前:nobodyさん [03/12/01 19:47 ID:YrMX5TT+]
homepage3.nifty.com/hot-hot/7254.html

542 名前:nobodyさん [03/12/02 01:18 ID:Dm3L1AqD]
phpの設置についてお伺いしたいのですが…。

php の実行を許可する.htaccess の記述は
どのようになるのでしょうか。

その設定の必要のないサーバで実行していたものを
今度設定が必要なサーバに移すことになりまして
教えていただけませんでしょうか。

543 名前:nobodyさん mailto:sage [03/12/02 01:26 ID:???]
>>542
httpd.confと同じように、
AddType application/x-httpd-php .php
でいいよ。
<Directory>で囲った方が気持ちいいかな。

php.iniで設定するようなやつはマニュアルの「はじめに - 設定」を参照してみそ。

544 名前:nobodyさん [03/12/02 01:43 ID:Dm3L1AqD]
>>543 さん
ありがとうございます。
早速やってみます。



545 名前:542・544 [03/12/08 15:04 ID:bUzy6m4p]
問題なく稼動中です。
ありがとうございました。

546 名前:nobodyさん [04/01/05 17:50 ID:ksHHV4PL]
すみません、PHPのMySQL関数にある、
mysql_data_seek(intRs,intRow) この関数なんですけど
postgreSQLで同じようなのないでしょうか?


547 名前:nobodyさん mailto:sage [04/01/05 22:18 ID:???]
>>546
pg_result_seek() かな?

つか、カーソル使えよ。



548 名前:nobodyさん mailto:sage [04/01/10 20:36 ID:???]
PHP + PostgreSQLでオススメの書籍はありますか?

549 名前:nobody [04/01/12 21:34 ID:DtxerTTK]
シーラカンス?


550 名前:nobodyさん mailto:sage [04/01/12 21:47 ID:???]
マンモス?

551 名前:nobody [04/01/12 22:22 ID:DtxerTTK]
10日でできる…ってゆうのを詠んだ。
具体的ではあったがPHPの一部分しかあつかってなかった…
webのほうが為になる気が…

552 名前:nobodyさん mailto:sage [04/01/13 00:46 ID:???]
とりあえず赤、青マンモス本とシーラカンス本があればいいんでは。
あとはwebでどうにかなる。

553 名前:nobodyさん mailto:sage [04/01/13 01:31 ID:???]
www.postgresql.jp/PostgreSQL/bookreview/websystem.html
これが結構良かったけど

554 名前:nobodyさん mailto:  [04/01/23 17:29 ID:???]
オンラインショッピングサイトやってるんですけどお客さん(店長さん)に

商品を編集するのに管理画面でやるのは面倒くさいので、
CSVでダウンロードしてエクセルで修正してまたアップロードしたい

って言われたんですけど、UPDATE に対応した COPY コマンドみたいなことってできませんでしょうか?
PHP で一行ずつ商品番号を調べて UPDATE でもいいんですが、時間がかかってしまうので。。。
何かいい方法があったら教えてください。おながいします。

555 名前:  mailto:sage [04/01/23 17:47 ID:???]
555get, zuzaa

556 名前:nobodyさん mailto:sage [04/01/23 20:29 ID:???]
> PHP で一行ずつ商品番号を調べて UPDATE でもいいんですが、時間がかかってしまうので。。。

1000件程度であればそんなに時間かからないと思うんですけど、そんなに商品の数多いんですか?

557 名前:nobodyさん mailto:  [04/01/23 21:21 ID:???]
>>556
ちょっと待つ感じですね。まぁお客さんに遅いと感じたら小分けにしてくださいと言っときます。お邪魔しますた。



558 名前:nobodyさん [04/02/11 22:13 ID:EReQ7yHa]
TeraTermで文字化けしちゃうんですが・・・
TeraTermの端末設定は送受信ともEUCにしてEUC_JPにしたDBを開きます。

# psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
testdb | postgres | EUC_JP

# psql testdb
# \encoding EUC_JP

testdb=# SELECT * FROM report;
number | title | report
--------+-------------+---------
1 | <A5><BF><A5><A4><A5><C8><A5><EB>1 | <CB><DC><CA><B8>1
2 | <A5><BF><A5><A4><A5><C8><A5><EB>2 | <CB><DC><CA><B8>2

とまぁこんな調子です。
ホントは 1,タイトル1,本文1と入っているのに。
ちなみにPHPからブラウザを通してみると正常に見えました。
TeraTermの問題でしょうか?

559 名前:nobodyさん [04/02/13 10:50 ID:JC2NxhSZ]
Postgresってローカルにインストールできますか?

560 名前:nobodyさん mailto:sage [04/02/13 10:57 ID:???]
>>559
逆にお伺いしますが、リモートにインストールってどうやってやるんでしょう?
あ、それともグローバルの反対のローカルかな?んな訳ないか…。

561 名前:nobodyさん [04/02/13 12:09 ID:JC2NxhSZ]
ええと、自分のパソコンのWindowsに入れたいのですが。

562 名前:nobodyさん mailto:sage [04/02/13 12:29 ID:???]
>>558
Pagerが日本語通らないのではないか
日本語パッチ当たったless か more 入れて見たら

563 名前:nobodyさん mailto:sage [04/02/14 13:57 ID:???]
MySQLと比較して、PostgreSQLの1番良い機能はなんですか?

564 名前:nobodyさん mailto:sage [04/02/14 16:06 ID:???]
ドキュメントが整理されている

565 名前:nobodyさん mailto:sage [04/02/14 16:38 ID:???]
>>561
Windowsは無理。MySQLなら可能。

566 名前:nobodyさん mailto:sage [04/02/14 17:04 ID:???]
>>561
WindowsでPostgreSQLとゆーと、
有料だけとPowergresとか、cygwin上で動かすくらいかな。
WindowsNativeなものを作ってた人もいたけどもうメンテしてなかった気がする。
Linuxはあちこちに情報があるので割愛。
Macはよく知らない。

567 名前:nobodyさん mailto:sage [04/02/14 17:24 ID:???]
Macの場合、OSXだとUNIX環境にPHP+PostgreSQLの環境を構築出来ます。

英語だけど、ここが参考になります。
ttp://www.entropy.ch/home/



568 名前:nobodyさん mailto:sage [04/02/14 19:29 ID:???]
おいらがPantherにPostgreSQL7.4インスコしたときのメモ。

1. Finkでreadlineをインストール

2. PostgreSQLをビルド&インストール
$ ./configure --with-includes=/sw/include --with-libraries=/sw/lib
$ make
$ sudo make install

3. システム環境設定の「アカウント」からユーザ「postgres」を作成。
名前欄は「Postgres」とでもしておく。

つづく。

569 名前:nobodyさん mailto:sage [04/02/14 19:30 ID:???]
4. 環境変数を設定。(.bash_profileに以下の記述を追加)
if [ -e /usr/local/pgsql/ ]; then
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export PATH=$PATH:$POSTGRES_HOME/bin
export MANPATH=$MANPATH:$POSTGRES_HOME/man
fi

5. PosgreSQLを初期化&起動
$ cd /usr/local/pgsql
$ sudo mkdir data
$ sudo chown postgres:postgres data
$ sudo chmod o-rwx data
$ sudo su postgres
$ initdb --no-locale --encoding=UNICOCE -D $PGDATA

570 名前:nobodyさん mailto:sage [04/02/14 19:35 ID:???]
あとはPostgresが自動起動するように/private/etc/hostconfigを設定するのと
/Library/StartupItemsに関連ファイルを入れればおしまい。

これはentropy.chのパッケージ(pgsql-startupitem-1.2.pkg)を使えば一発だし
自力でやりたいのならDarwin用にビルドしたときにPostgresのStartupItemが生成されて、
設定方法も表示されるからそれに従えばOK・・・・だった気がするんだけど
これについてはメモを取り忘れてて思い出せないっス。

571 名前:nobodyさん mailto:sage [04/02/14 19:39 ID:???]
entropy.chのPostgresを使うときはPHPのビルド時にopensslを含めないとエラーが出るのと
makeの前にsudo ranlib /usr/local/pgsql/include/libpqしないとエラーが出ることがあるのに注意。

572 名前:nobodyさん mailto:sage [04/02/14 19:40 ID:???]
スマソ、>>571
/usr/local/pgsql/lib/libpq.a
ですた。

573 名前:nobodyさん [04/02/15 16:03 ID:Axezk+8k]
永谷園のホームページ、ダウン中。。
www.nagatanien.co.jp/

pg_connect() unable to connect to PostgreSQL server: connectDBStart() -- connect() failed: No such file or directory
:
:
このエラーが出るってことは、テストしていないってことか?
ここ見てる担当者、何とかしたほうがいいんじゃない?

www.nagatanien.co.jp/cgi-bin/printenv

このプログラム、普通消さないか?

574 名前:nobodyさん mailto:sage [04/02/15 17:42 ID:???]
まだデバッグ中なんだろ

575 名前:nobodyさん mailto:sage [04/02/15 18:33 ID:???]
デバッグするなら外部からアクセス遮断するとかしないのか?
DBのフィールド名までおっぴろげでるぞ。

576 名前:森の妖精さん mailto:sage [04/02/15 18:40 ID:???]
あぶねーなー。。これ。。。
ポートもデフォルトだし。もしかしてパスワードとか設定してなかったら
ガクガクブルブルものだな。


577 名前:nobodyさん mailto:sage [04/02/15 21:55 ID:???]
デフォルトで外部サーバから接続できないからいいだろ



578 名前:nobodyさん mailto:sage [04/02/15 22:30 ID:???]
普通は本ちゃんサーバーのエラーメッセージは非表示にしないか?

579 名前:558 mailto:sage [04/02/15 22:44 ID:???]
>>562
失礼しました〜

580 名前:nobodyさん mailto:sage [04/02/16 01:53 ID:???]
つか、apache, PHPとも古すぎだろ、これ。

/func/の下も.htaccessで遮断してないので.inc読めちゃうし...。

581 名前:nobodyさん mailto:sage [04/02/16 17:19 ID:???]
でも、あんまりおっぴろげると鯖缶が悪いのにこっちがパクられちゃうんだよね。

582 名前:nobodyさん mailto:sage [04/02/17 01:52 ID:???]
訂正されとる
ここ見たのかねw

583 名前:582 mailto:sage [04/02/17 01:53 ID:???]
javascriptのエラーがうざいが、printenvは消えとる

584 名前:nobodyさん mailto:sage [04/02/17 21:42 ID:???]
なんでも入りの新しいサーバーになってる。
でも結局、どのモジュールも古いな。
なんでわざわざ古いモジュール使ってるんだろ?

uptime.netcraft.com/up/graph?site=www.nagatanien.co.jp

585 名前:nobodyさん mailto:sage [04/02/18 07:43 ID:???]
2/15から2/16いっぱいまでずっとダウンしていたな。。

たかがこのエラーの修復ぐらいで何でそんなに時間がかかるのかと
不思議だったが、何とOSの入れ替えをしてたのか...w
相変わらずHTTPS開いているし
証明書、localhost.localdomainだし(Turboのときはsnakeoilのヤツだった)

エンジニアとしてはレベル低いかもw


586 名前:nobodyさん mailto:sage [04/03/05 22:55 ID:???]
質問です。

Solaris+PostgreSQL不明+PHP不明を使っています。
TIMESTAMP型のカラムへPHPのフォームで入力した値を入れようとするとエラーで、データが登録できません。
ちなみに入力しようとした値をそのままpsqlコマンドで入力したら正常に登録出来ました。

Linux+PostgreSQL7.3+PHP4.3.1の場合、同じソースで問題なく利用できました。
SQLとPHPのバージョンが確認できていなくあれですがこれは何が悪いのでしょうか?


587 名前:nobodyさん mailto:sage [04/03/05 23:25 ID:???]
釣は放置で



588 名前:nobodyさん mailto:sage [04/03/06 01:30 ID:???]
さっがっそうぜ!ドラゴンボール!!

589 名前:nobodyさん mailto:sage [04/03/06 16:09 ID:???]
釣りと思われるくらいに簡単な問題なんですか。。。
ぐぐってみてもそれらしい問題が出てこなかったんだけどなぁ。
ヒントだけでも下さい。。。

590 名前:nobodyさん mailto:sage [04/03/06 16:23 ID:???]
www.google.co.jp/search?q=%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%81%BE%E3%81%99

591 名前:nobodyさん mailto:sage [04/03/06 18:20 ID:???]
あー失礼しました。
エラー内容は下記の通りです。
Warning: pg_query() [function.pg-query]: Query failed: ERROR: parser: parse error at or near "00" at character 37 .
で、実際にpg_queryに渡しているのは、
INSERT INTO date VALUES ('2004-03-06 00:00:00')
です。

値の渡し方がマズイのでしょうか?

592 名前:nobodyさん mailto:sage [04/03/06 18:59 ID:???]
>>591
テーブル構造カモーンΨ(゜∀゜)Ψ

593 名前:nobodyさん mailto:sage [04/03/06 19:07 ID:???]
>>591
> 実際にpg_queryに渡しているのは、
> INSERT INTO date VALUES ('2004-03-06 00:00:00')
> です。
ほんとか?

594 名前:nobodyさん mailto:sage [04/03/06 20:12 ID:???]
>>592
失礼しました。テーブル構造です。
sql_test=# \d date
Table "public.date"
Column | Type | Modifiers
--------+-----------------------------+-----------
date | timestamp without time zone |

>>593
pg_queryに渡した変数をそのまま変数で書き出してペーストしたので間違っていないかと思います。
問題点を明確にする為にTIMESTAMP部分を抜き出して下記のような感じでテストしています。
現在手元にSolarisをいじれる環境がないので、アドバイス結果をすぐには試せないのですが、
RedHatの鯖ではこれで問題なく動きました。
Solarisの鯖では何故か>>591のようなエラーが。。。

<?php
$inc_pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";

$string = 'dbname=sql_test';
$db['handle'] = pg_connect ($conn);

$pg['exec_id'] = pg_query ($db['handle'], $pg['sql_query']);

pg_close ($db['handle']);

print 'sql =>' . $pg['sql_query'];

?>

足りない情報がありましたら出せるだけ出しますので、よろしくおねがいします。

595 名前:586 mailto:sage [04/03/06 20:16 ID:???]
>>594
スクリプトで一部間違ってました。

>$string = 'dbname=sql_test';
>$db['handle'] = pg_connect ($conn);
-----
$conn = 'dbname=sql_test';
$db['handle'] = pg_connect ($conn);


596 名前:586 mailto:sage [04/03/06 20:20 ID:???]
訂正をなんどもすみません。

>$inc_pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";
-----
$pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";


597 名前:nobodyさん mailto:sage [04/03/06 21:53 ID:???]
SQLインジェクションが非常に気になるが、それは置いといて、

pgsqlのバージョンは、select version(); で確認できる。
phpもpnpinfo();でわかる。

で、ひょっとしたらYMDじゃなくて、MDYに設定されているのかも?
確認方法があったと思うが失念。
'03/06/2004 00:00:00'でやるとどうなるかな。



598 名前:586 mailto:sage [04/03/06 23:54 ID:???]
>>597
アドバイスありがとうございます。
SQLインジェクションについてはまだ考えてません。
それはおいおい学習していきたいと思います。

バージョン情報の確認とMDY形式の入力を試してみたいと思います。

599 名前:nobodyさん mailto:sage [04/03/07 17:08 ID:???]
show DateStyle; とか
でもどっちで明らかな奴は自動で判別するけどな

600 名前:nobodyさん mailto:sage [04/03/08 04:17 ID:???]
>>498

Mac OS X 10.2.8,PostgreSQL 7.4.1,PHP 4.3.4で
全てソースをコンパイルして環境を作っていたんですが、
同じ現象に悩まされました。
ただ、

ld: unknown flag: -export-symbols

なわけだから、

Makefile の該当行でそのフラグを指定してる箇所を削って
次のようにしたら make は成功しました。

EXTRA_LDFLAGS = -L/usr/local/pgsql/lib


601 名前:nobodyさん mailto:sage [04/03/08 04:18 ID:???]
>>497 だったみたい

602 名前:586 mailto:sage [04/03/08 21:02 ID:???]
Solaris鯖はPostgresは7.1とPHP4.3.1でした。
それで'03/06/2004 00:00:00'の形式で入力しましたら無事にDBに登録されました。
アドバイス、本当にありがとうございました。
これで次に進めます。

603 名前:S.N [04/03/11 20:48 ID:Gs6PweG/]
春日井市の方にある藤山台幼稚園の園長先生の名前を知ってる方いらっしゃいませんか?
知ってたら教えて下さい。宜しくお願いします。

604 名前:nobodyさん [04/03/13 01:00 ID:36IkPElZ]
Linux+PostgreSQL7.3+PHP4.3.1での話なんですが
同環境の鯖からpg_dumpallしたファイルを
psql -f しようとしたら
「\connect: FATAL 1: IDENT authentication failed for user "xxxx"」
と怒られてぐぐった結果
pg_hba.confのlocalをall trustにしたんですけどまだ同じ症状なんです。
他に権限設定するファイルってあったら教えてください。
あと自宅鯖ですがpg_hba.confのlocalをall trusって危険ですか?


605 名前:ネットdeDVD(・∀・)♪ ◆uRDVDsgexc mailto:sage [04/03/13 01:06 ID:???]
PHPってすごいんですね・・・

606 名前:nobodyさん mailto:sage [04/03/14 14:23 ID:???]
>>604
よくわからんけど、ラージオブジェクトは使ってる?
pg_dumpall -g > "filename"
で、グローバルデータのバックアップはやった?

607 名前:nobodyさん [04/03/15 11:56 ID:u5uDbosW]
>>606
ラージオブジェクトは使ってないんです、
オプションは-fだけ付けてダンプでした…、
もう一度新鯖の方、DB初期化からやり直してみるカナ…。



608 名前:nobodyさん mailto:sage [04/03/15 13:16 ID:???]
ml.postgresql.jp/pipermail/pgsql-jp/2002-September/002592.html

609 名前:nobodyさん [04/03/16 03:09 ID:0I5atoz5]
>>608
すいません、initdbしちゃいました。
(そしたらあっさり動きました!)
今回のトラブル中でgoogle引いているなかで一つ気になったのが
hba.confでのlocalの設定の書き方なんですが、
どこだか忘れましたがあるサイトで
local  all  all  trust
ってー書き方しているページがあったんですが
ml.postgresql.jp/pipermail/pgsql-jp/2002-September/002592.html
とかオンラインマニュアルなんかは
local  all  trust
ですよね?
見間違えかナア?

610 名前:nobodyさん [04/03/16 03:10 ID:0I5atoz5]
失礼、お礼を書き忘れた!!
606さん
608さん
どうもありがとうございました!

611 名前:nobodyさん mailto:sage [04/03/16 08:31 ID:???]
>>609
7.3あたりで 項目が増えたんじゃなかったかな?
changesを見てマジっすかって思った記憶があるよ。

612 名前:nobodyさん [04/03/18 05:39 ID:zQ2yHGPu]
>>611


pg_hba.conf の詳細は、PostgreSQL のドキュメントの 6.1. The pg_hba.conf fileにあります。



セカンダリパスワードが廃止されました。
USER カラムが追加されました。
データベースとユーザをカンマ区切りで列挙できるようになりました。 また、+グループ名でグループを、 @ファイル名でデータベース名またはユーザ名を記述したファイルを指定できるようになりました。
キーワードsamegroupが追加されました。

だそうです。
www.us.postgresql.org/users-lounge/docs/7.3/postgres/client-authentication.html

613 名前:nobodyさん mailto:sage [04/03/20 09:22 ID:???]
PHPもPostgreSQLも今日から挑戦してみる新参者です。

┌─┬─┬─┐
│○│△│×│
├─┼─┼─┤
│◎│□│◇│
└─┴─┴─┘
TABLEを用いてDBの値を上記のように表記したいのですが
PHPとPostgreSQLの組み合わせの定石などありますでしょうか。

PHP変数のスコープ範囲をグローバルとして確保するなら
SQLから変数へ一度に値を確保しておいて
<TABLE><TR><TD><?echo $変数1?></TD><TD><?echo $変数2?></TD>......
などとできそうかなと考えたのですけれど、下策でしょうか。


614 名前:nobodyさん mailto:sage [04/03/20 10:06 ID:???]
>>613
プログラミングそのものが始めてというならそれでも構わんが、
とりあえずやって慣れないとな。

次ステップとして、foreach文でループしながら書き出す。
その次は、PEARのHTML_Tableを使って書き出す。
また、その次はテンプレートを使って書き出す。

手法はいろいろあるから、技術レベルとサイトの規模に合わせて
使い分けすりゃいいべ。

615 名前:nobodyさん mailto:sage [04/03/20 11:25 ID:???]
>614
つまり各個別で変数をひとつずつ出力するよりも
タグまで出力することを一区切りとして実装した方が
負荷が少ないということになるのですね。

テンプレートは自分でクラスを作ればいいということでしょうか。
HTML_Tableは<TBODY>や<COL>要素が出力されないようなので
自分で作ってみようと思います。
ありがとうございました。


616 名前:nobodyさん [04/03/22 16:39 ID:QoPkBfoi]
webから入力されたe_mailアドレスをDBに貯めておいてcronで一定時に
配信するプログラムを作ろうと思ったんですがそのcronで呼ばれる方のphpは
コマンドライン版(プログラムの頭に#/×××/×××/php とか付く奴)にあたると思うんですが
デバグ時にコンソールから直で呼び出した時にエラーをモニタにだしたいんですが
なにかオプション付けて実行とかどなたかご存知でしょうか?

617 名前:nobodyさん mailto:sage [04/03/22 17:05 ID:???]
>>616
PHPのマニュアルの PHPをコマンドラインから使用する を見てみれ。



618 名前:616 [04/03/23 04:32 ID:PH/L9hMF]
>>617さん
#!/usr/bin/php -qを頭につけて
クーロンと直接実行と両方試したんですが
エラーもはかずに配信もされないんですが
コマンドライン版特有のデバグ方法等ありましたら
url等情報頂けたらありがたいです。

619 名前:nobodyさん mailto:sage [04/03/23 05:59 ID:???]
>>618
617ではないが、
MTAのログは?

620 名前:616 [04/03/23 18:38 ID:zP9z4yZ0]
>>619
/var/log/mail_logには一切メールを送った形跡なし…。
何故エラーすら吐かないんだろう?

621 名前:nobodyさん mailto:sage [04/03/23 19:03 ID:???]
>>620
メール送信処理のかわりにファイル作成してみるとか
そのファイルに変数の値とか出力したらいろいろわかる可能性も

622 名前:616 [04/03/23 20:48 ID:zP9z4yZ0]
>>621
ドモです、さっそくやってみます。


623 名前:nobodyさん [04/04/06 12:05 ID:irRO9IOr]
質問です。。。

Postgresのビット演算についてお力をお貸しください。
text_a varchar(5) と宣言してある所に 00110 の文字列が入っています。
それに対して 00010 の文字列で&演算したいのですが、エラーになってしまいます。

■エラーが出た部分(一部抜粋)
WHERE ( CAST( text_a AS bit ) & B’00010’ ) > B’00000’

■エラー文
varchar から bitへの変換ができないといわれます。
何かこれを回避する方法または別の手段が無いでしょうか?
お力をお貸しください。


624 名前:nobodyさん mailto:sage [04/04/06 13:28 ID:???]
>>623
ビット型に変換しなくとも。
WHERE (text_a::int & '00010'::int) > 0
で、目的は達成すると思われ。


625 名前:623 mailto:sage [04/04/06 14:36 ID:???]
>>624
アドバイスありがとうございます。
早速やってみます!

626 名前:623 [04/04/06 14:48 ID:irRO9IOr]
>>624
結果報告です。
ERROR: Cannot cast type 'varchar' to 'int4'
でダメでした。とほほ

627 名前:624 mailto:sage [04/04/07 16:53 ID:???]
text 型からint型にはキャスト出来たので、Varchar型も出来ると思っていた。

(text_a::text::int & '00010'::int) > 0
ならどぉよ。



628 名前:623 mailto:sage [04/04/07 19:14 ID:???]
>>627
できました!
::text::int 2重に変換できるんですね。
勉強になりました、ありがとうございました。

629 名前:nobodyさん mailto:sage [04/04/07 22:11 ID:???]
ダウンキャストなのかコンバートなのか分からなくなってくるな。

630 名前:nobodyさん [04/04/18 00:22 ID:jle0qDKt]
DBサーバとWebサーバを物理的に同一の
マシンで兼用させることは出来るのでしょうか?
その場合IPが一緒になると思うのですが試したことのある方がいたら
教えてください。

ハードディスクを2つのパーティションに切って、片方をDBサーバ
OS:Linux
DB:Postgres
もう片方をWebサーバにしようと考えています。
OS:Win系
HTML、PHPで携帯サイトもどきを作ろうと考えています。

資金の都合があり、一台のPCで済ませようとしているのですが
根本的にありえない質問でしたらお許しください。
実際のサイトではまずありえない環境なのはわかっています。
他サイトを調べたのですが情報を得ることが出来ませんでした。
最後に来たのがここなわけで・・・。

631 名前:nobodyさん mailto:sage [04/04/18 00:25 ID:???]
>>630
>実際のサイトではまずありえない環境なのはわかっています。
おいおい

632 名前:nobodyさん mailto:sage [04/04/18 00:42 ID:???]
>>630
なぜDBとWeb両方Linuxで動かさないんだ?

633 名前:nobodyさん [04/04/18 00:49 ID:gbPENzjB]
( ゚д゚)ポカーン

634 名前:nobodyさん mailto:sage [04/04/18 00:50 ID:???]
>>630
うるさいよマルチ野郎
pc5.2ch.net/test/read.cgi/hp/1082203621/17

635 名前:630 [04/04/18 01:32 ID:jle0qDKt]
>>634
すみません。ルール違反と知りつつもマルチしてしまいました。

>>632
仕事でやっている環境に合わせて勉強したかったもので。

>>631
説明不足でした。すみません。
公式サイト等ではサーバー負荷を考慮してDBとWebサーバを
別々にするので、ほとんど無いという意味で書き込みしました。
非公式サイトの開発・運用経験をお持ちの方ならやり方を
知っているのではないかと思い質問させてもらいました。

634のリンクさきのスレに書き込んでいただいた方のおかげで、
なんとか出来るかもしれないことがわかりましたので、
今色々と調べています。

636 名前:nobodyさん mailto:sage [04/04/18 01:41 ID:???]
>>635
PC初心者板へ行ってくださいな。
そして「2つのパーティションに別々のOSを入れて同時に走らせたい」と言うんだよ。

637 名前:nobodyさん [04/04/18 02:54 ID:XCZiYJqw]
「札」という文字をテーブルに入れようとすると
次のようなエラーが出ます

Warning: pg_query(): Query failed: ERROR: invalid byte sequence for encoding "EUC_JP": 0x8e44

どうすればよいのでしょうか?



638 名前:nobodyさん mailto:sage [04/04/18 04:06 ID:???]
「札」が8E44になるのはSJISの時でないのん?
そりゃDBも往生しまっせ

639 名前:nobodyさん mailto:sage [04/04/25 13:29 ID:???]
set client_encoding to 'sjis';


640 名前:nobodyさん [04/04/26 02:10 ID:WthorSeH]
>>639
それやったけど駄目でした・・・

641 名前:nobodyさん mailto:sage [04/04/27 23:01 ID:???]
mb_convert_encoding('札','EUC-JP','SJIS')すれ

642 名前:nobodyさん [04/04/28 01:20 ID:v4hgreAJ]
>>641
できました。
ありがとうございます。

643 名前:nobodyさん [04/05/01 13:52 ID:mFnw69ow]
ERROR: could not extend relation "hogehoge": No space left on device
HINT: Check free disk space.

ってエラーが出るのですが何が原因ですか?
サーバースペースは余ってる筈なんですけど、、、。

644 名前:nobodyさん [04/05/01 14:09 ID:jvss00O+]
PHPとCGIを同じファイルで使う事は可能ですか?

645 名前:nobodyさん [04/05/01 17:49 ID:wi9QOksv]
また難解な質問が来たな…。>644

とりあえず「可能」と答えておこう。
質問の意味がまったく分からないけど。


646 名前:nobodyさん mailto:sage [04/05/02 20:46 ID:???]
>>644
>>645
こういうことじゃない?
-hatena.cgi------------------------------
open(IN, "datafile.txt");
while ($xx = <IN>) { print $xx; }
close(IN);
<?php
$fp = fopen('write.txt', 'w');
fputs($fp, "****\n");
fclose($fp);
?>
----------------------------------------
だったら俺の知ってる限りでは無理

647 名前:nobodyさん mailto:sage [04/09/11 05:17:25 ID:???]
Postgresの配列型を、PHPの配列にする時どうしてる?
正規表現とかな?



648 名前:nobodyさん mailto:sage [04/09/11 05:24:59 ID:???]
{}取り除いて、,でexplode

649 名前:nobodyさん mailto:sage [04/09/11 13:54:57 ID:???]
>>648
{",", "}"}とかに対応できない悪寒

650 名前:nobodyさん mailto:sage [04/09/11 15:50:56 ID:???]
>>647-649
が解決できたら PostgreSQL の配列型は HTML のチェックボックスを
格納するのに使えそうだね。

651 名前:nobodyさん mailto:sage [04/09/11 18:00:56 ID:???]
>>649
再帰呼出を使えば出来るでしょ。

652 名前:651 mailto:sage [04/09/11 18:08:47 ID:???]
スマソ勘違いしてた。
デリミタと囲い子の問題ね。

653 名前:nobodyさん mailto:sage [04/09/11 18:15:03 ID:???]
>>651
多次元配列じゃなくて、特種文字の扱いが問題だと思うのですが・・・・。
preg_match_allやpreg_splitでも正しくパースするのは難しそう。
#PostgreSQLのソースにヒントがあるかな?
PEAR MDBのキャスト機能で配列型も変換してくれるようになったら嬉しいな。

654 名前:653 mailto:sage [04/09/11 18:16:21 ID:???]
ちょっと遅かった... orz

655 名前:651 mailto:sage [04/09/11 18:24:02 ID:???]
>>653
fgetcsvの第一引数が文字列であるような関数があれば可能なんだよな。

656 名前:653 mailto:sage [04/09/11 21:16:41 ID:???]
>>651
自分もそれ考えてた。
一次元の配列に限定すれば、両端の{}を削ったのを一時ファイルに書き出して
fgetcsvすれば","もうまく扱えるはずだけど、オーバーヘッドが大きいし
それ以前にそんなコード書きたくない。
fgetcsv自体がバギーかつ仕様がコロコロ代わってるのも困りもの。

一次元の配列で、数値しか格納しないという前提なら>>648でいけるし、
それだけでもけっこう使えるとは思う。

配列型を活かしたクエリを発行しないならserializeしてTEXT型で保存
→fetchしたデータをunserializeで十分なわけだけど。

657 名前:nobodyさん mailto:age [04/09/25 02:40:26 ID:???]
質問させてください
pl/pgsqlを触り始めたのですがエラーに悩まされております
下記のように引数にテーブル名をいれて動かそうとすると
エラーになってしまいます。テーブルの実名をそのまま入れた時は動きました。
うまく動かす方法はないでしょうか?
よろしくお願いします。


CREATE OR REPLACE FUNCTION test_function(text) RETURNS INTEGER AS '

DECLARE
IN_table_name ALIAS FOR $1;
data_cnt INTEGER DEFAULT 0;
rec RECORD;
BEGIN

FOR rec IN SELECT * FROM IN_table_name LOOP
data_cnt := data_cnt + 1;
END LOOP;

RETURN data_cnt;
END;
'
LANGUAGE 'plpgsql';




658 名前:nobodyさん mailto:sage [04/09/25 03:12:19 ID:???]
>>657
CREATE OR REPLACE FUNCTION test_function(text) RETURNS INTEGER AS '

DECLARE
IN_table_name ALIAS FOR $1;
data_cnt INTEGER DEFAULT 0;
rec RECORD;
sql TEXT;
BEGIN
sql := ''SELECT * FROM ''||IN_table_name ;
FOR rec IN EXECUTE sql LOOP
data_cnt := data_cnt + 1;
END LOOP;

RETURN data_cnt;
END;
'
LANGUAGE 'plpgsql';

659 名前:nobodyさん mailto:sage [04/09/25 03:18:53 ID:???]
よくわかりました! ありがとうございます
早速試して見ます

660 名前:nobodyさん mailto:sage [04/10/12 21:01:41 ID:???]
わけあって
httpd.confのデフォルトキャラクタセットSHIFT_JISなのね。
postgreはもちEUCなんだけど
PHP使ってなんかするとき問題あっか?

661 名前:nobodyさん mailto:sage [04/10/26 03:37:10 ID:???]
SET client_encoding=SJIS;

662 名前:661 mailto:sage [04/10/26 03:40:51 ID:???]
寝ぼけてレスしたけど、よく見ると半月も前じゃん

663 名前:nobodyさん mailto:sage [04/10/26 15:42:23 ID:???]
わはは、なんかワロタ。

そもそもhttpd.confのDefaultCharsetとPostgreSQLのEncodingは全く関係ないし、
せめて気にするなら、PHPの内部コードと>>660の頭だな。

664 名前:ド素人 [04/11/23 11:23:13 ID:3+AQgTJt]
psqlで  \(バックスラシュ) をインサートしようとするとエラーになります。エンコードはEUC_JPなんですが、、、どうすればいいのでしょうか?


665 名前:ド素人 [04/11/23 11:36:12 ID:3+AQgTJt]
confのclient_encoding とかをEUC_JPとかにするんでしょうか?


666 名前:ド素人 [04/11/23 11:41:25 ID:3+AQgTJt]
寝ぼけて書いたけど、半月前の板じゃん、わはは。なんかワロタ。

667 名前:ド素人 [04/11/23 11:42:27 ID:3+AQgTJt]
とかい言いつつ、、レスを待ちつづける俺。
切羽詰ってたりして…



668 名前:nobodyさん mailto:sage [04/11/23 11:45:21 ID:???]
sql書け。

\を\\に置き換えてるか?

669 名前:ド素人 [04/11/23 11:45:43 ID:3+AQgTJt]
マジ、だずけでほじぃ。。。

670 名前:ド素人 [04/11/23 11:47:21 ID:3+AQgTJt]
\を\\にしても同じでした。。エスケープってことですよね?

671 名前:nobodyさん mailto:sage [04/11/23 11:50:13 ID:???]
insert table_name (hoge) values ('\\')

でinsert出来ない?

672 名前:nobodyさん mailto:sage [04/11/23 11:50:49 ID:???]
insert into table_name ... だった

673 名前:ド素人 [04/11/23 11:52:21 ID:3+AQgTJt]
sqlはこんな感じでございます↓
$inData = array(
'id'=>$sh->dba->nextId('tbl_bbs_id'),
'bid'=>$HTTP_VARS['bid'],
'id_no'=>$aUser['id_no'],
'title'=>ココ→ '\\',
'body'=>$VARS['body'],
'del_flg'=>'N'
)

674 名前:ド素人 [04/11/23 11:54:36 ID:3+AQgTJt]
単純なSQLでinsertしてみたのですが、、同じでした。

675 名前:ド素人 [04/11/23 12:00:53 ID:3+AQgTJt]
dbが壊れてるんでしょうか?通常はありえないんでしょうか?

676 名前:ド素人 [04/11/23 12:03:12 ID:3+AQgTJt]
フィールドタイプが「text」なんですが、これは問題ないでしょうか?

677 名前:nobodyさん mailto:sage [04/11/23 12:03:13 ID:???]
phpとsql、それぞれのエスケープで\\\\



678 名前:ド素人 [04/11/23 12:08:44 ID:3+AQgTJt]
ありがとうございました!!!!!!
は、、はいった。。涙が・・・

679 名前:ド素人 [04/11/23 12:14:09 ID:3+AQgTJt]
実はezのハートを入れようと、、2日寝ておりませんでした。。
^N\264の場合は ^N\\\\264に変えればでるのでしょうか?
もしも、ご存知でしたらご教授いただけますでしょうか?
場違いでしたら、退散いたします。。

680 名前:ド素人 [04/11/23 12:22:11 ID:3+AQgTJt]
nobody殿に感謝しつつ、退散いたします。
nobody殿、バンザーイ!バンザーイ!バンザーイ!

681 名前:nobodyさん mailto:sage [04/11/24 09:19:58 ID:???]
どういたしまして^^;

682 名前:nobodyさん mailto:sage [04/11/24 11:35:02 ID:???]
test

683 名前:nobodyさん mailto:sage [04/11/26 07:18:01 ID:???]
nobodyknows

684 名前:nobodyさん [05/02/23 08:53:54 ID:mE2XQAit]
あげ

685 名前:nobodyさん [05/03/06 00:22:16 ID:AGppAUzL]
ちょっと詰まっていることがあるのですが、わかる方がおられましたらアドバイス願います。
環境は、Linux(CentOS4.0)、Apache2.0、PostgreSQL7.4、PHP4.3(mbstring、pgsql付き)です。

---page1.php---
<?php
$page = "ページ1";
require ("search.inc");
?>

---page2.php---
<?php
$page = "ページ2";
require ("search.inc");
?>

---search.inc---
<?php
$con = pg_connect("dbname=db");
$result = pg_query($con, "select * from table where page = '$page'");
# 以下、内容の表示
?>

という構成で、要するに
page1.phpでは、データベースからpageフィールドが「ページ1」のレコードを表示し、
page2.phpでは、データベースからpageフィールドが「ページ2」のレコードを表示する、ことを意図しています。

ところが、現在生じている問題は、
page1.phpでもpage2.phpでも、「ページ1」「ページ2」両方のレコードが表示されてしまうのです。

他のページでも同様にデータベースからの検索・表示を行っているのですが、
そちらは問題なく、「ページ1」と「ページ2」だけが両方混ざってしまいます。
1とか2とか全角数字が問題なのでしょうか。両方selectされてしまうのが不可解なのですが。

686 名前:685 mailto:sage [05/03/06 00:44:38 ID:???]
補足です。

■page1.phpを、以下のように書き換えても、結果は同じでした。

---page1.php(改)---
<?php
$con = pg_connect("dbname=db");
$result = pg_query($con, "select * from table where page = 'ページ1'");
# 以下、内容の表示
?>

■また、$pageがひらがな・カタカナ・漢字のみの場合は、正しくselectされます。

---page3.php---
<?php
$page = "ほげほげ";
require ("search.inc");
?>

■データベースの内容をチェックしましたが、
 pageフィールドにはきちんと「ページ1」「ページ2」という値が入っています。

687 名前:nobodyさん mailto:sage [05/03/06 01:08:04 ID:???]
>>685
原因わからない(´・ω・`)ショボーン。
Postgresの設定いじってログにクエリを表示させて見てはどうだろうか。(既存のシステムだと無理だろうけど)

それとpage1.php page2.php page3.phpと分けないで
search.php?page=page1
とかしてやったほうがいいんじゃないか?



688 名前:nobodyさん mailto:sage [05/03/06 01:32:40 ID:???]
ロケールが設定されているとか。
show lc_collate;
show lc_ctype;
辺り。

689 名前:685 mailto:sage [05/03/06 16:56:51 ID:???]
レスどうもありがとうございます。

>>687
> それとpage1.php page2.php page3.phpと分けないで

実際のpage1.php、page2.phpは、HTML部分が異なるので、別ファイルにする必要があるんです。

>>688
> ロケールが設定されているとか。

なるほど、それが原因ですね、きっと。
しかし、ロケールの設定についてちょっと調べてみたんですが、
何だか難しくてよくわかりませんでした・・・orz。
これからもっと勉強します。

ちなみに、「ページ1」「ページ2」の表記を「ページ1」「ページ2」と半角数字に変えてみたら、
きちんとselectされるようになりました。当面はこれでしのぐことにします。

FedoraCore2では、こういう問題は生じませんでしたから、
OSにも左右されるみたいですね。同じRedHat系なんですが。

690 名前:nobodyさん mailto:sage [05/03/06 22:00:03 ID:???]
携帯サイト作ってるんですけど
開発環境のWEBサーバー(Apache2.0 Windows2000)では動作するんですが、
本番環境のWEBサーバー(Apache1.3 Linux)へ移すと「接続先のサーバは現在ご利用できません(502)」と出ます。

502のエラーとして調べた結果「ゲートウェイもしくはプロキシサーバが上流から無効なレスポンスを受け取った」とのことです。

このエラーの要因として考えられるのはHTTPD.CONFファイルの設定の違いでしょうか?
とすると、対処法として、本番環境のHTTPD.CONFを開発環境と同じにするしかないでしょうか?

691 名前:nobodyさん mailto:sage [05/03/07 08:44:23 ID:???]
>>690
ここはPHP postgreSQL のスレです

692 名前:nobodyさん mailto:sage [05/03/14 10:56:04 ID:???]
テーブルがなければ作る、というのはどういうやり方がスマートなんでしょうか。

693 名前:nobodyさん mailto:sage [05/03/14 13:59:50 ID:???]
>>692
テーブル名一覧テーブルを参照して、テーブルが
無ければトランザクション内でテーブルの作成と
テーブル名一覧テーブルの更新を行う。

694 名前:nobodyさん [05/03/17 08:48:05 ID:6RtiKHZ9]
学ぶのに最適なサイトを教えてください

695 名前:nobodyさん mailto:sage [05/03/17 16:02:20 ID:???]
マニュアル+MLで

696 名前:nobodyさん mailto:sage [2005/05/12(木) 17:12:14 ID:???]
一寸煮詰まってしまってまして、よろしければアドバイスいただけないでしょうか?
Select (Case When A.Field = '' Then 0 Else A.Field End)::integer From Table as A
というSQLを発行し、A.Fieldが''(空白文字列)だった場合0を出したいのですが、
invalid input syntax for integer:
と、エラーが出てしまいます。
これがもし、A.Fieldが''ではなく、NULLだったらうまくいくのですが。。
この問題を回避する何か良い方法はないでしょうか?

よろしくお願いします。

697 名前:nobodyさん mailto:sage [2005/05/12(木) 22:55:49 ID:???]
>>696
A.Fieldは文字列ですよね。数値(integer)に変換できない文字列が含まれているんじゃ?



698 名前:696 mailto:sage [2005/05/13(金) 21:19:35 ID:???]
>697
レスありがとうございます。
そういう事ではなく、A.Fieldが’’(空白文字列)の場合にエラーが出るのですよ。
Select (Case When '' = '' Then 0 Else '' End)
とした場合0が出て欲しいのにエラーになっちゃうんですよね。ちなみにElseの後が1とかなら問題なく0が帰ってきます。
ThenやElseの後空白文字列がいけないのは分かったのですが、それを回避したいからCase使ってるのに駄目って
なぜだ〜って感じなんです。
言葉足らずですいません。

699 名前:nobodyさん mailto:sage [2005/05/13(金) 22:48:42 ID:???]
>>698
> Select (Case When '' = '' Then 0 Else '' End)

??? nanja korya?
何をしたいのか余計にワカランなった。

700 名前:nobodyさん mailto:sage [2005/05/16(月) 22:49:41 ID:???]
>>698
SELECT (CASE WHEN field='' THEN '0' ELSE field END)

701 名前:700 mailto:sage [2005/05/16(月) 22:50:28 ID:???]
SELECT (CASE WHEN field='' THEN '0' ELSE field END)::integer ね。

702 名前:nobodyさん [2005/10/11(火) 18:34:00 ID:A0maUghJ]
すいません、質問です。

Linux上にpostgresとPHPがインストールされていますが、
PHPからpgsqlを呼び出す事ができません。
phpinfo()で設定されてない事が確認できました。

で、調べて見た所オプションをつけてコンパイルしなおせば
使えるようになるみたいなんですが、
他に方法はありませんか?

Windowsだとphp.iniを書き直すだけで設定できたのですが
こういうのってLinuxだと無理なんですか?

703 名前:nobodyさん mailto:sage [2005/10/12(水) 05:28:13 ID:???]
pconnect対策でpgpool入れたんだけどpgpoolにpconnectしても接続数大杉になるよね?

「pgpoolにはconnectで。postgresへの直connectより軽い」が正解?

704 名前:nobodyさん mailto:sage [2005/10/12(水) 08:32:39 ID:???]
>>702
phpをどうやってインストールしたかによる
rpmならphp-pgsqlのパッケージだけを追加インストールすればよい
ソースからインストールしたのなら全部コンパイルしなおすかphpizeでext/pgsql/のみコンパイルして追加する

705 名前:nobodyさん mailto:sage [2005/10/13(木) 21:19:25 ID:???]
phpはソースから入れる方がいいように思う。
バージョンによる挙動の違いとかあるから。
うかつにアップデートするとまずいことになる。

706 名前:nobodyさん mailto:sage [2005/10/18(火) 17:46:31 ID:???]
portsでインスコしてportupgradeでアップデート終了
手抜きする為にFreeBSDを使うのが漏れのジャスティス(´・ω・`)

707 名前:nobodyさん mailto:sage [2005/10/18(火) 20:16:46 ID:???]
yumやapt-getもあるでよ



708 名前:nobodyさん [2005/11/05(土) 16:52:03 ID:3i8SmZZ/]
つーか、ちゃんとメンテナンスされてるパッケージシステムを使えばいいだけ。
PHP+DBなんてOSはどうでもいいし。

しかし、PHP+PostgreSQLなんて原価安い分買い叩かれて仕事稼げないのによくやるねえ。
SunEnterprise+Solaris+Oracle+iPlanet+WebLogicの仕事が一番稼げるよ。

709 名前:nobodyさん [2006/01/04(水) 20:58:12 ID:D32qMl2A]
おまえらあけおめ

710 名前:nobodyさん [2006/01/06(金) 14:57:06 ID:XMuialze]
PostgreSQL用の追加モジュールのpgsql.soをインストールしたいのですが、
phpizeコマンドが使えません。phpizeは/usr/local/binに入っています、
方法としては、/usr/local/src/php/ext/pgsqlに行き、phpizeを実行する、
と、bash:phpize:command not found となってしまいます。
まったくの初心者で、なにを治していいか分かりません、どなたかご指導願います。

711 名前:nobodyさん mailto:sage [2006/01/17(火) 18:44:37 ID:???]
Fedora core4にPHP5.1.2、postgres7.3.4、apache2.2.0を放りこまにゃならんのだけど
インストールの順番って特に考えんでも問題なし??

…PHP5.1.2なんてまだ使いたくねぇよorz

712 名前:nobodyさん [2006/01/17(火) 18:45:26 ID:0H6x+8rL]
ゴメン、ageてみる

713 名前:nobodyさん mailto:sage [2006/01/17(火) 19:01:48 ID:???]
>>711
分けてあるから平気よ。

枯れた環境がいいならFC4なんて使うなよ。
顧客の要望でFC4なら諦めろ。

714 名前:nobodyさん [2006/01/17(火) 19:27:58 ID:0H6x+8rL]
>>713
ありがとです。
FC4でデフォルトな装備品で気持ちよく開発したいもんだが、
隅から隅までお客サマの要望ときたもんだ(TT)
posgreをmakeしてるけどwarning吐きまくりだわ。いけるのか7.3.4
ready install!とか言われても不安が尽きないですよ。



715 名前:nobodyさん mailto:sage [2006/01/17(火) 19:32:49 ID:???]
>>711
なんでわざわざ7.3.4なんだ?
クラは8.1.xの存在知ってる?改良点についても。

716 名前:nobodyさん mailto:sage [2006/01/17(火) 19:33:43 ID:???]
>>711
俺はFC4じゃないけど、CentOS4に入れてみた。
PHP5.1.2、postgres8.1.2、apache2.2.0。
順番はApacheかPostgresが最初で、最後がPHP。


717 名前:711 mailto:sage [2006/01/18(水) 10:14:02 ID:???]
>>715
結構古くから使ってるDocomoのサイトなんだけど、
それのAU版を新しく作るんだわ。
まったく別にもう1つDBサーバー作るんだけど、
データの共有できる部分が多いからPostgresのバージョンは変えたく無いんだと。
クラの担当者本人が苦笑してたぐらいだからな〜〜orz
「サーバ担当チームが変更してくれん」ってさwww一体誰のこだわりなんだか

>>716
同じ順番になってる。なんかホッとしたー(・∀・)

昨日は私用で帰っちゃったので本日中に開発環境整えれるように頑張ります



718 名前:716 mailto:sage [2006/01/18(水) 10:40:20 ID:???]
>>717
データの共有出来る部分?
よくわからんけど、Postgres7,3,3からPostgres8.1.2に
データ移行したけど、全然問題なく簡単に出来たよ。
パフォーマンスも段違いだし、8にした方がいいよ。

719 名前:711 mailto:sage [2006/01/18(水) 11:24:09 ID:???]
>>718
分かっちゃいるんだけどねぇ…コレはお客サマのお告げなので…(TT)
もう本番サーバー設定しちゃったらしいし。しゃーないわ。



720 名前:nobodyさん [2006/01/18(水) 23:58:58 ID:BuFau/7y]
PHPにはPostgresqlが似合ってるな(中途半端!)
PerlにはMysqlが似合ってるな(早い!安い!)
JavaにはOracleが似合ってるな(めんどくせー!結構金かかるな!)

PHP+Oracleの案件って見たことねえ
Perl+Postgresqlの案件もあんまり見たことねえ(たまにあるね)
Java+Mysqlの案件は見たことねえ

きっとコストと処理速度と規模で決まっちゃうんだろうな

721 名前:nobodyさん mailto:sage [2006/01/19(木) 14:44:01 ID:???]
Oracle の JDBC ライブラリは普通にバイナリで出回ってるが
Perl や PHP から Oracle を引くにはドライバを make せんといかんので面倒がられる

PostgreSQL と Perl の組み合わせは、PL/Perl が最強だと思うんだが
現場で使われてるところを見たことがない

Java と MySQL は、よく知らないんだが
昔は UTF-8 対応が足枷になったりしてたのか?

722 名前:nobodyさん mailto:sage [2006/01/21(土) 04:00:36 ID:???]
>>720
Java+Oracle を PHP + Oracle でリニューアルした案件は結構見る。

723 名前:nobodyさん mailto:sage [2006/01/26(木) 03:40:56 ID:???]
PHP5.1のrpmが落ちてないなぁ。
エロイ人、お願いします。

724 名前:nobodyさん mailto:sage [2006/01/26(木) 03:57:34 ID:???]
>>723
すれ違い。
ディストリビューションかかないと解らないし。

725 名前:nobodyさん mailto:sage [2006/01/29(日) 19:06:11 ID:???]
Perlなら、Oracleについてくるじゃん。
あれって、Windowsだけだっけ?

726 名前:nobodyさん mailto:sage [2006/01/30(月) 16:07:49 ID:???]
Oracle は Zend と提携したし

727 名前:nobodyさん mailto:sage [2006/01/30(月) 23:33:48 ID:???]
しっかし 8.1 は速くなったのー。



728 名前:nobodyさん mailto:sage [2006/05/03(水) 21:26:11 ID:???]
もはやMySQLよりも速い気がしますね。

729 名前:nobodyさん mailto:sage [2006/05/08(月) 00:57:02 ID:???]
いや、実際速いよ。

730 名前:nobodyさん [2006/07/07(金) 12:29:39 ID:AUesg1Gs]
はじめまして。
RedHatLinux8.0上でPHPとpostgreSQL7.2.3をつかって顧客管理システムでも
つくろうかなと思っていたのですが、PHPは正常にインストールができてpostgreSQLの
インストールした後の環境変数の設定をしなくてはいけないらしくて、ホームディレクトリ
ディレクトリのbashrcにスクリプトを追加しなくてはいけません。
このpostgreSQLのインストール後の設定についてどなたか教えていただけませんでしょうか?

ちなみに参考文献は
「php×postgreSQLでつくる最強webシステム」
です。
どうかよろしくお願いします。


731 名前:nobodyさん [2006/07/07(金) 12:56:12 ID:AUesg1Gs]
先ほどの730のものです。
質問があいまいになっていたので、再度カキコさせていただきます。
postgreSQLのインストール行った後に、ホームディレクトリに

POSTGRES_HOME=/usr/local/pgsql/
export PATH="$PATH":/usr/local/pgsql/bin
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":POSTGRES_HOME/man

という内容を追加し、「source ~/.bashrc」を実行するとあるのですが、この
bashrcというファイルがどこにあるのかという事と、このホームディレクトリとは
はどこを指しているのかがよくわかりません・・・・

732 名前:nobodyさん mailto:sage [2006/07/07(金) 12:58:10 ID:???]
>>730
また古い物を、
で、環境設定ならP87から書いてある通りで桶だと思うが。
viでもなんでもエディタでpostgresのホームディレクトリにある
本通りだと/usr/local/pgsql/.bashrc にP88の内容通りすりゃいい。

ログイン時に.bashrcを読み込んでくれないのなら.bash_profileの
中身を確認。RedHat系なら読み込んでくれると思ったが。

733 名前:nobodyさん [2006/07/07(金) 13:08:50 ID:AUesg1Gs]
nobody様

ご助言ありがとうございます。
参考にさせていただきます!!

734 名前:nobodyさん [2006/07/07(金) 14:56:02 ID:AUesg1Gs]
/usr/local/pgsql/.bashrc を書き換えたいのですが、bashrcというファイル名
のファイルが見つかりません。windowsのようにフォルダオプションに相当する
コマンドか何かあるのでしょうか?

735 名前:nobodyさん mailto:sage [2006/07/07(金) 15:41:15 ID:???]
>>734
無ければ作ればいいんだけど・・?
通常は隠しファイルで見えないだけで、 ls -la とかやってみては?

736 名前:nobodyさん mailto:sage [2006/07/07(金) 22:39:50 ID:???]
/usr/local/pgsql/.bashrcでいいの?

737 名前:nobodyさん mailto:sage [2006/07/08(土) 09:08:12 ID:???]
>>736
ログインしたユーザーに環境変数をセットしてあげたいんでしょ?
だったら、その人のホーム直下に作らないとダメね。

 ~/.bashrc ね



738 名前:nobodyさん mailto:sage [2006/09/27(水) 15:35:11 ID:???]
postgreSQL 7.3.1 + PHP
です。
$sql = "DROP TABLE IF EXISTS test";
pg_query($sql);

という感じで、 test というテーブルが存在する場合に DROP TABLEさせたいのですが
テーブルの存在はどのように判定したらよいでしょうか

上記では、pg_query がエラーを出してしまいます。

739 名前:nobodyさん mailto:sage [2006/09/28(木) 02:43:52 ID:???]
IF EXISTS ってmysqlじゃないですか

740 名前:nobodyさん mailto:sage [2006/10/01(日) 13:01:09 ID:???]
>>738
www.postgresql.jp/document/pg814doc/html/infoschema-tables.html

741 名前:nobodyさん mailto:sage [2006/10/01(日) 21:50:33 ID:???]
以下のコードで、pg_insert()のエラーが出力されないのですが、エラーを取る方法はあるのでしょうか?

//'bool'カラムでエラー
$data = array('number' => 3, 'bool' => 'trueee', 'time' => date('Y-m-d H:i:s'));

$res = pg_insert($con, 'test', $data);
if (!$res) echo pg_result_error($res);

----------------------------------------------------------

pg_query()の場合は正常にエラーが出力されます。

$date = date('Y-m-d H:i:s');
$res = pg_query($con, "insert into test(number, bool, time) values(5, 'trueee', '{$date}')");
if (!$res) echo pg_result_error($res);

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for type boolean: "trueee"

環境
 windows XP
 PHP 5.1.4
 Apache 2.0.58
 Postgres 8.1.4

または
 FreeBSD 6.1
 PHP 5.1.4 or PHP 5.2
 Apache 1.3.37
 Postgres 8.1.4

742 名前:nobodyさん [2007/06/26(火) 15:17:35 ID:KNA8dvka]
phpから、db_dumpの実行方法がわかりません。
もしかして、「psql.exe」を呼び出して実行させるプログラムが別途必要になってくるのでしょうか?
psqlからなら、出来たのですが、、、


743 名前:nobodyさん [2007/06/26(火) 15:25:27 ID:KNA8dvka]
具体的には「pg_dump」を実行させて、データのバックアップをとりたいのですが、
pg_dump test_db > database_name.sql
をPHPファイルのどこに記入したら良いのかわからないです。


744 名前:nobodyさん mailto:sage [2007/06/26(火) 17:39:31 ID:???]
system()で実行したらどうでしょうか

745 名前:nobodyさん mailto:sage [2007/08/25(土) 00:24:48 ID:???]
文字コードの変換は、
PostgreSQLのSET NAMES

PHPのmb_convert_encoding
のどちらでやるほうがいいのでしょうか?


746 名前:nobodyさん [2007/09/03(月) 07:59:26 ID:KucjbbQW]
初の質問です。
今php+postgresql+fedoracore4でシステムを作っているんですが、
どうも原因がpostgresqlにあるとわかってきました。
自分はDBを作るときまず文字コードをeucに変えて入力するんですが
invalid byte sequence for encoding "EUC_JP": 0xe988
というエラーがでます。
PHPのソースはwww.mywave.co.jp/~ike50/chapter5.zip
にあります。
ぜひ教えてください。


747 名前:nobodyさん mailto:sage [2007/09/03(月) 13:19:55 ID:???]
>>746
いやです。
関係ないところを削って
30行以内に収めてから出直してください。



748 名前:nobodyさん mailto:sage [2007/09/04(火) 02:28:15 ID:???]
>>746
マルチは死んでください

749 名前:nobodyさん [2007/09/09(日) 02:29:17 ID:zQ9Ko6j+]
fedora core4でphp+postgresqlをやろうと思ったんですが
DBが認識してくれません。
DBの部分がエラーになるので、画面が真っ白です。
やった人いませんか?
DB認識はパッケージではだめなんでしょうか?
ちょっとわかりずらいかもしれませんが、よろしくです。


750 名前:nobodyさん mailto:sage [2007/09/09(日) 09:10:26 ID:???]
apacheのエラーログにはなんて書いてありますか?

751 名前:nobodyさん mailto:sage [2007/09/09(日) 11:02:45 ID:???]
氏ねバカ、と書いてある。

752 名前:nobodyさん [2007/09/10(月) 06:56:33 ID:iLiEDXXm]
PHPのconfigure時にPostgresqlが組み込まれているかしりたいです。
fedora core4でパッケージでphpをイントールしたのですが。
組み込まれているのでしょうか?
またこれ追加はできないのでしょうか?
後php info();で見てみたんですが、
dbx support enabled
dbx version 1.1.0
supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT SQLite
てでたんだがphpのconfigureの部分はなかった。
どうでしょうか?


753 名前:nobodyさん mailto:sage [2007/09/10(月) 14:55:10 ID:???]
PostgreSQL(libpq) Version とか出てないのか?

754 名前:nobodyさん mailto:sage [2007/09/10(月) 20:00:15 ID:???]
DB板のPostgreSQLスレに湧いていた馬鹿が、こんどはこのスレにきたか。消えろ。

755 名前:nobodyさん mailto:sage [2008/03/27(木) 13:58:14 ID:???]
ユーザIDをキーに持つテーブルを作ってですね

SELECT * FROM TABLE1 WHERE USER_ID = 'T&E SOFT';

まあ、IDはサンプルですが、このように'&'を含む文字列を条件に指定すると結果が一行も返ってきません。
IDに対してpg_escape_stringをかけても結果は同じでした。
CSEやpgAdminではこのクエリーは普通に期待する結果を返してくれるのですが…。

何か特殊なエスケープ処理を行わなくてはいけないんでしょうか?
PostgreSQLはversion7.4
PHPは4.3.3
Apacheha2.0.46
です。

756 名前:nobodyさん [2009/05/15(金) 11:17:54 ID:WsVpM47h]
質問です。
データベースに先生用テーブルと生徒用のテーブルがあります。
カラム名をtloginIDとsloginIDとして、
新規登録でログインIDの重複をチェックしたいと思っています。
SQL文を教えてください。
テーブル名は、teacherとstudentです。


757 名前:nobodyさん mailto:sage [2009/05/15(金) 11:23:15 ID:???]
確認するけど、ログインIDの重複をチェックしてどう処理するの?
許可するの?弾くの?



758 名前:nobodyさん mailto:sage [2009/05/15(金) 11:30:37 ID:???]
select count(tloginID) from teacher
select count(sloginID) from student で2以上なら重複あり

759 名前:758 mailto:sage [2009/05/15(金) 11:33:25 ID:???]
間違った
select count(*) from teacher where tloginID='hoge'

だな

760 名前:nobodyさん [2009/09/24(木) 09:08:59 ID:DwG28PME]
トランザクションして select for update ってやれば、
selectした行はロックがかかって他の人はその行は参照もロックされて待たせられるのでしょうか?


761 名前:nobodyさん [2010/01/21(木) 14:04:11 ID:2fYoTKfz]
いつも勉強させてもらっています。質問です。

いくつかのプロセスが残ってしまう問題で行き詰まりました。このような

hogehoge 31926 25387 0 12:04 ? 00:00:00 postgres: nanashi nanashi2010 192.168.00.00(37729) idle

のが数プロセス溜まってしまいます。
select * from pg_stat_activityとしてみても、確かにidleなものが確認出来ます。

PHP 4.3.2 + PostgreSQL 8.1.9 です。
pconnect関数、pgpoolも使ってません。

もし同様の問題についてご存じの方がいらっしゃいましたら、
アドバイスいただけるとありがたいです。
よろしくお願いします。

762 名前:nobodyさん mailto:sage [2010/01/21(木) 20:19:55 ID:???]
いや問題じゃないので

763 名前:nobodyさん [2010/01/21(木) 20:37:51 ID:2fYoTKfz]
>>762
仕様だ、ということですか?

764 名前:nobodyさん mailto:sage [2010/01/21(木) 21:46:20 ID:???]
当然接続は明示的にcloseしてるよな
Apacheがプロセス持ってるからとか言うオチだったらぶっ飛ばすからな

765 名前:nobodyさん [2010/01/22(金) 17:15:36 ID:6+I3LoB3]
>>764
もちろんしています。
Apacheプロセスについては、残っている場合とそうでない場合があり混乱しています。
通常、Apacheのプロセスが落ちれば残るはずは無いと思うんですが。

766 名前:nobodyさん [2010/12/02(木) 19:36:47 ID:JyGm6z0o]
■環境
centos5.3
postgresql 8.1

www.hizlab.net/app/meibo.html
上記よりsqlファイルをダウンロードし
以下を実行したのですが、エラーがでるのですがわかる人いますか?
2002年位に作られたページみたいなのでpostgresのバージョン違いのためでしょうか?

[www@localhost ~]$ createlang plpgsql -d inet_db
[www@localhost ~]$ psql -f /home/www/meibo.sql -d inet_db
psql:/home/www/meibo.sql:16: ERROR: function m_update_editdata() does not exist
CREATE FUNCTION
psql:/home/www/meibo.sql:29: ERROR: table "inet_job" does not exist
psql:/home/www/meibo.sql:37: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "inet_job_pkey" for table "inet_job"
CREATE TABLE
psql:/home/www/meibo.sql:41: WARNING: changing return type of function m_update_editdata from "opaque" to "trigger"
CREATE TRIGGER
psql:/home/www/meibo.sql:45: ERROR: sequence "seq_inet_profile_code" does not exist
CREATE SEQUENCE
psql:/home/www/meibo.sql:52: ERROR: table "inet_profile" does not exist

767 名前:nobodyさん mailto:sage [2010/12/03(金) 09:15:27 ID:???]
存在しないってエラーが出て、その後作成しましたって出てるから作成されてるんじゃないの?
作成に失敗したってエラーが出てれば作成途中で終わってるだろうけど



768 名前:nobodyさん mailto:sage [2010/12/03(金) 23:43:10 ID:???]
>>767
レスありがとうございます。
ソース(www.hizlab.net/view/app/meibo/meibo.sql)
をよく見たところ以下のようにDROP ナニナニ している部分を
コメントアウトしたところエラーがでなくなりましたが
新たに作ったデータベースに
DROP ナニナニ する作者の意図はなんなのでしょうかね?

-- 修正日/修正者を更新するトリガプロシージャを作成
DROP FUNCTION m_update_editdata();
CREATE FUNCTION m_update_editdata() RETURNS OPAQUE AS '
省略
-- テーブルの作成
DROP TABLE inet_profile;
CREATE TABLE inet_profile (
省略
-- 職種マスタの作成
DROP TABLE inet_job;
CREATE TABLE inet_job (
省略
-- INET_PROFILE 用のシーケンスを作成
DROP SEQUENCE seq_inet_profile_code;
CREATE SEQUENCE seq_inet_profile_code
省略

769 名前:767 mailto:sage [2010/12/04(土) 00:37:08 ID:???]
それは初期化スクリプトの定番でしょ

コマンドラインから流し込んでDB初期化するときに、もし前のデータが残っていればそこで初期化が頓挫してしまう
先にDROPした上でCREATEすれば何度流し込んでも同じように初期化できる

770 名前:nobodyさん mailto:sage [2010/12/05(日) 10:56:11 ID:???]
>>769
なるほど失礼しました。私が無知でした。
ありがとうございました。

771 名前:電脳プリオン mailto:sage [2012/01/02(月) 22:52:37.95 ID:??? BE:456084959-2BP(1960)]

  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>479
            / ←>>384

772 名前:nobodyさん mailto:sage [2013/08/17(土) NY:AN:NY.AN ID:???]
.          \\      ,土ヽ l 十  ├  ゝ‐、ヽ ll               尸  //
            \\  (ノ ) | Cト、.Cト、   ノ l_ノ よ  ̄ ̄ ̄ (⌒/   //
                   .....       .:_ -― ─- 、:.    ......
                  ..::⌒>.、:: ...::/::.::/::.:: ヽ::.::.\::....::x<⌒::.
              ::x-=≦.::.-=`ミO.:/:/:/|:./.:ハ::ヽ::`O::-=ミて`く⌒ヽ::
            ::, イ::ノ⌒'Z _⌒ Y彡::./V  j/ヽ::ハ.::.V::Y⌒/;^)- 入 \:
           ::/ :/八  '(:::::':,\ トV::./⌒     ⌒ヽ.::∨/,.::'::/  /:::∧  '\::
           ::/ `V::/ヽ\ \ :':, 八W __    __ jハ:::l, :':::::, ′ /:::/   ̄ ノ\::
        ::〈   ,.:'::/   ヽ \ \:l:ハ| 〃⌒    ⌒ヾ ハ:|::::/  ,.イ:::/     ∠.::勹::
       ::/ ! :.'::::∧   |  ヽ  \ム .:::::  r ┐ ::::.,'ノ/  / /::/   |__:/::
     ::∠._jハ_ん:ヘ/}ノ /ヘ  ヽゝ_  ヽ ノ   イ/  /⌒ん'⌒)_>::
                     ̄   ̄`ヽ   `=≧r ‐i彡''´  /::     ̄
                      ::\ヽ   ` ´   / /::
                       ::          ,′
                       ::i  :;     :;  i::
                       ::|          |::
                       ::l         |::
                         ::j            ::
                        ::,′           l::
                         ::/           |::
                     ::/              !::
                       ::/    〉┴r      ::
                       ::,′    /:: ::|     |::

773 名前:nobodyさん mailto:sage [2013/09/03(火) 08:13:13.43 ID:???]
ぬるぽ

774 名前:nobodyさん mailto:sage [2013/12/30(月) 19:24:59.46 ID:???]
まあまあこんな感じだよ

775 名前:nobodyさん mailto:sage [2014/01/02(木) 21:57:26.13 ID:???]
今年のラッキーカラーは?

776 名前:nobodyさん mailto:sage [2014/01/03(金) 18:08:08.71 ID:???]
来てるかも

777 名前:nobodyさん mailto:sage [2014/01/27(月) 20:19:46.52 ID:???]
周辺は厳戒態勢



778 名前:nobodyさん mailto:sage [2014/01/27(月) 22:05:39.86 ID:???]
世界一

779 名前:nobodyさん mailto:sage [2014/01/29(水) 21:03:23.07 ID:???]
どうもどうも






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef