[表示 : 全て 最新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. ]
語りません?

231 名前:ナナシファン [2001/07/25(水) 19:13 ID:xCgI2gSw]
PHPでpg_pconnectを使ったときって、何かおかしくない?
ちゃんと動いているという事例を聞いたことがないんだけど、
期待通りに動いている人っている?

232 名前:ほげ mailto:sage [2001/07/25(水) 21:06 ID:???]
>>231
期待どおりにって、SQL投げられるし別に普通だけど。

233 名前: [01/10/11 22:30 ID:tBxjcP4c]


234 名前:名無しさん@お腹いっぱい。 mailto:sage [01/10/11 23:11 ID:???]
>ちゃんと動いているという事例を聞いたことがないんだけど、
狭い世界にお住まいなのですね。

235 名前:Error401 [01/10/18 17:24 ID:fbcY2f30]
今日の発見。

pg_pconnect()を使うとqueryが速くなる。何故だ・・・。

name diff total
Start -
Query 0.0416 0.0416
Fetch 0.0217 0.0633
Stop 0.0031 0.0664

name diff total
Start -
Query 0.0186 0.0186
Fetch 0.0217 0.0403
Stop 0.0031 0.0435

236 名前:Error401 [01/10/18 17:35 ID:fbcY2f30]
う、見づらいし、何が何だかわかんないね。
・Connectして
・Selectして
・ループで回ってFetchして
・表示する
プログラム。
Benchmark/Timer.php使用。

pg_connect()を使った場合
name    diff    total
Start     -
Connect   0.0185  0.0185
Query     0.0130  0.0315
Fetch Loop 0.0218  0.0533
Stop      0.0031  0.0564

pg_pconnect()を使った場合
name    diff    total
Start     -
Connect   0.0397  0.0397
Query     0.0438  0.0836
Fetch Loop 0.0217  0.1053
Stop      0.0031  0.1084

237 名前:Error401 mailto:sage [01/10/18 17:37 ID:???]
すまぬ、pg_connect()とpg_pconnect()の場合が逆だった。

238 名前:名無しさん@お腹いっぱい。 [01/11/05 22:38 ID:I5P+61E/]
age がてら。

PostgreSQL に限ったことではないのですが、
・電話番号
・郵便番号
どういう風にフィールド作ってます?

市外 CHAR(4),
局 CHAR(4),
番 CHAR(4)

前3 CHAR(3),
後4 CHAR(4)

みたいな感じ? それとも一つの TEXT/VARCHAR?
それぞれ長所短所あると思いますけど、
よろしかったらみなさまのご意見お聞かせください。

スレ違いならスマソ

239 名前:名無しさん@お腹いっぱい。 [01/11/06 15:52 ID:aGDSTcYL]
あれ?
電話番号の市外局番ってMax4桁になったの?



240 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/06 16:01 ID:???]
なったの?って昔からでんがな。

241 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/06 16:44 ID:???]
つか、5桁もある

242 名前:名無しさん@お腹いっぱい。 [01/11/06 18:24 ID:y3LOZtVD]
質問です。

PCを最近はじめ、今、PHP+PostgreSQLを勉強中の者です、
DBの、登録、削除、一覧表(毎10件)を、一つのスクリプトで実行したいのですが、一覧する際、最初の10件は、表示してくれるのですが、
11件目から〜が、表示できないで困っております。
自分で考えて作ったのは、メインページからラジオボタンで選択し、
PHPスクリプトの中で、if(もしくはswicth)で、各実行をしてます。
一覧で、submitをクリックすると、11件目から表示させたいんですけど、
どうしてなのか、表示できません。

説明下手でわかりにくいかもしれませんが、誰か、イイアドバイス、お願いします。
ド素人なので、その辺も考慮して、お願いします。

243 名前:名無しさん@お腹いっぱい。 [01/11/06 18:34 ID:OqD8s6xc]
>>242
マンモス本読んだ?

244 名前:>>243 [01/11/07 10:11 ID:ieoCTquz]
マンモス本読んだけど、いまいちよくわかんないんです^^;

245 名前:名無しさん@お腹いっぱい。 [01/11/07 11:28 ID:ieoCTquz]
>>243
どの変(ページ数とか・・・)教えてくれると助かるんですが・・・。

246 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/07 12:02 ID:???]
>>245
漏れが持ってる PHP3 用のやつでよければ 81 ページからあたり。

