1 名前:nobodyさん [03/03/11 02:34 ID:9JR4latc] PostgreSQLについて語って2万テーブルをめざしましょう。 関連アプリケーション特有の話題は、以下のスレッドへ。 pgsql-mlのヲチもここで。 前スレ [PostgreSQL] pc2.2ch.net/test/read.cgi/php/989375812/ ☆関連スレッド [PHP + PostgreSQL] pc2.2ch.net/test/read.cgi/php/983128806/ [PerlでPostgreSQL] pc2.2ch.net/test/read.cgi/php/999249463/ [MySQL vs PostgreSQL] pc2.2ch.net/test/read.cgi/php/989341364/
231 名前:nobodyさん mailto:sage [03/06/12 23:30 ID:???] ALTER TABLEを使う ttp://www.postgresql.jp/document/pg732doc/user/ddl-alter.html 基本的なことは>>2 のユーザー会のマニュアルを見るべし。 DBは突っ込んで勉強するとけっこう深い。ガンガレ
232 名前:231 mailto:sage [03/06/12 23:31 ID:???] かぶったーよ
233 名前:nobodyさん mailto:sage [03/06/12 23:37 ID:???] >>1 のテンプレにはマニュアルへのリンクを張った方が良いな。 前スレへのリンクはあまり利用価値が無いと思う。
234 名前:nobodyさん [03/06/14 02:40 ID:8UJU9HVd] initlocationをつかって、 DBの作成する場所を変えようと思ってるんだけど、 なんかしんないけど、 エラー出るんですよ。 誰かわかりますかね。 su - postgres export PGDATA2=/var/lib/pgsql/data initlocation PGDATA2 createdb test -D 'PGDATA2' ERROR: Postmaster environment variable 'PGDATA2' not set createdb: database creation failed
235 名前:234 [03/06/14 04:22 ID:8UJU9HVd] 234です。 事故解決しました。 postmasterを起動するときに、 export も同時にやるとうまくいったよ。
236 名前: mailto: [03/06/16 16:41 ID:???] すいません、PHP + PostgreSQL スレにも書いたんですけど あまり人いないようなのでこちらにもお邪魔させてください。 別の外注が作ったシステムの移行を頼まれたのですが、 PostgreSQL 7.2 ⇒ 7.3 での非互換な項目 空の文字列 ('') は、整数フィールドに対する入力として 許可されなくなりました。 以前は、これは暗黙的に 0 と 解釈されていました。 に引っ掛かってしまいました。べらぼうな数のテーブルと べらぼうな数のPHPソースがあり、これを一つ一つ $SQL = "UPDATE table SET int_value = '$int_value'"; から例えば $int_value += 0; $SQL = "UPDATE table SET int_value = $int_value"; のような感じに変更するのはかなり厳しい状況です。 バージョンを下げる以外に何か対応策はないですかね? postgresql.conf とかで切り替えられたらいいんですが。。。
237 名前:nobodyさん mailto:sage [03/06/16 17:27 ID:???] >>236 コピペ? あまりにも典型的なハマリ(ry もし実話だったら とりあえず新幹線に乗って 京都・奈良で寺巡りでもして来い 壮大な歴史の中では 自分がいかにちっぽけな存在であるか よーく分かるはずだ
238 名前:nobodyさん mailto:sage [03/06/16 23:54 ID:???] >>236 まぁ、Postgresのバージョン間の互換性には期待するな、ということで。
239 名前:236 mailto: [03/06/17 16:12 ID:???] >>237 違うよ。はまりたくてはまってるわけではないけど 頼むから register_globals を期待しないで欲しい>前の業者 >>238 漏れは期待してません。PHPに関しても然り。 その上でどうやったらこの問題を解決できるか知りたいのれす。 神はここにはいらっしゃいませんか。
240 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
241 名前:nobodyさん mailto:sage [03/06/17 19:28 ID:???] >>239 整数のフィールドを持つテーブルに対して、一つ一つトリガを作るとか。 手間はかかるがコードの修正よりは単純作業だし、漏れが出にくいよ(w UPDATEやINSERTが必ず通る道で待ち伏せするわけだから。 テーブルの一覧をざっと眺めて、半日なり1日なり単純作業をすれば見切り発車はできるかと。 で、後からじっくりマターリとコードを直して行く。。。 すんごい小手先だけど、コード多い・時間無い・エラーが出るのはマズイって状況なら これぐらいしか思いつかん。 設定で一発でなんとかできりゃあ良いんだろうけど、俺は知りませぬ。 #もしシステムのユーザが一般人ではなくてオペレータとかだったら、「空白入れんなヴォケ!」 #ってマニュアル対応で逃(ry
242 名前:236 mailto:sage [03/06/17 19:32 ID:???] なるほど、トリガですか。何とかなるかな… ちょっと盲点だったかもしれません。 ありがとうございます、助かりました。
243 名前:nobodyさん [03/06/18 02:42 ID:SST1kRd8] Win2Kに cygwin で PostgreSQL7.3 をインストールして、同じ端末につみきWEBのCSEをインストールしました。 で、データベースに接続しようとしたところ FATAL 1: Database ""testdb"" does not exist in the system catalog というエラーが発生して繋がりません。 他のSQLエディタで(psqledit)設定を一緒にしたところ、うまくつながりました。 なので、データベース名を囲むダブルクオテーションが二重になってるのが原因だと思うのですが、同じところでハマって居る人いませんか? データベース名を指定しないと、ユーザ名がデータベース名になるのですが、そのときは"testdb"というように一重になり、繋がります。 どなたか解決方法を知っている人がいれば、ご教授願います。
244 名前:229 mailto:sage [03/06/18 04:02 ID:???] >>230 >>231 遅レスすいません。 ありがとうございました。 おかげで解決いたしました。
245 名前:nobodyさん mailto:sage [03/06/22 09:55 ID:???] >>243 なんか libqp.dll があやしそう。libpq.dll をいれなおしてみては?
246 名前:nobodyさん [03/06/22 09:57 ID:SKC4SEC9] 「PostgreSQL構築・運用ガイド」期待age ttp://ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
247 名前:nobodyさん mailto:sage [03/06/22 09:59 ID:???] ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
248 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
249 名前:nobodyさん mailto:sage [03/06/22 10:19 ID:???] 本書は,PostgreSQLの導入方法はもちろん, 企業情報システムでの利用を前提にした,運用方法や信頼性, 可用性を高めるための方法,企業情報システムで広く使われている Oracleデータベースとの比較なども紹介し, 企業ユーザーにとって有用な情報をお届けします。 ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html bpstore.nikkeibp.co.jp/item/main/148222234340.html bpstore.nikkeibp.co.jp/item/image/h_4822223434.gif
250 名前:nobodyさん mailto:sage [03/06/22 10:28 ID:???] で、これは何本って言えばいいんだ? うぐい本か?日本野鳥○会の人 解説きぼん。
251 名前:nobodyさん mailto:sage [03/06/22 10:53 ID:???] >>250 ぽすぐれ本
252 名前:nobodyさん mailto:sage [03/06/22 11:15 ID:???] なんで魚なんだ?>ヲレ 自己突っ込み完了しますた。 次の話題どぞ。
253 名前:nobodyさん mailto:sage [03/06/22 16:44 ID:???] >>246 なんかまたペンギンの影があるね。 亀は使えないのかな?
254 名前:成功者! [03/06/22 23:57 ID:pFJThKfu] 誰でも仕事が出来ます。 資本金0円でスタート ココを見てください! www.c-gmf.com/farewell/box10.htm
255 名前:nobodyさん [03/06/23 20:54 ID:dxcUTx3u] Java+PostgreSQLでwebアプリを作る場合、文字コードは何にするのが一般的ですか? webページをSJIS、DB内はEUCにしようかと思ってますが、EUCにすると 全角半角どちらも1文字扱いになるらしいので、どうしようかな〜って感じです。 本番サーバはLinuxでApache+Tomcat、開発はwindowsで同じ環境作ってやってます。 winでの開発はJISが楽ですよね、やっぱり・・・
256 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
257 名前:nobodyさん mailto:sage [03/06/23 22:12 ID:???] >>255 PostgreSQLはunicodeでエンコーディングしないと、全角ハイフンなどが化けます。
258 名前:nobodyさん mailto:sage [03/06/25 12:22 ID:???] バグ出しさせてください、おながいします。
259 名前:nobodyさん mailto:sage [03/06/25 13:52 ID:???] >>258 環境を教えてください
260 名前:nobodyさん [03/06/26 23:18 ID:UmxIAMQr] >>285-259 ワラタ
261 名前:nobodyさん [03/06/27 20:33 ID:r28icV76] Postgres自体でSQLの実行ログがどこかに保存される設定とかってあるのでしょうか? 自前で実装する(SQL実行時にテキストに書き出す or DBにテーブルを作成して書き込む等) しか仕方ないですよね?
262 名前:nobodyさん [03/06/27 22:35 ID:Fj3NiizR] >> あるよ。 $PGDATA/postgresql.conf に log_statement = true と書き込んでからpostmasterを再起動すれば完了したクエリがログに 記録されるようになります。 ログファイルは、 $ pg_ctl -D /usr/local/pgsql/data -l pgsql.log start のように指定しる。
263 名前:nobodyさん [03/06/28 02:05 ID:14usrn45] PHP+PostgreSQLで排他処理を行いたいと思うのですが、 解説本か、サイトあれば教えてください。 無ければ、簡単にご説明くださいませんか?
264 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
265 名前:nobodyさん mailto:sage [03/06/28 04:20 ID:???] >>263 ロックする。以上。
266 名前:nobodyさん [03/06/28 05:20 ID:14usrn45] DBのロックってできるの?
267 名前:nobodyさん mailto:sage [03/06/28 07:37 ID:???] >>266 マニュアル読めや
268 名前:nobodyさん mailto:sage [03/06/28 09:59 ID:???] ID:14usrn45はDB使わない方が(・∀・)イイヨイイヨー
269 名前:nobodyさん mailto:sage [03/06/29 19:33 ID:???] PostgreSQL-7.3.2をPlamo Linux上で使ってるんですが、 同じ環境の方に聞きたいです。 libplpgsql.so postgres.h libpq.h の3ファイルって存在 してますか?4月号のSoftware Design見ながらXMLPGSQLの 導入を試みてるんですが make でこけてしまうので。。上記 の3ファイルの場所を指定しろって言われてるんだけどそも そもそんなファイルがないのです。
270 名前:261 [03/06/30 11:26 ID:5q6N3/KD] >>262 当方、バージョンが少し古くて、log_statement = trueではエラーが出たので ググってみたところdebug_print_query = trueという指定でできました! ありがとうございます。
271 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
272 名前:nobodyさん [03/06/30 12:26 ID:5tKrGL8Q] データベース板できました pc2.2ch.net/db/
273 名前:nobodyさん mailto:l [03/06/30 12:40 ID:???] pc2.2ch.net/test/read.cgi/db/1056944337/
274 名前:nobodyさん mailto:sage [03/06/30 12:48 ID:???] >>272 ひでぇ有様だな(w スレ一覧みてワロタ
275 名前:nobodyさん mailto:sage [03/06/30 12:59 ID:???] i.2ch.net/m30.html 明らかにデータベース板
276 名前:nobodyさん mailto:sage [03/07/01 00:31 ID:???] >>274 ← 何気にマジレスっぽ(プ
277 名前:nobodyさん mailto:sage [03/07/01 02:20 ID:???] ドラゴンボールヲタ?>>276
278 名前:nobodyさん [03/07/01 09:23 ID:oVA7Xb+Q] >>274 =>>277 マジレス図星だったようだなw
279 名前:274 mailto:sage [03/07/01 09:40 ID:???] >>278 新板の荒れ様を見てワロタっていう素直な感想を書いただけだから、 確かにマジレスには違いないけど。。 何を無理やり煽り文体にしてるの? 何で絡まれてるの?俺。
280 名前:nobodyさん mailto:sage [03/07/01 11:21 ID:???] ドラゴンボール関連のスレは消されたみたい。 やっぱりデータベース板だそうだ。
281 名前:nobodyさん mailto:sage [03/07/02 01:55 ID:???] >280 ついさっきまで確信が持てなかったヲレ。
282 名前:nobodyさん mailto:sage [03/07/02 17:01 ID:???] >>280 www.ff.iij4u.or.jp/~ch2/bbsmenu.html データベースだし。
283 名前:nobodyさん mailto:sage [03/07/04 04:50 ID:???] 激烈初心者です。 数値のデータ型で、 int2で指定したところに「0001」という数字を代入すると、 1になりますよね? これを、000の部分を残すためには、文字列型しかないですか?
284 名前:nobodyさん mailto:sage [03/07/04 09:35 ID:???] 「0001」は文字列だから、数値型のカラムに突っ込んで 勝手に「1」になるのは仕方が無いんじゃない? 表示する時に0埋めするようにすれば? "0000"と文字列にコンバートした1とか10を右から4文字切り取って 表示するとかなら、SQLでできるし。
285 名前:nobodyさん [03/07/10 16:23 ID:57Eu1LHu] PostgreSQL 7.2.3 php4.1.2 kernel 2.4.7-10 gcc 2.96 という環境で、webアプリを稼動させています。 cronで一日一回「vacuum full」を実行しています。 テーブルは約50個あり、しばらく運用していると データを保存しているハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)が徐々に肥大していきます。 肥大化していくと、insertや、dropが比較的多めのテーブルがあるのですが、 そのテーブルのレスポンスも悪くなっていきます。 そのテーブルをdumpして、dumpファイルからの復帰をすると改善するようです。 別のマシンに同じDBを持ってきて、問題のDBをDUMPし、一旦そのDBをdropdb。 そして、createdbし、dumpからの復帰 psql -e db < dumpfile をするとハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)は約1/3程度になりました。 定期的にdumpして、そのdumpファイルからの復帰という作業は非効率的ですので このような作業をせずに肥大化を防げる方法はありませんでしょうか。
286 名前:nobodyさん [03/07/10 16:51 ID:ubgylsck] >>285 REINDEX
287 名前:nobodyさん [03/07/10 18:09 ID:8n4LR913] BEGIN 処理A BEGIN 処理B COMMIT 処理C ABORT としても処理AとBはコミットしちゃいますよね?
288 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
289 名前:nobodyさん mailto:sage [03/07/10 19:40 ID:???] >287 つか、nested transactionは処理できない。 使おうとしている時点で間違い。
290 名前:nobodyさん mailto:sage [03/07/10 19:40 ID:???] >>287 BEGINからCOMMITまでがトランザクションだから、 現在のトランザクションはありませんってエラーがでるんでないの?
291 名前:290 mailto:sage [03/07/10 19:42 ID:???] >>289 >>287 ネストさせようとしてたのか!
292 名前:nobodyさん mailto:sage [03/07/10 20:16 ID:???] >291 どう見てもネストしてるじゃん。 ちなみに、beginした後でもう一度beginしると、 「もうトランザクション始まってんのじゃボケェ」と言われます。
293 名前:287 mailto:sage [03/07/10 22:42 ID:???] どうもです。 できるのを前提にコードを書いていたので、 一番外側でだけクエリを発行するようなラッパー関数つくって回避しました。 (途中のアボートは例外処理) 調べてみたらトランザクションのネストができない実装の方が一般的なんですね。
294 名前:285 mailto:sage [03/07/11 15:47 ID:???] >>286 ありがとうございます。一応reindexを毎日するように設定してしばらく様子見てみます。 ちなみにreindexとvacuum fullは順番的にはどちらを先にした方が良いのでしょうか?
295 名前:nobodyさん [03/07/11 17:21 ID:C9rBOC2S] test=# vacuum; NOTICE: Some databases have not been vacuumed in over 2 billion transactions. You may have already suffered transaction-wraparound data loss. VACUUM test=# とvacuumで上のNOTICEが出た場合はどういう対処をすれば良いのでしょうか。
296 名前:nobodyさん mailto:sage [03/07/12 02:17 ID:???] >20億トランザクション越えたのにvacuumされませんですた。 >トランザクションID使い果たして、データの喪失が発生しますた。
297 名前:山崎 渉 mailto:(^^) [03/07/15 11:07 ID:???] __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
298 名前:nobodyさん mailto:sage [03/07/23 23:29 ID:???]
299 名前:nobodyさん [03/07/24 12:05 ID:TEX2oC6v] ラージオブジェクトって、pg_dumpでバックアップできるの? 7.1からだっけ?
300 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
301 名前: mailto: [03/07/24 15:51 ID:???] ちょっとお尋ねしますが、PostgreSQLでトーナメント表って実現できますか? チームテーブルと対戦テーブルを用意するところまではできたのですが、 全ての対戦結果を一覧表示させる方法がわかりません。 チームテーブルの内部結合の結果に対して 対戦テーブルを外部結合すればいいかと思ったのですが、 複数のテーブルに対して外部結合というのはできないもんなんでしょうか? イメージでいうとこんな感じです。 select a.name, b.name, m.score from team a, team b left outer join match m on m.home = a.id and m.visitor = b.id;
302 名前:nobodyさん [03/07/25 03:00 ID:IBsY8pQ4] PHP + PostgreSQL PERL + PostgreSQL C + PostgreSQL どれが一番高速でアクセスできますか?
303 名前:nobodyさん [03/07/25 12:25 ID:oPyKjtod] >>302 ミドル次第。
304 名前:nobodyさん [03/07/26 17:34 ID:grYAyx0u] PostgreSQLってRollBack使えないんすか?
305 名前:nobodyさん mailto:sage [03/07/26 22:34 ID:???] ハァ?
306 名前:nobodyさん [03/07/27 23:23 ID:guTNEK25] >>304 使えよ
307 名前:nobodyさん [03/07/28 09:21 ID:b/HKh3mz] 投稿者が女名だと、同じ内容の回答が続くね。
308 名前:nobodyさん [03/07/28 09:44 ID:b/HKh3mz] しかも、「紹介者がいないときは自分自身になります」って条件読んでないし。
309 名前:nobodyさん mailto:sage [03/07/28 10:13 ID:???] おいらも今度から女の名前で質問しよう。
310 名前:nobodyさん mailto:sage [03/07/28 11:55 ID:???] >>309 人格つくりすぎて、あぼーんするハメにならんようにな。
311 名前:nobodyさん mailto:sage [03/07/28 23:51 ID:???] 旦那になって戻ってくるから大丈夫。
312 名前:ももこ mailto:sage [03/07/29 00:11 ID:???] >>311 もどってきてね♥
313 名前:nobodyさん [03/08/01 07:34 ID:fLmmiO+8] すいません。postgresql-7.2.3で日本語環境が構築できません。 psql -lとしても、EUC_JPとか言語環境がでてきません。 List of databases Name | Owner -----------+---------- template0 | postgres ./configure --enable-mutibyte=EUC_JP と指定もしています。 createdb -E EUC_JP test2 /usr/local/pgsql/bin/createdb: /usr/local/pgsql/bin/pg_encoding: No such file or directory createdb: "EUC_JP" is not a valid encoding name ↑こんなエラーもでてます。
314 名前:nobodyさん [03/08/01 07:50 ID:esvzZjrA] 祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り ニーノさんのホームページ作り2 ex.2ch.net/test/read.cgi/entrance/1059029010/ ニーノ ◆p9GipySMGk によってラウンジにたてられたこのスレで、 page.freett.com/ninogumi/ 【ニーノさんのホームページ】 というサイトが作られた。(現在もコンテンツは爆発的に増えてるよ。) さぁ、君もアイディアを出して、2CHネラーだけの最強サイトをつくろう! 祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
315 名前:nobodyさん mailto:sage [03/08/01 07:50 ID:???] >>313 euc-jpじゃないのかage。
316 名前:315 mailto:sage [03/08/01 07:51 ID:???] ageてねーや。でもspamカキコがくるからageなくていいや。
317 名前:nobodyさん [03/08/01 22:20 ID:bI0qs527] createdb -E EUC_JP データベース名
318 名前:nobodyさん [03/08/01 23:09 ID:vlQX/M9J] www.vesta.dti.ne.jp/~hi-lite/fe/ero.html ここなら簡単に見れたぞ
319 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:20 ID:???] ∧_∧ ( ^^ )< ぬるぽ(^^)
320 名前:ぼるじょあ ◆ySd1dMH5Gk mailto:(^^) [03/08/02 04:48 ID:???] ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
321 名前:nobodyさん mailto:sage [03/08/02 07:48 ID:???] FAQになってる予感がするけど、列制約を変更したくなりました。 create table asでも列制約は新しく定義できないみたいだし。 あと1列だけ型も変更したい。 慎重に設計しなかった自分が悪いわけですが、なんか突破口 ないですか?手で再入力だけは避けたいです。。
322 名前:nobodyさん mailto:sage [03/08/03 08:56 ID:???] >>321 突破口って。。。 マニュアル読めばいいだけと違うの?
323 名前:_ mailto:_ [03/08/04 16:26 ID:???] CREATE TABLE account_table ( expire_date TIMESTAMP, name TEXT ); のようなものがあって、 SELECT * FROM account_table WHERE expire_date > now() AND name = 'foobar'; のような問い合わせを頻繁に行なっています。実際にはテーブルも問い合わせ ももっと複雑です。 ここで、上記SELECT文を、1引数('foobar' 部分)のPL/pgSQLの関数にしてしま いたいのですが、そういうことは可能でしょうか? CREATE FUNCTION get_account( TEXT ) RETURNS ??? AS 'BEGIN ???; END' LANGUAGE 'plpgsql' ; のような概観になるかなとは思うのですが、戻りの型などがわかりません。 EXECUTEを使うのでしょうか? 教えてください。 # Viewのほうが無難でしょうか? プログラム側にwhere句を書き忘れる可能性 # があるのが嫌なんですよね…
324 名前:nobodyさん mailto:sage [03/08/05 03:24 ID:???] CREATE FUNCTION get_account( text ) RETURN SETOF RECORD AS ' [...snip...] ' LANGUAGE 'plpgsql';
325 名前:nobodyさん mailto:sage [03/08/05 13:23 ID:???] すこしスレ違いかもしれませんが、どちらに質問していいかわからなかったので、 ここで質問させてください。 ある大きな2つのテーブルをJOINしたいのですが、そのままJOINすると 時間が掛かりそうなので、片方を一時テーブルに書き出して、それをJOINしようと 思ったのですが、一時テーブルを作った後、違うページで一時テーブルとJOINしようと するとテーブルが存在しないと言われてしまいます。 PHPから一時テーブルを作成した場合、その一時テーブルにアクセスできるのは どのタイミングまでなのでしょうか? マニュアルにはセッションの終わりまでのようなことが書いてありますが、 PHPのセッションは終了してません。 それとも、一時テーブルを作成しないでもいい方法などありませんでしょうか? よろしくお願いします。 環境は、PHP 4.2.3 PostgreSQL 7.2.3です。
326 名前:308 mailto:sage [03/08/05 13:57 ID:???] すいません、自己解決しました。
327 名前:nobodyさん mailto:sage [03/08/05 15:59 ID:???] >325 pconnect使わなければ、PHPからPostgreSQLへのセッションは 毎回切った張ったされますが。
328 名前:nobodyさん mailto:sage [03/08/05 16:25 ID:???] >>325 一時テーブルをVIEWにするかサブクエリにするのが一般的だけど、 性能上の問題からその一時テーブルの結果を使いまわしたいなら 名前をつけてテーブル作成するしかないかな。 pg_pconnect使ってもApache/PHPの状態によってはDBセッションが同一にならないから、 ページを跨いだ一時テーブルの利用はできない。
329 名前:nobodyさん mailto:age [03/08/05 18:56 ID:???] PostgreSQL 7.2 のPL/pgSQLについて教えてください。 CREATE TABLE reg ( d TIMESTAMP ); なるテーブルがあり、d には「現在からn秒後の時刻」をINSERTするようにし ています。現在はプログラムから INSERT INTO reg VALUES ( NOW() + INTERVAL ''100 sec'' ); のようにしているのですが、これをPL/pgSQLで書きなおそうとしています。 で、 CREATE FUNCTION f( BIGINT ) RETURNS BOOL AS ' BEGIN INSERT INTO reg VALUES ( NOW() + INTERVAL ''$3 sec'' ); RETURN TRUE; END ' LANGUAGE 'plpgsql'; としてみたのですが、$3 が展開されないのか、足し算が行なわれません。 どのように書いたら望む結果になりますでしょうか? 教えてください。
330 名前:325 mailto:sage [03/08/05 21:08 ID:???] >>327 , 328 ありがとうございました。 pconnectを使って、ページをまたいで一時テーブルを使おうとしてたので、 テーブルが残ってるのか残ってないのか、よくわからなくて混乱してました。 pg_connectを使って、なんとか同じページ内で一時テーブルを使って処理してます。 VIEWは、まだ勉強中なので試行錯誤してみます。
331 名前:nobodyさん [03/08/06 04:59 ID:7sg7mWSc] 教えてください。 DISK障害でテーブル内データのほとんどが消えました。 実体の/usr/local/pgsql/data/base/内は無事のようです。 /base/DB名からなんとかリカバリできないでしょうか? postgresql6.5.3です。