トップページ⇒php
1001コメント345KB

PostgreSQL

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/09(水) 11:36ID:GHX.oCXo
PostgreSQLについて語りましょう。
関連アプリケーション特有の話題は、以下のスレッドへ。

☆関連スレッド
[PHP + PostgreSQL]
http://corn.2ch.net/test/read.cgi?bbs=php&key=983128806
[PHP以外+PostgreSQL]
http://corn.2ch.net/test/read.cgi?bbs=php&key=988929199
[MySQL vs PostgreSQL]
http://corn.2ch.net/test/read.cgi?bbs=php&key=989341364
0526動画無料サンプル02/08/31 22:55ID:AF4irkr1
ブルマ・水着・セーラー服でスケベな事してる
小学生、中学生、女子高生が【無料】で見れる!!
http://www.traffimagic.com/WIPE7MMLZCA/comein/NZKYA
052712302/09/01 02:40ID:Rn3wDJdF
えっと,PostgreSQLのストアドはいい開発環境とかあるのかな?
SQLはcse使っているけど,あれではストアド作ることしかできないよな。
いい開発環境がないと,どうもそもそも使う気になれない。
ただ,SQLにソースを書くのは好きではないので,PostgreSQLでもストアドはやっぱり使いたい。

誰かいい開発方法知らんかのぉ。
普段使ってるストアドはTransactSQL(SQLserver)になるが,
たとえば,こんなものを作るとする。

DECLARE @no int
SET @no = 1

SELECT *
FROM TABLE
WHERE no = @no

@no = 1 でSELECTするということ。
これをクエリマネージャとか使うと結果も見れる。
ストアドに変えようと思ったらそのまま,
上と下に Createprocedre [selectno](こんなんだっけ) go とかつけて,
SET = としているとこをパラメータ渡しに変えたらストアドになるしね。
こんな簡単なSQLだったら,一発で作れるだろうが,ちょっと複雑なもので
テストとか繰り返して,作ろうと思ったら,開発環境いるよな。

また,コンソールから exec selectno(1)
みたいにしたら,ストアドをキックできて,結果も見れる。
こんなことしながらの開発PostgreSQLで出来るのかな。

とりあえず,ストアド作った後にそれを実行するのが,
プログラムからしかできないのはきつい
0528nobodyさん02/09/01 03:21ID:???
>527
ストアド作るごときエディタでええやん。