247 名前:245 [01/11/07 12:43 ID:ieoCTquz]
>>>246
自分が持ってるのは、PHP4なので^^;

248 名前:名無しさん@お腹いっぱい。 [01/11/07 12:56 ID:rEwaGgOJ]
>>242
PHP4のやつはP144,145あたりを読めばいいかと。
でもPostgreSQLのselect文を理解してからのほうが
いいな。

249 名前:242 [01/11/07 14:14 ID:ieoCTquz]
もう少し、本読んで、勉強しなおします。
ご教授、ありがとうです。



250 名前:その他 [01/11/09 16:03 ID:vDpRquZJ]
PostgreSQLのインストール後
regression testを行ったのですが、全てが「failed」
になってしまいました。けれども、createdbもcreatetableも
insertもselectも問題無しに出来ます。でも、あとあと支障とか
あるのでしょうか?知っている方がいらしたら教えて下さい。

251 名前:hen [02/02/07 13:36 ID:Bho0YULV]

item_id | item_name
1    | XX
2    | YY
というテーブルがあって
変数 $itemname = XX として

このときitem_id = "XX"のitem_idを取り出すにはどうすればいいのですか?

とりあえず
$sql = "select item.item_id from item
where item.item_name = $itemname"; //item_nameとコンボボックスのdataが一致する時のitem_id
$result = pg_Exec( $conn, $sql );
とやってみたけどPostgreSQL query failed: って帰ってきます・・

252 名前:hen [02/02/07 13:42 ID:Bho0YULV]
$sql = "select item_id from item
where item_name = \"$itemname\"";

すんません
これに変えるとAttribute 'XX'not found

253 名前:名無しさん@お腹いっぱい。 [02/02/07 22:38 ID:blA7jPNr]
SQLで文字列は ' で囲む

254 名前:   [02/02/07 23:32 ID:z4yCqxdv]
いつも、教わってばっかりだから、
たまにわ、教えてやるヨ
$sql = "select item_id from item where item_name = '$itemname'";
って書くんだよ。
''で、変数を囲むんだよ、
これ最強

255 名前: [02/02/07 23:33 ID:t9L0Eq4j]
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50
pc.2ch.net/test/read.cgi/ad/1012670549/l50

256 名前:marois [02/02/10 22:51 ID:MJ34x4JG]
CGI版のPHP4をあるホスティングサービスで使っています。
pg_close($this->con);
のところで「pg_close -1」という値をクライアント(HTML上)
に返してきてしまうので困っています。
@を付けたり色々やってみたけど駄目。
同じスクリプトをPHP3で流すとOK。
ローカルのPHP4(Apache版)でもOK。
なにがいけないのでしょうか?
#このホスティングサービスPHPのサポートはしてくれないのです。

257 名前:名無しさん@お腹いっぱい。 [02/02/11 06:04 ID:yEMLRxJJ]
pg_fetch_object()でPGSQL_NUM(数値配列)引数を付けた場合,
次のような$rcプロパティでどのようにアクセスすればフィールドを
参照できるのでしょうか。

$this->rc[$i] = pg_fetch_object($result, $i, PGSQL_NUM);

258 名前:   mailto:sage [02/02/11 18:01 ID:???]
>>256
pg_close($this->con); 自体を削除すればOK!
closeなんて、かかなくても、動く。

259 名前:marois [02/02/11 20:58 ID:PVwY953h]
>closeなんて、かかなくても、動く。
動くとは思いますが、問題は出ないでしょうか?
一連のスクリプトで何度もOPENするのですが。
#セッションは1つなのでしょうか?
#疑ってすみません。



260 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/11 21:08 ID:???]
ついさっきOIDの表示の仕方忘れて大変だった、
select oid, * from table;
って書けばいいんだけどoid,とか記憶から消えてたね。
PostgreSQLの解説系のサイトどこに行ってもoid,の事には
あんまり触れてもないしgoogleでも引っかからないし・・・。

そういえばPostgreSQL関係で新しい本出てたね、あれなんだっけ?

261 名前:   mailto:sage [02/02/12 00:06 ID:???]
>>259
書かなくても,問題でない。
どーせ、commitとか、してないんだろ。
そんな、PGだから、closeなんて、不要



262 名前:marois [02/02/12 01:39 ID:Ixi/JtIe]
失礼な^^;
テーブルの更新にはトランザクションは使ってます。
一応複数SQL流すので保険として。

