PostgreSQL

このエントリーをはてなブックマークに追加
952nobodyさん:03/03/09 18:51 ID:???
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/<先生!こんなのがありました!
 _ / /   /   \___________
\⊂ノ ̄ ̄ ̄ ̄\
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/shinagawa/
> 話の発端としては、基本設計が悪い(破綻してる)のを他人のせいにしているよ
> うにしか見えません。今見直してどうにかできるなら、最初からそういう設計は
> しないでしょう。

他人のせいにはしているつもりはありません。
954nobodyさん:03/03/09 20:14 ID:???
本人はしてるつもりはなくてモナー
あの一連の話をクライアントが見たら。。。
とかは考えないんだろうな。、きっと。
955nobodyさん:03/03/09 20:43 ID:???
ま、祭?
956nobodyさん:03/03/10 01:47 ID:dDkCRfq2
このスレすごいね。小泉もひどいが、他の奴らも
次々と適当な情報流しまくってる。
なんでドキュソはこう誘発するかねぇ。
957nobodyさん:03/03/10 02:59 ID:???
なんちゅうか"DB設計の不備"以外の何者でもない話に
何故あんなに盛り上がるのか。何故あんなに怪しい情報が
錯綜するのか。つかみんな"よく知らないですが"って言い過ぎ(w
想像だけであんなにカキコしてどーすんだべ。
958nobodyさん:03/03/10 03:17 ID:???
>よく知らないですが
言い切ると粘着されそうだしなぁ。。。明らかに間違ってるのもあったけど。
まあ、あれは設計しなおさないとダメだろう。
小手先修正で自滅していった歴史を披露してたが、学習してないんだろうか(w

実際に担当してるプログラマのことも言ってたけど、同じプログラマとして彼が不憫で仕方ない...
959nobodyさん:03/03/10 03:26 ID:???
>>957
「詳しくわかりませんが」はいいけど、「よく知らないですが」はどうかと。
推測ならまだいいけど、想像でっていうのはどうかと。
960nobodyさん:03/03/10 06:22 ID:???
類は友を呼ぶ、つーか、DQN呼びすぎ。

PostgreSQLがタダだからってDQN技術者が増えると、
PostgreSQLまでDQNだと思われるよ。。
961nobodyさん:03/03/10 11:08 ID:???
pgsql-jp で信じていい人と信じないほうがいい人を
おしえて下さい。
962nobodyさん:03/03/10 12:37 ID:???
>>961
教えて君なら皆信じろよ。
間違いを教えられて失敗しても、それが上達の近道。
963nobodyさん:03/03/10 21:36 ID:???
K6-3の600MHzマシン(メモリ80M)に入れて
最近使い始めたのですが、遅いです。
CSE使用時の表示で応答時間2.6秒

SQL文の書き方やインデックスの使い方がヘタレ、等の
原因の方が大きいかと思いますが、
単純にマシンをパワーアップさせた場合
処理の高速化にどれくらい効果があるんでしょうか?
あほな例えですがPen4やAthlonの最高速、メモリ1Gとかに変えたとして
今より劇的に速くなったりするんでしょうか。

それとも処理の中身を勉強して最適化した方が有効でしょうか?
インデックス使うとその項目の検索で早くなるんだなぁ、程度の知識ですので・・・
964nobodyさん:03/03/10 22:17 ID:???
>963
おまえ、ワザとやってるだろ、、、
965nobodyさん:03/03/10 22:32 ID:???
>>963
何をやって2.6秒かかったのか詳細に書かなきゃ答えようがない
100万レコード取得しようとして2.6秒ならかなり速いと思うが。
966963:03/03/10 23:48 ID:???
こんな感じの。

select あ,い,う,え,お,か,き,く,AA.け,こ,さ,し,AA.す,せ,AA.そ
from AA LEFT JOIN BB on (AA.た = BB.た and AA.ち = BB.ち),CC,DD
whereAA.け=CC.け
and AA.す=DD.す
order by CC.つ,CC.て,CC.と,BB.な,AA.し,DD.す

AAは10000レコード、BB、CC、DDはそれぞれ1000レコードずつくらい。

・・・だめだ、自分で書いててよく判らん。
出直してくるよ。
967nobodyさん:03/03/11 00:36 ID:???
>>961
漏れの投稿は信じていいYO!
968nobodyさん:03/03/11 00:52 ID:???
>>961
いや、>>967の言うことは信じちゃだめだ!漏れを信じれ!
969nobodyさん:03/03/11 01:19 ID:???
とりあえずforceを信じるところから始めようか。
いやむしろ自分か。
970nobodyさん:03/03/11 01:30 ID:???
>>961
他人を信じてはいけない。頼れるものは自分のみ。
971nobodyさん:03/03/11 01:53 ID:???
>>966
最終的に返ってくるレコード数にもよるけど、もっと速くなりそう。
Explainで実行プランを確認してみ。
Seq scanって出てくるところがあったら、indexつけてvacuumかけて
またExplainしてみてindex scanに変わるかどうか調べる。その繰り返し。

遅いからって短絡的にCPUを速くすればなんて言ってると>>949みたくなるぞ
972nobodyさん:03/03/11 02:00 ID:???
K6-III自体は整数演算/Hzの性能は上々だからなあ。
単純にメモリ足んないんじゃないの?
973nobodyさん:03/03/11 02:21 ID:???
パート2はまだでつか?
974973:03/03/11 02:36 ID:???
たてますた
[PostgreSQL 2テーブル目]
http://pc2.2ch.net/test/read.cgi/php/1047317680/
975nobodyさん:03/03/12 19:14 ID:???
Windowsで動くPostgreSQL
http://hp.vector.co.jp/authors/VA023283/PostgreSQL.html

これ使おうと思ったんですが、
create database出来ますか?
initdb.exeで一つしか作れないんですが…
手としてはフォルダコピーして使うとかでしょうか。
976nobodyさん:03/03/12 20:05 ID:???
>>975
そういう仕様です。
977nobodyさん:03/03/12 20:29 ID:???
>>976
沈みかけのスレなのに
ご回答ありがとうございまつ。
PHPとかの書き方もちょっと違う感じだし、
cygwin+pgにしておきます。
978nobodyさん:03/03/12 20:45 ID:???
>>977
PHPの書き方は一緒だろ。
俺の場合本鯖はLinuxなんだが、scriptはWinで書いている。
データベース名が違うのでconnect文だけ環境によって
切り替えるようにしておけば、まったく同一のscriptで桶でし。
979山崎渉:03/03/13 17:04 ID:???
(^^)
980nobodyさん:03/03/13 21:00 ID:???
抽出条件に limit と offset を使うと便利ですが、以下のようなことができなくて
悩んでいます。

WHERE ID=1 ORDER BY T_STAMP DESC limit 5 ORDER BY T_STAMP ASC

これで最後から5つのデータを昇順に取得できません。ORDER BY 句は複数使えない
ようで、offset に -5 などとマイナス値を与えてもエラーがでます。

結局わたしのテーブル設計がまずいとは思いますが、どなたか出来るかたレスください。
981nobodyさん:03/03/13 22:38 ID:???
select * from (select * from table where ID=1 order by T_STAMP limit 5) as foo order by foo.T_STAMP asc;
かな。
982nobodyさん:03/03/13 23:33 ID:sXZYIvtY
厨な質問ですが教えて下さい
Red Hat 8.0でpostgresql-7.2.2-1を使い始めました
いろんな解説をネットでみてたらインストールしてはじめてPostgreSQLを起動すると
# su - postgres
とすると、スーパーユーザーで起動しデータベースを初期化しますよねそんであとからユーザーを追加するのは

# su -postgres
$ -bash2.05$ createuser foo

....y or nで2、3問質問に答えたら

CREATE USER foo

とめでたく、fooというユーザーが登録出来たのですが
では、いざユーザーネームfooでデータベースを作ったりPostgreSQLに接続するにはどうしたらいいのでしょうか?
ほとんどのPostgresqlのHPの解説ではユーザーの追加までは同じようなことが
詳しくでてますけど、ユーザーでPostgreSQLを起動したり、データベースを作成する解説が少ないと思います、なにも知らない、ど素人なんでスーパーユーザーでやってたら、怖いので宜しく教えて下さい。
983nobodyさん:03/03/13 23:49 ID:???
createuser したときにデータベースを作成させる権限を与えておかないと
データベースは作成できない。
与えていたら、createdbで作成できる。

984nobodyさん:03/03/14 00:03 ID:bLaxbE1P
>983
サンクス
$ su - postgres
Password:
-bash-2.05b$ createuser foo with password foo
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
-bash-2.05b$ su - foo
su: user foo does not exist
-bash-2.05b$
こうなるうですが.....
985nobodyさん:03/03/14 00:23 ID:???
>>984
ぉぃ。先に実ユーザをつくっとかんと...
#adduser foo
986nobodyさん:03/03/14 00:35 ID:bLaxbE1P
>985さん
サンクス
はずかしいです、できました
987974:03/03/14 03:24 ID:???
この板では974での次スレは早すぎか。。。
988nobodyさん:03/03/14 10:42 ID:???
PostgreSQL って BLOB や CLOB 使えるの?
989nobodyさん:03/03/14 16:23 ID:???
ヽ(´ー`)ノ
990nobodyさん:03/03/14 21:14 ID:???
>>988
BLOBは使えるYO
991nobodyさん:03/03/14 23:33 ID:???
CLOB の利点って何? Text 型じゃダメなの?
992nobodyさん:03/03/14 23:55 ID:???
>>991
LOBの特徴を持ちつつ、エンコーディングの変換だけはするということかな?
textはタプルサイズの制約に縛られるから。
993nobodyさん:03/03/15 02:10 ID:???
>>990-992
ThanX!
いつもは DB2 使いなんだが今度使ってみるか。
994nobodyさん:03/03/15 03:59 ID:???
995nobodyさん:03/03/15 03:59 ID:???
こっちに移動しる
PostgreSQL 2テーブル目
http://pc2.2ch.net/test/read.cgi/php/1047317680/l50
996nobodyさん:03/03/15 05:15 ID:???
(´-`).。o○(なんで1000取りも埋めもいないんだろう…)
997nobodyさん:03/03/15 11:17 ID:YPCssbUz
PHPでPostgreSQLにデータを引き渡すソースを書いているのだが
Parse error:
ばっかりでデバックが難しい、POSTメッソドでデータ入力まではうまく動くのだが、SQL文を書くと同じエラーばっかりだ
Parse error: parse error, unexpected $ in〜 line(最後の行)
PHPでもPostgreSQLでもいいから一行ずつトレースするデバッガーってないのかな?
998nobodyさん:03/03/15 11:34 ID:???
>>997
それは PHP のパースエラー。スレ違い。

先に SQL 文のひな形を作って、データを sprintf() で埋め込んで
Postgres に渡す SQL を作るようにしてごらん。ミスを防げる。
999999:03/03/15 11:34 ID:???
999
1000次スレ:03/03/15 11:35 ID:???
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。