頭ん中で流れ考えるんだよ(w
それが面倒ならmssqlserverでも買ってなさいってこった。

pgaccessでやれることが限界では。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/app-pgaccess.html

テキストベースでできた方が何かと便利。
遠隔操作とかにも都合がいいし、テストをちょちょっとスクリプトで書いたり。
052952202/09/01 18:41ID:/oI3M69S
>523
PosgreSQLから出したデータをSJISなどに変更
ってどうやるんでしょうか・・・
0530nobodyさん02/09/01 21:06ID:???
client encodingを変えればいいじゃん。
053152202/09/01 23:39ID:/oI3M69S
>530
psqlで
SET CLIENT_ENCODING = 'SJIS';
とやってみたんですが、Webで表示してる方には変化がなくて・・・。
HTMLのCharsetをEUCにすると日本語はOKなんですが関係ない部分が
なぜか文字化けてしまいました。
0532nobodyさん02/09/01 23:45ID:???
ラージオブジェクトについて教えてください。

�@ラージオブジェクトを例えば

  INSERT INTO t1 (id, oid) VALUES (1, lo_import('/tmp/hoge'))

 で作ったとして、それを削除したいときには

  DELETE FROM t1 WHERE id = 1

 で削除するだけでいいんでしょうか?ゴミとかは残りませんか?

�A上記の例でさらに

  UPDATE t1 SET oid = lo_import('/tmp/hoge') WHERE id = 1

 なんてしちゃった場合、元のラージオブジェクトはどこに行ってしまうのでしょう?
 自動的に削除されるのでしょうか?ゴミとかは残りませんか?
053352202/09/01 23:50ID:/oI3M69S
■ ← この文字(記号?)が文字化けてしまいました。
0534nobodyさん02/09/06 02:31ID:tscmWiVv
textデータ型の容量制限が1Gということですが、
1カラムに1Gがのデータを入れると、8kのカラム容量制限に引っかからないですか?
0535nobodyさん02/09/06 08:36ID:KP0wE/mN
>>534
8kのカラム容量制限 は、7.1 で解決済み。
最新版使ってれば全く問題ない。TOAST という技術。
私はメールの本文とかを丸ごと1カラムに格納してる。
0536ななしし02/09/06 12:16ID:o0uKxXbL
>>532
残ります。
lo_unlinkをかけてあげましょう。
053753202/09/06 14:12ID:???
>>536
ありがとう。
0538nobodyさん02/09/06 18:21ID:6cS1MLb+
>>535
ありがとうございます。
助かりました。
05398月のクリスマス ◆zzfy/JR2 02/09/06 18:37ID:zUklKDWI
PostgreSQLに接続し
$result=pg_exec("select * from nwpersonal ");
を実行すると下記のエラーが発生するのですが
どうしたらよいのでしょうか?
分かる方よろしくお願いします☆

Warning: PostgreSQL query failed: ERROR: nwpersonal: Permission denied.
0540nobodyさん02/09/07 00:41ID:???
>>539
許(grant)してけれ〜〜、お代官様(w
つか、ちぃたぁマニュアル読め(w
0541nobodyさん02/09/08 09:08ID:???
マニュアル読まなくてもPermission deniedぐらい理解さらせ
0542nobodyさん02/09/08 12:44ID:???
最近、目の前に出ているエラーメッセージすら読まない香具師多数。
0543nobodyさん02/09/09 01:15ID:Ek+d2LV7
掲示板のログを1つのテーブルに入れようと思います。
件数は1万件以上ですが、テキストファイル保存に比べて、
パフォーマンス上問題はないでしょうか?
0544nobodyさん02/09/09 16:59ID:???
>>543
どのような掲示板でしょうか?(と聞いてみる)
0545nobodyさん02/09/09 20:33ID:???
うまく作れば、フラットファイル保存の方が速いに決まってる。

しかし、作り込まれたRDBMSよりパフォーマンスが出るフラットファイルの
入出力を作るのは至難の技。

それに、ふつーに作れば、ネットワークの帯域の方がボトルネックになって、
I/Oなんてどっちもどっち。

イントラとかなら別だが。
0546nobodyさん02/09/10 09:52ID:VSIVhwr4
>>544
普通のスレッド型掲示板です。
スレッドを表示する場合はスレッドIDが一致するものだけ取り出そうかと。
0547nobodyさん02/09/10 17:03ID:20uIzqy9
どなたか教えてください。
Pear DBパッケージのStatementを用いた挿入がうまくいきません。
【PHP】質問スレッドとPHP+MySQLでたずねたのでマルチになりますが。。。
どなたも答えてくれませんので、またここで、質問を投げます。だめですか??
※日付型(書式:yyyy/mm/dd HH:mm:ss)は現在時刻を挿入する。
※日付型以外(文字列、数値型)はうまくいきます。
エラー内容
SQLエラー → ステートは37000
コードは以下です。
/**
* インサートテスト
*
* @access public
* @param ProductState $ps 製品状態情報
*/
function insert($ps)
{
 // DB接続
 $this->connect(); // $this->db = DB::connect( $dsn )にて取得。
 // SQL文
 $sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
 // Statement取得
 print "date=" . date("Y-m-d H:i:s",time()) . "\n";
 $stmt = $this->db->prepare( $sql );
 // SQL発行
 // $this->db->execute($stmt, array($ps->id,$ps->name,time())); //これもだめでした。
 $this->db->execute($stmt, array($ps->id,$ps->name,date("Y-m-d H:i:s",time()) ));
 // DB切断
 $this->db->disconnect();
}
0548nobodyさん02/09/10 17:05ID:20uIzqy9
↑DBになるべく依存しないようにStatementを使いたいのです。
自分のイメージ的には、JavaのJDBCの様に使いたいのです。

よろしくお願いします。
0549nobodyさん02/09/10 22:04ID:???
分かんないんだけど、何が問題なわけ?

日付のフォーマットが問題なら、
フォーマットするwrapper関数みたいのを作ればいいじゃん。

100% RDBMS依存を無くしたいなら PEAR に contribute しる。
0550nobodyさん02/09/10 22:55ID:ecEmpk8F
>>548
日付をフォーマットしたいのか?
to_char() 使え。逆の関数もあるぞ。
Postgres 提供の関数だから、SQL 中に記述できるぞ。
0551nobodyさん02/09/11 06:26ID:MyJQslI1
>>548
PostgreSQLはよくわからんのだが、
date("Y-m-d H:i:s",time())
DATE型は「年月日」までじゃないか?入力形式。
H:i:s は無視されるだろ。つか「フィールドの型がちがうぞ!エラー」じゃないか?
時分秒を扱うならTIMESTAMPにすれば?
0552nobodyさん02/09/12 03:22ID:r6MxR56R
現在使用してる容量ってどうやって調べるの?
0553nobodyさん02/09/12 11:57ID:???
du
0554nobodyさん02/09/12 12:18ID:r6MxR56R
>>553
データファイルはどこにあるの?
0555nobodyさん02/09/12 12:43ID:???
/usr/local/pgsql/data
0556nobodyさん02/09/13 17:18ID:39GWJCRQ
Postgres 7.1.2 とAccess2000 を使っているものですが、
平分パスワードで接続できるのですが暗号パスワードで接続できません。
つまりpg_hba.confでcryptとした後接続できません。
どうすればいいんでしょうか?
そもそもパスワード暗号化は可能でしょうか?
0557nobodyさん02/09/13 20:30ID:???
ODBCどらいばがサポートしている方法しかつかえないっしょ。
ドキュメント見れ。
055855702/09/13 22:28ID:???
そーすみて見たら、ODBCドライバでは
生パスワードとMD5でエンコードしたのしかサポートしてないんだね。
TODOリストみても「やる気有りません」ってかんじでにんともかんとも。
 src/interface/odbc/connection.c
 src/interface/odbc/TODO.txt

というわけで、ODBCつかって平分のパスワードが嫌ならmd5を使えって事で。
0559nobodyさん02/09/17 10:12ID:???
>>556
うちはcse使ってるんですが、やっぱりcryptが使えないです。
pg_hba.confでpasswdに設定してファイル名を指定しない場合は
pg_shadowからパスワードを読むのですが、
暗号化されているのかどうかはなはだ疑問です。
0560nobodyさん02/09/17 18:00ID:???
tcpdumpで見てみれば?
0561nobodyさん02/09/18 10:25ID:???
>>559
っつーか 'passwd'を設定している限り平文だよ。
いいから'md5'って書いてみそ。
0562nobodyさん02/09/20 18:55ID:/MLJ70M7
PostgreSQL で、指定時刻になるとSQLを実行したりストアドを実行するような機能はありませんか。
オラクルやSQL Serverにはあって重宝していたんですが・・・
0563nobodyさん02/09/20 19:58ID:M7U2JFRI
>>562
cron + psql じゃダメ?
056456202/09/21 00:32ID:???
>>563
psqlでsqlを直接実行することができるのですか?
(もしくは、指定ファイルにSQLを書いてそれを実行するとか………)
0565ID 変わってるだろうけど、56302/09/21 00:40ID:NjgR42bS
>>564
少なくとも、別ファイルに記述した SQL を
psql に読ませて実行することはできる。
方法はマニュアルに書いてあるから調べてごらん。

私の場合、テスト用 DB 構築 SQL を書いたファイルを用意して、
テストするたびに CRAETE TABLE からやってる。
0566名無しさん@XEmacs02/09/21 01:35ID:???
-cだ
0567nobodyさん02/09/22 21:46ID:6gZmFq4J
psql database < some.sql
0568nobodyさん02/09/22 22:16ID:auOB9C4f
windowsでtcl入れてpgaccess使っているんですが、
Preferencesの設定が保存されなくなってしまいました。
以前のWindowsNative版の時は設定保存できましたが、
Cygwinにしたら保存できなくなったようです。
お助けください。
0569 02/09/25 00:09ID:???
オライリーのマンモス本買う香具師いる?
0570nobodyさん02/09/25 01:31ID:???
一応買う予定っす。内容がどの程度「practical」かによるけど。
0571nobodyさん02/09/25 18:44ID:GgIwIpkD
Vine Linx2.5、PostgreSQL7.2でPostGISをインストールしようと
頑張ってるんですが、JDBCの部分でつまづいてしまっています。
jdbcのディレクトリでmakeすると、postgis.jarができるようなことが
マニュアルに書いてあるのですが、何故かできません。
(http://postgis.refractions.net/docs/x168.html)
makeは問題なく完了しているようなのですが…
どこが問題なのでしょうか…?
0572nobodyさん02/09/25 21:21ID:???

CGI+PostgreSQLで遊んでみようとおもってるのですが、
データ更新中 or セットの2つのテーブルのうち1つだけ
更新した後にブラウザの停止ボタンを押した場合とか
どうなるんですか?
0573nobodyさん02/09/25 21:36ID:???
トランザクション
0574nobodyさん02/09/25 22:14ID:???
ソースの中でHTML出力より先にSQLがcloseされていたら終わり
0575nobodyさん02/09/26 10:22ID:???
>>574

わけわかりません。
0576nobodyさん02/09/27 00:15ID:???

___|____
aaa|mona
aab|mona
aac|mona
aaa|giko
aab|giko
abc|mora
というテーブルでaaa aab aacを指定するとmona(だけ)を表示するような
selectの書き方を教えてください。
0577nobodyさん02/09/27 00:30ID:???
>というテーブルで・・・

どういうテーブルか説明しないで「というテーブルで」ってキミ!
0578nobodyさん02/09/27 00:37ID:???

>577
スミマセン。
何を説明したらいいのか分かりませんが。。。
テーブル名、カラム名は何でもいいです。
table baka ( foo text, bar text )
0579hmk02/09/27 00:51ID:QE9TB9SP
>>576
>aaa aab aacを指定すると
の意味が分からない。もっと具体的に書きなさい。
058057602/09/27 01:11ID:???

分かると思ってハショりすぎました。教えて君の悪いパターンですね。
スミマセン。

select bar from baka where foo ~* '^aaa'とかするとmona gikoが表示されますよね?
これをaaa aab aacをAND検索してmonaだけがひっかかるようにしたいんです。

PerlでPgを使ってるので外部プログラムを使ってAND検索を実現する方法でもいいです。
0581hmk02/09/27 01:24ID:QE9TB9SP
>>580
ANDじゃなくてOR検索でしょ。。。

SELECT bar FROM baka WHERE foo='mona' AND bar IN ('aaa','aab',aac');
----
mona
mona
mona

SELECT DISTINCT bar FROM baka WHERE foo='mona' AND bar IN ('aaa','aab',aac');
----
mona

加茂。
0582nobodyさん02/09/27 02:43ID:???
>576

この文でわかってしまった漏れもアレなんですけど、
fooにaaaとaabとaacを含むようなbarを求めろってことっしょ?

>581
のは、ただ
barにaaaか、aabか、aacを含み、かつ
fooにmonaな奴を出すってやつで違うんでは。

例えば、
bar|foo
---|---
aaa sii
aab sii
aac sii

ってのがあればsiiも出したいって事だろ(違うかな?

-----------------------
select tmp.bar from
(
SELECT
bar,
count(*) as cnt
FROM
baka
where
foo in ('aaa','aab','aac')
group by bar
) as tmp
where tmp.cnt=3
058358202/09/27 02:44ID:???
(続き)

2分で考えた奴で、あまり綺麗でないけど↑でどうでしょう。
cntにはinで指定した要素数入れてくれ。

select * from baka;
foo | bar
-----+------
aaa | mona
aab | mona
aac | mona
aaa | giko
aab | giko
abc | mora
aaa | sii
aab | sii
aac | sii

結果
bar
------
mona
sii
058458202/09/27 02:58ID:???
explainしてみた。

Subquery Scan tmp (cost=27.79..27.90 rows=1 width=32)
-> Aggregate (cost=27.79..27.90 rows=1 width=32)
-> Group (cost=27.79..27.83 rows=15 width=32)
-> Sort (cost=27.79..27.79 rows=15 width=32)
-> Seq Scan on baka (cost=0.00..27.50 rows=15 width=32)

(;´Д`)y─┛~~
業務にこれ使わないでね(笑) 
そもそもこういう問い合わせしなきゃならないってことはテーブル設計が拙い様な。
もっといいやり方あるかなぁ?
058558202/09/27 03:06ID:???
あ、やば・・・
嘘かいちった。

foo | bar
-----+------
aaa | mona
aab | mona
aac | mona
aaa | giko
aab | giko
abc | mora
aaa | sii
aab | sii
aac | sii
aad | mona
aaa | mona
058658202/09/27 03:14ID:???
select tmp.bar from
(
SELECT
bk.bar,
count(*) as cnt
FROM
(select distinct * from baka) bk
where
bk.foo in ('aaa','aab','aac')
group by bk.bar
) as tmp
where tmp.cnt=3;

一人芝居さびしぃ(;´ω`)
0587hmk02/09/27 03:27ID:???
>>586 PuPuPu...
苦戦してますね。
儂は現役を引退して、手許にDBがないので検証できまそん。
でもちょっと考えてみましょうか。。。
0588hmk02/09/27 03:45ID:???
SELECT DISTINCT bar FROM baka bk WHERE
EXISTS(SELECT * FROM baka WHERE foo='aaa' AND bar=bk.bar) AND
EXISTS(SELECT * FROM baka WHERE foo='aab' AND bar=bk.bar) AND
EXISTS(SELECT * FROM baka WHERE foo='aac' AND bar=bk.bar)

こんなこと出来たっけ?
058958202/09/27 03:56ID:???
>588
通ったよ。
別にこのぐらいで解決するのは苦戦って言わないんだけど^^;

可読性はいいね。コストは俺のがいいかも。
まぁ、explainで判断してもアレですが。

Unique (cost=75024.35..75024.67 rows=12 width=32)
0590hmk02/09/27 04:06ID:???
>>589 thx!

>別にこのぐらいで解決するのは苦戦って言わないんだけど
確かに、、、失礼しますた。

こんなんで>>576君には分かって頂けましたでせうか。。。
059157602/09/27 07:03ID:???
>>582-590
適当な説明してしてなかったのに、丁寧に答えていただきありがとうございます!
今から家を出ないと逝けないので、帰ってきたら試してみたいと思います。

初期のシーラカンス本片手に個人でシコシコやってるDB初心者ですので
業務に使うとかそういうのはないです。
059257602/09/27 07:04ID:???
スミマセン
>>581-590だった。。。
0593nobodyさん02/09/27 12:36ID:???
地理データ型について教えてください。

1. point型のxまたはy座標だけを SELECT というのはできるのでしょうか?
2. point型のデータをy座標順に SELECT というのはできるのでしょうか?
(1.ができればできそうですが。。。)
0594hmk02/09/27 16:49ID:???
使ったことないからよくわからんけど、
演算子の ?- や ?| を使えばなんとかならないかなぁ。。。
059559302/09/27 18:55ID:???
簡単なことでした。。。

最初にテーブルを作るときに point でなく、int にしておけばよかったのですね。
0596hmk02/09/27 18:58ID:???
>>595
pu.
0597nobodyさん02/09/27 19:47ID:OLJtUF/o
下記のようなテーブルで、fooの中でbarの値が最大のものをそれぞれ
取り出したいのですが、簡単そうで全然できませんでした(;´Д`)
凄いSQLの初歩っぽい質問ですが、お知恵を拝借ください…

foo | bar
---------
1 | 1
1 | 2
2 | 1
2 | 2
2 | 3
3 | 1
というようなテーブルから、
foo | bar
---------
1 | 2
2 | 3
3 | 1
のように、それぞれのbarが最大値になっているfooを取得するselect文なのですが…
0598nobodyさん02/09/27 20:44ID:???
>>597
「それぞれのbarが最大値になっているfoo」というのが
いまいち意味がわからんのだが、例示されてる結果を出すだけなら

select foo, max(bar) from hoge group by foo;

で、いける。
0599nobodyさん02/09/27 20:55ID:???
ありがとうございます!
SQL始めたばかりでいきなり躓いたので凹んでいたところでした。
>>598さん、本当に感謝です。
060059702/09/27 21:06ID:???
あ、599=597です。
すみません、初心者ついでにもう一点お助けください。
先ほどのテーブルにカラムを追加してみたのですが、同じような foo と bar の
関係で baz を取り出そうとしたら全て取得されてしまいました。
SQL > select foo,max(bar),baz from hoge group by foo,baz
では安直過ぎたでしょうか…

foo | bar | baz
------------
 1 |  1 | aaa
 1 |  2 | bbb
 2 |  1 | ccc
 2 |  2 | ddd
 2 |  3 | eee
 3 |  1 | fff
0601nobodyさん02/09/27 21:58ID:???
そんな簡単な事ぐらい、少しは自分で考えれ。
0602hmk02/09/27 22:49ID:???
>>601
おまいはできるのかぇ?意外とむずくねぇか?

>>600
ちょっと考えてみたんだけど、下のを試してみよ。
儂DBもってなくて試せないから、結果の保証はできんが。
間違ってたら藁って下さい。

SELECT DISTINCT foo,bar,baz FROM hoge h1 WHERE NOT EXISTS(SELECT * FROM hoge WHERE foo=h1.foo AND bar>h1.bar);
060359702/09/28 00:30ID:???
>602

悪くはないと思うけど、

3 | 1 | ggg

があったらどうなりますかね・・・(藁

SELECT
fb.foo,
bb.bar,
bb.baa
FROM
(
SELECT
foo,
max(bar) as bar
FROM
"2ch"
GROUP BY
foo
) as fb
left join
(
SELECT
*
FROM
"2ch"
) as bb
on fb.bar = bb.bar and fb.foo = bb.foo
060459702/09/28 00:31ID:???
(続き)

あー、PGバイト&飲み帰りで眠い・・・金曜はねぇぇぇ(;´ω`)
>598にちょっと手を加えた手抜きverっす。
スキーマちょっとちゃうけど。

たぶん、Merge Joinじゃなく、Nested Loop Join使った方が、
データ量小さい場合は早いかも。

-----------------------
foobarbaa
11aaa
12bbb
21ccc
22ddd
23eee
31fff
23ggg
------------------------
[結果リレーション]
foobarbaa
12bbb
23eee
23ggg
31fff
060559702/09/28 01:51ID:???
>>602
ありがとうございます。
ちゃんと期待通りの結果を取得してくれました!
理解できるまで、今まででかかってしまったのですが…

>>603-604
598さんなのでしょうか。度々ありがとうございます。
3 | 1 | ggg は、私も思いついていなかったです。ますます複雑に(;´Д`)
left joinを使ったSQL文は初めて見ました。勉強になります。


うう、思った以上に難しいです。精進します…。
0606nobodyさん02/09/28 02:58ID:???
質問です。
interval型を使って年-日-時でデータを管理しているのですが、
時から日への繰り上がりは24時間でやってくれるのですが、
日から念への繰り上がりは、365日で1年への繰り上がりを期待したら、
どうやら360日で繰り上がってます。

カウントの値ですので、もちろんうるう年などは考慮に入れなくてかまいません。
interval型を使ったときの繰り上がり日数の指定ってできないのでしょうか?
0607582 ◆6C3D/kPs 02/09/28 03:04ID:uO9XS1Su
582だった(爆死
変な名前入れちまったな...(汗

朝生見つつ、酔いが冷めました。
0608nobodyさん02/09/28 03:19ID:9vPkzBLd
PostgreSQLでサブクエリ(副問い合わせ)実装したのっていつからなのでしょう?

6.5.3(でぶあんイモのサーバなのだ(T_T))のPostgreSQLで

SELECT COUNT(*) FROM (SELECT DISTINCT TEL FROM ORDER WHERE TEL = '03%') AS TEMP_TABLE

ってやったら怒られた出巣。

0609nobodyさん02/09/28 03:22ID:???
TEL like '03%' では???
0610hmk02/09/28 03:40ID:???
>>603に藁われちった。

>>608
こんなことできなかったっけ?
SELECT COUNT(DISTINCT tel) FROM order WHERE tel LIKE '03%';
0611hmk02/09/28 03:44ID:???
>>606
わかりまそん。Postgresの不具合でないのかぇ?
061260802/09/28 04:28ID:9vPkzBLd
>>609
失礼、そのとおり(^^;

>>610
いや、アレはあくまで例題なので(^^; メインは「副問い合わせが使えるか」側なんですよ。

 ……でもこっちも×でした(^^;
0613hmk02/09/28 04:31ID:???
>>612
"order" という表名がいけないのでは。。。
061460802/09/28 05:18ID:9vPkzBLd
>>613

にゃ、確かにコレでは×ですね。でもこれもやっぱり例題なのでし(^^;
こっちのテスト環境では「users_pre」なのでしね
0615nobodyさん02/09/28 05:33ID:2Rxq6k1c
http://yahooo.s2.x-beat.com/
0616nobodyさん02/09/28 17:12ID:???
>>608
例がひどすぎることが指摘されてるんだから、もう一回書き直せば?
あと、そのSQLを発行したらなんと言って怒られたかぐらいも書けば?
更に何故マニュアルを見ないの?
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/release-6-3.html
あんまし、まじめに調べる気にもならんかったから的外れかも知れんが
副SELECTの実装はこの辺りかららしい。
061760802/09/29 03:08ID:6ztDeH/m
>>616
では改めて

SELECT COUNT(*) FROM (SELECT DISTINCT TEL FROM users_pre WHERE TEL = '03%') AS TEMP_TABLE

で

parser: parse error at or near "select"

となります
061860802/09/29 03:08ID:6ztDeH/m
>>617
失敗。

SELECT COUNT(*) FROM (SELECT DISTINCT TEL FROM users_pre WHERE TEL Like '03%') AS TEMP_TABLE

でした
061960802/09/29 03:32ID:6ztDeH/m
……うを、6.5.3って、OUTER JOIN実装されてねーのか(T_T)

ロジック(今回はJSPだが)で実装するしかないのかよー
0620nobodyさん02/09/29 16:32ID:???
"WHERE this_date < SYSDATE-7" (Oracle)
ってのは、Postgreだとどうなるんですか??
Postgreも日付を加減したら日数になるの?
062162002/09/29 16:45ID:???
違うかな、intervalをto_dateか何かで日付にして、
"WHERE this_date < to_date('7日前')"ですかね?
7日前ってのは"'now'-7"??
0622nobodyさん02/09/29 16:45ID:???
>>620
Oracleは知らんので同じ意味かどうか分からんけど
"WHERE this_date < 'current'::timestamp - '7 day'::interval"辺りか?

062362002/09/29 17:03ID:???
>>622 thanx!!
"::型"で型宣言するのね。

"SELECT this_date-1" で1日前の日付、
"SELECT current_date-this_date" で日数差も出ますた。
"SELECT now()-this_date" だとintervalになるのね……。
0624nobodyさん02/09/30 02:51ID:NEg9lBdJ
つかぬ事をお尋ねしたいのですが、jdbc.postgres.org にある

7.3dev (built 2002-09-24) のJDBC3ドライバは

7.1でも動作する下位互換性はあるのでしょうか?
それとも7.3用に作られているのでしょうか?
(Development Driverだから動作が不安定とかいうことではなく
動作対象として7.1も考慮されているかということ)
062562402/09/30 02:52ID:???
jdbc.postgres.org → jdbc.postgresql.org
■ このスレッドは過去ログ倉庫に格納されています