話はちょっとそれますが、サンプルプログラムでコネクションをグローバル
変数に保持して、それを最後まで使い続けるプログラムを見たことがありま
す。最後にユーザーがLogoutしてくれればpg_close出来ますが、いきなり
ブラウザをばっさり終了されてしまうと出来ないですよね。
コネクションにあんまり神経質になんなくても良いのですかね。

同時接続50-100ぐらいを想定しているもので...ちょっと心配なのでした。


263 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/12 21:51 ID:???]
>>260
公式本とかいうやつか?
postgresql.jpのだろ。

264 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/18 21:01 ID:???]
とりあえず、PEARのDBクラス使いませんか?>ALL

コネクション云々を考える負担が軽減されますよ。

265 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/18 23:58 ID:???]
>264
pearてわからんちん・・・( ´Д⊂ヽ ウエーン

266 名前:(=゚ω゚)ノ ◆SI2r4V0c mailto:sage [02/02/19 10:36 ID:???]
日本語マヌアルあるよ。

267 名前:(=゚ω゚)ノ ◆SI2r4V0c mailto:sage [02/02/19 10:38 ID:???]
pear.php.net/manual/ja/index.php

268 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 10:44 ID:???]
>>262
www.php.net/manual/ja/features.persistent-connections.php
らしいです。

あんまり神経質にならなくてもいいみたいです。

269 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 16:40 ID:???]
Postgreからtimestamp型のフィールドを取り出すとき、
日付の末尾に+9という値(GMT?)が付くんですが、これを取り外すには
どのようにすればいいんでしょうか。



270 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 16:59 ID:???]
>266
マヌエルて助っ人野球選手がいたよね昔。
(◕ฺ∀◕ฺ)

271 名前:marois [02/02/19 23:38 ID:SCYCQAYn]
>>268
情報ありがとうございます。
大変参考になりました。

話が変わるのですが、皆さんは文字コードに何をつかっておられますか?
結構文字化けに悩まされています。(PHP3i18でも)
私の場合、EUCでソースを書いて、EUCでDBに格納しているのですが、ブラウザが
Shift-JISと間違って判断してしまう場合があるようです。
<meta .htaccess と色々試してみたけど、駄目なときがある。
Shift-JISでソース、Shift-JISでDB格納していらっしゃる方はいらっしゃいま
すか? どんな組み合わせが文字化けしにくいんでしょうか?


272 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/20 00:07 ID:???]
>270
情報ありがとうございます。
大変参考になりました。

273 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/20 11:00 ID:???]
>>271
理屈上は、EUC-JPオンリーな運用をすれば化けないはず。

でもそれは現実的な話では無いからなぁ…

274 名前:名無しさん@お腹いっぱい。 [02/02/24 05:50 ID:IIwngioo]
php+postgreでwebアプリ構築してるんですが、
ログイン画面でユーザが入力したID、パスワードを照会するとき、
IDでSELECT ID, PASSWD ... みたいに引っ張ってきて、
そのPASSWDとPOSTに入ったパスワードをmd5で照会する、
この方法って無意味ですか?(セキュリティ上の観点で)


275 名前:274 mailto:sage [02/02/24 05:52 ID:???]
>>274
事故レス。情報不足してました。
DBには裸の状態でパスが入ってます。


276 名前:名無しさん@お腹いっぱい。 [02/02/24 06:50 ID:gC0AF2pI]
>>274
 無意味。

 DB内のパスワード見られたらクラックされる為。
 ハッシュ化(MD5、DES)したパスワードを格納する。

 質問の内容からして効率悪そうな開発をしているっぽいので、
crypt関数と、mod_auth_pgsql について調べることをおすすめ
する。

277 名前:274 [02/02/24 13:30 ID:IIwngioo]
>>276
早速調べて入れてみました。
で、今さらなんですが、パスワードはphp以外の箇所(言語)でも使うため
仕様変更が難しいようです。
まあごく限られたネットワーク内での使用を考えてるので(外には出さない)、
それほどセキュアなシステムで無くても良いんですが、DBを暗号化せず
セキュリティを高める方法ってないでしょうか(SSL以外)。

278 名前:名無しさん@お腹いっぱい。 [02/02/24 18:08 ID:L35l4mFf]
>>277

 DBを暗号化というか、DB格納パスワードをハッシュ化。

> セキュリティを高める方法ってないでしょうか(SSL以外)。

 無い。

279 名前:名無しさん@お腹いっぱい。 [02/02/24 19:44 ID:1vBdeyQk]
でも crypt かけちゃったら、ユーザーがパスワード忘れた
ときとか、どうやって元のパスワードを教えて上げるの?

パスワード設定し直すっていう方法が現実的かも知れないけど。



280 名前:名無しさん@お腹いっぱい。 [02/02/24 20:43 ID:L35l4mFf]
> どうやって元のパスワードを教えて上げるの?

 当然、教えてあげない。

> パスワード設定し直すっていう方法が現実的かも知れないけど。

 そうする。基本だよね?

281 名前:名無しさん@お腹いっぱい。 [02/02/26 00:31 ID:EFcQI2qb]
>>273
PHP3-i18nでもPHP4.0.6以降でも、出力だけSJISってのができるから、それが一番
問題起きないんじゃない? 出力がEUC-JPだと文字化けするブラウザは結構あるし。
PHP,DB内部はEUC-JPで、HTTP入出力はSJISでずっとやってますが、大きな問題は
おきてないな。


282 名前:名無しさん@お腹いっぱい。 [02/02/26 01:58 ID:myAGwwd4]
しつもーーん
www.jlb.dyn.to/hsinstall/salsemng/
こんな感じで、みんなも、定期的に、バキュームしてる?
自分は、したことないぞーばきゅーむなんて。

283 名前:名無しさん@お腹いっぱい。 [02/02/26 02:19 ID:R0qwrTOR]
野球ヲタワラタ

ime.nu/www.baseball-lover.com

284 名前:名無しさん@お腹いっぱい。 [02/02/26 02:24 ID:c48zylad]
質問です。
interval型を使って年-日-時でデータを管理しているのですが、
365日で1年への繰り上がりを期待したら、
どうやら360日で繰り上がってます。

繰り上がり日数の指定ってできないのでしょうか?

285 名前:名無しさん@お腹いっぱい。 [02/02/26 15:19 ID:ws1pgQhy]
>>281

 MIMEヘッダーに文字コードをつければ化けない。
 HTMLファイルにも、httpd.conf や .htaccess に AddType を
加える事で可能。

286 名前:   [02/03/24 17:12 ID:S817rdf9]
現在、PHP+PostgreSQLで小規模なDBシステムを開発していますが、
教えていただきたいことがあります。

それは、このシステムで出力されるデータをPDFファイルにしたいのですが、
これを実現するためには、PHPをインストールする際にpdflibを使用する旨の
オプションを指定する必要があることは知っています。

ただ、現在はインストールした後ですので、後でpdflibを追加することは
可能ですか?厨房なので、詳しい方法を教えてくれませんか?よろしくお願いします。


287 名前:nobodyさん [02/03/25 01:50 ID:hKhhq3k3]
>>286
 コンパイル時に組み込むものだから、後からは無理だと思われ。
 リコンパイルする手間はそんなに無いと思うので、やり直しをおすすめ。

> 厨房なので

 DBシステム開発自体を辞めておけ。

288 名前:nobodyさん mailto:age [02/07/31 14:56 ID:???]
PHP4.2.2セキュリティー対応上げ

皆さん入れ替えましたか?

289 名前:nobodyさん mailto:sage [02/07/31 16:33 ID:???]
( ´,_ゝ`)プッ
freehome.kakiko.com/tuk/iiyo.html



290 名前:nobodyさん [02/09/01 20:10 ID:h2ERcGeK]
何でこのスレッド書き込みが無いの?
とりあえずあげ。

291 名前:b [02/09/01 20:21 ID:hC+cV5mq]
www.jsweb.sexheroes.com/index.html

292 名前:お役立ちサイトです。 [02/09/01 23:25 ID:eeJda9o6]
究極の総合リンク集

home9.highway.ne.jp/cym10262/


293 名前:ノンノン [02/09/28 21:30 ID:Mv9w8xYv]
TIMESTAMP型の日時をPHPで表示する方法が良く分かりましぇんです。

$sql = "select to_char(nichiji, 'YYYY/MM/DD') from テーブル名";
$result = pg_exec($sql);

で、良いと思うのですが、

Warning: PostgreSQL query failed: ERROR: No such function
'to_char' with the specified attributes

っていうエラーが出ます。
これって、to_charが使えないってことですか?
仮に to_char が使えない場合、どうやればいいのでしょうか?
どなたかご教授願います。

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"も省略できるかってことです。






[ 続きを読む ] / [ 携帯版 ]

前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