■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

PostgreSQL or MySQL

1 :名無しさん :2000/04/12(水) 19:03
Apache+PHP/FIで検索システムを作ろうと思っています
PostgreSQLとMySQLのどちらがおすすめですか?
ご意見きかせてください
規模は小さいです&日本語必須です
サーバはLinux(Vine)を考えています


545 :543 :01/11/24 22:10
>>544
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/keys.html
っすね。ありがとー。

546 :536=538=540 :01/11/25 00:47
>>541-542
アドバイスありがとうございます。

行ごとに一意な値が欲しいのではなくて、
行全体が一意になってほしい
(同じ内容の行が複数できてほしくない)
ので、primary key や unique は
違う気がします。

547 :名無しさん@お腹いっぱい。 :01/11/25 01:03
>>546
複数行に対して unique index 張りな。
create unique index インデックス名 on テーブル名 (
項目名1, 項目名2, ...
);
だっけか?

548 :なんとなく。 :01/11/25 01:23
>>540
恐ろしく読み間違ってる。と思うかな。
頑張れ。

549 :なんとなく。 :01/11/25 01:26
ごめん>>546だ。

550 :名無しさん@お腹いっぱい。 :01/11/25 02:27
>>547
それであってると思われ。
もしくは、最初から
create table a(b int, c int, unique(b, c));
と作っておけばいい。

以下実行結果。
db=# insert into a values (1,0);
INSERT 18979 1
db=# insert into a values (1,0);
ERROR: Cannot insert a duplicate key into unique index a_b_key
db=# insert into a values (1,1);
INSERT 18981 1

551 :名無しさん@お腹いっぱい。 :01/11/25 10:06
レコード全体からhash出してそれをprimary keyにするとよろし

552 :536=538=540 :01/11/25 21:06
みなさま 大変ありがとうございます。

unique index は単項にしか使えないと
思いこんでいました。

>>547,>>550 さんの方法でできました。

>>551 さんのおっしゃってることはよく
わからないので、これからドキュメントを
読んでみます。

553 :536=538=540 :01/11/25 21:37
改めてドキュメントを見てみたところ、
そのものずばりが例付きで載っていました。
> Prevent duplicate rows in the table distributors:
読んだ気でいたのですが、気のせいだったようです...。
大変失礼いたしました。

>>551
create table a (b int, c int, primary key(b, c));
ということでしょうか。

554 :なんとなく。 :01/11/26 08:43
>>551
篠原じゃなくて、シノニムはどーすんの?

555 :544 :01/11/27 23:22
>>545 うーん、さりげなく誤訳が目につくページだなあ。

556 :名無しさん@お腹いっぱい。 :01/11/27 23:33
>>555 だからあんたはドキュソメントと書いたんだと思ってた。

557 :544 :01/11/28 01:28
>>556 いや、それは単に指が弾みで動いただけ :)
盛れはソースと共についてきたドキュメントにgrepをかけただけ

558 :教えてください、 :01/11/29 02:31
postgreSQLに対して、cronで自動で
insert,deleteなどを行いたいのですが、
どの言語でシェル?を作るのがよろしいでしょうか。
また、そういったことはできますか?

つまり、psqlコマンドは対話式になってるので、
普通にシェルを作るのではだめですよね??

559 :名無しさん@お腹いっぱい。 :01/11/29 02:33
>558
リダイレクトで流し込めるし、--fileか何かのオプションで
ファイルからSQL文を読み込ませる事も出来る、はず。

560 :教えてください、 :01/11/29 02:43
>>559
ありがとうございます!!
--fileですね。明日会社でやってみます!

561 :教えてください :01/11/30 22:42
RedHat Linux7.1ですがUNIX版にて失礼します。

PostgreSQL 7.1.2 を書籍の方法にしたがってインストールしました。
レグレッションションテスト(make check)もパスするのですが、
なぜかPostmasterが起動しません。

pg_ctl -w start としても、wait状態が続き、startできません。

レグレッションテストの中ではPostmasterを起動させるとのことで
、基本的には動いているはず(?)なんですが。。。。

確認するポイントなどアドバイスございましたら宜しくお願いします

562 :名無しさん@お腹いっぱい。 :01/11/30 23:18
確認するポイントか。
http://www.geocities.co.jp/SiliconValley/5656/
を見てみるといいよ。

563 :名無しさん@お腹いっぱい。 :01/12/04 05:35
SQL文がつくれなくて悩んでいます。プログラマ板にも書いてしまったんですが、
このMySQLスレを見つけたのでここでも質問させてください。申し訳ないっすが。

似たような情報がわけあって(?理由はよくわかんない)複数のテーブルに分散して
置かれています。

具体的には
a_table (id INT, name VARCHAR(100), kingaku INT) と
b_table (id INT, name VARCHAR(100), kingaku INT) があるという、
悲惨な状態です。

が、2つのテーブルの全ロウを眺めてみると、idはまったく重なっていないようです。
この2つのテーブルが、 さも一つのテーブルであるかのように扱って SELECT する
ことはできないでしょうか? WHERE kingaku < 1000000 の先頭100ロウを取り
出す、などの処理がしたいので、a_table, b_table 別々にクエリする方式では
やや面倒が多いのです。。。。

よろしくお願いします。DBMSはMySQLです。

564 :名無しさん@Emacs :01/12/04 12:42
2つのテーブル統合したテーブル作れ。んな腐った
設計を甘んじて使っててもロクな事ないから元から
組み直せってこった。

565 :名無しさん@お腹いっぱい。 :01/12/04 12:50
ちょっと調べてみたら、MySQLってUNION JOINが導入されたの4.0からなんだね。
>>564が言ってるように新しいテーブルを作ったほうがいいと思われ。

566 :名無しさん@お腹いっぱい。 :01/12/04 16:26
>>564,565
了解です。今MySQLの3.xなので、設計しなおしをせまることにします。
どうもでした。

567 :勉強厨房 :02/01/09 23:18
有用スレッドage中

568 :&gt :02/01/15 03:36
postgresのバックアップってどうやってますか?

/dateディレクトリ、丸ごとコピーと、
pg_dumpですか?

ほかに何かありますかね?
この2点で大丈夫ですかね??

569 :名無しさん@お腹いっぱい。 :02/01/15 10:52
・・・SQLレベルの問いかけ、エライレベル低いな

RDBMS板の設置を検討した方がいいのか?

570 :名無しさん@お腹いっぱい。 :02/01/15 13:48
レベル低いのに独立板作ってどうするよ。

それとも何か?高尚なUnix板には低レベルな質問は要りませんってか?(ワラ

571 :名無しさん@お腹いっぱい。 :02/01/16 05:30
RDBMS板で集約すれば、分散していた連中があつまってきて‥‥
ってはなしやないのか?

572 :名無しさん@お腹いっぱい。 :02/01/18 12:52
そもそも「DBMSなんか関心ねえよ」ってのが大半じゃないだろうか
よって独立板建立しても閑古鳥じゃねえか?

573 :名無しさん@お腹いっぱい。 :02/01/19 07:36
DB関連はビジネスsoftやム板にもスレがあって分散してるから
まとめられると少しはいいんだろうけど、それでも人は少なそうだ。

574 :& :02/01/21 22:56
あふぇ

575 :名無しさん@お腹いっぱい。 :02/01/21 23:55
>>571
fj 的経験からいうと、Access の質問であふれかえることになるぞ。

576 :名無しさん@お腹いっぱい。 :02/01/22 00:03
>>575
虚しく同意

577 :名無しさん@お腹いっぱい。 :02/01/25 21:13
ずっとマニュアル見ながら考えてるんだけどよく分からない。
MySQLでLOCK TABLE使わないと、ファイルを直接書き換える時みたいに、
データベース自体が壊れてしまう、つまり空になってしまう事ってあるの?

578 :名無しさん@お腹いっぱい。 :02/02/22 01:58
PostgreSQLの7.2って皆さん使ってます?
感想希望。特に安定性とクエリの速度。


579 :名無しさん@お腹いっぱい。 :02/02/22 02:25
>>577
壊れないでしょ。UPDATEしてる間にSELECTされちゃったらSELECT結果が
正しいと保証できないからLOCK、とかそんなん。


580 :仕様書無しさん :02/03/09 16:50
良スレ、あげ

581 :名無しさん@お腹いっぱい。 :02/03/13 15:24
再保守


582 :名無しさん@お腹いっぱい。 :02/03/15 23:18
他スレで聞いてよくわからなかったので教えてください。

DataBaseのデータ領域をNFSサーバ上に置いておき、
複数のホストでPostgreSQLなどを立ち上げてそのデータを共用するのは
問題が起きますでしょうか。
というより、可能でしょうか。


583 :あぼーん :あぼーん
あぼーん

584 :あぼーん :あぼーん
あぼーん

585 :あぼーん :あぼーん
あぼーん

586 :あぼーん :あぼーん
あぼーん

587 :あぼーん :あぼーん
あぼーん

588 :あぼーん :あぼーん
あぼーん

589 :あぼーん :あぼーん
あぼーん

590 :あぼーん :あぼーん
あぼーん

591 :あぼーん :あぼーん
あぼーん

592 :あぼーん :あぼーん
あぼーん

593 :あぼーん :あぼーん
あぼーん

594 :名無しさん@お腹いっぱい。 :02/03/16 00:14
他スレで聞いてよくわからなかったので教えてください。

DataBaseのデータ領域をNFSサーバ上に置いておき、
複数のホストでPostgreSQLなどを立ち上げてそのデータを共用するのは
問題が起きますでしょうか。
というより、可能でしょうか。

595 :  :02/03/16 01:31
>>594
トランザクションの不整合が起こる
ネットワークとディスクの性能が極端に劣化する
ダウンリカバリ後データ領域が逝く

selectだけ行なうんだったらできるかもしれんけど。

596 :名無しさん@お腹いっぱい。 :02/03/16 03:07
>>595
どうも。

597 :名無しさん@お腹いっぱい。 :02/03/16 05:10
そもそもDBのデータをNFS上に置くのはあまりやらないんでしょうか。
パフォーマンスに問題ありますか?

598 :名無しさん@お腹いっぱい。 :02/03/16 10:45
>>597
じゃなくて信頼性に問題あると言ってる

599 :名無しさん@お腹いっぱい。 :02/03/16 17:19
>>598
ええと、1つのPostgreSQL+NFSの場合は信頼性には問題ないのですよね。
DBのデータをNFSに置くこと自体パフォーマンス的にあまりやらないのかなと。

600 :名無しさん@お腹いっぱい。 :02/03/16 20:17
>>599

おめぇ、あほか?

自分のディスクに書くのと、ネットワーク経由のNFSに書くのと
同じ信頼性があると思ってる?

601 :名無しさん@お腹いっぱい。 :02/03/18 15:22
age ときます。

>>599
mail spool を NFS で共有することすら locking の問題でアレなのに、
DB なんて論外っしょ。そういうことをしたいのならば、SCSI レベルで
ディスク共有する SAN の導入を考えるべき。でも、PostgreSQL や MySQL
を使おうというレベルから大きく逸脱するけど。

602 :名無しさん@お腹いっぱい。 :02/03/18 22:53
>>600
FCハブ経由だったら同じ程度の信頼性かもね・・・なんてひねくれてみる

>>599
信頼性とは、1つの動作の実行ステップとそのとき経由する装置の数で決まります。
ディスク直書きと、
NFS→LANカード→ハブ→LANカード→NFS→ディスク
じゃああんまりにも差がありますよ、ということです。

603 :名無しさん@お腹いっぱい。 :02/03/18 22:58
>>599
パフォーマンスに関しては、単純にNFSにすると下がるでしょうね。
組み方によってはいい場合もありますけれども・・・
(ヒントは多重I/O)



604 :名無しさん@お腹いっぱい。 :02/03/18 23:08
>>599
というか、
そもそもRDBMS(Relational-Database Management System)は
何を管理するものなのか考えてから、適用を考えた方がいいですよ

今回のケースだと、
他ノードのRDBMSの動きまで管理できないとRDBMSの管理が崩れます。
何よりも、PostgreSQLを作った人々はその構成における動作を保証していないはずです。

データ参照だけに抑えれば、動くのかもしれませんが・・・
(諸刃の剣 シロートにはおすすめできない)

どうせやるんだったら、
NFSを動かそうと思ってるサーバにPostgresSQLとORBとNamingServiceを載せて、
他のサーバは自サーバのPostgreSQLにSQLを投げるんじゃなくて、
CORBAでそのサーバにSQLを投げて、
そのサーバ上のCORBAアプリが結果を返すようなものを作る方が安全でしょう。

CORBAでは可変長文字列のインタフェースもサポートしてますし、
アプリ側からみてもインタフェースが大幅に難しくなるワケでもありません。


605 :名無しさん@お腹いっぱい。 :02/03/18 23:35
>>604
そこまで複雑にせんでも、単に他の host から SQL 投げるようにする
だけでいいと思うけど。

606 :名無しさん@お腹いっぱい。 :02/03/19 23:36
>>605
やーなんか一元性にこだわりでもあるのかな なんて思ってね・・・
でもCORBAってそんなにめんどくさくないですよ ってそう思ってるの漏れだけ??(寂)

607 :名無しさん@お腹いっぱい。 :02/04/02 18:57
PostgreSQLにて、

select name, nenrei from kaiin;
こんな感じで名前と年齢を表示させたいとします。

name    nenrei
-------------------
山田    32
中川    19
 ・
 ・
 ・

この時、nenrei(年齢)が20以下の場合には、"未成年"と表示して
それ以外は空欄で表示させたいのですが、SQL文だけで可能ですか?

このような結果を獲たいのです。

name    nenrei bikou
-------------------------
山田    32     
中川    19     未成年
 ・
 ・
 ・

可能ならどのようにすれば良いのか教えてください。よろしくお願い致します。


608 :名無しさん@お腹いっぱい。 :02/04/02 19:00
4月だから新入社員が勉強のサイト作らされてて
わかんないから2chで聞いてるような質問が最近多いような気がする。

609 :名無しさん@お腹いっぱい。 :02/04/02 19:07
>>607
case 文でできるかも。でも postgres は未対応かもしれない。

>>608
研修で SQL やるのか? まぁ、いまどきならそれもアリか。


610 :名無しさん@お腹いっぱい。 :02/04/02 19:30
>>608
新入社員がサイト作る?そんなの聞いたこと無いが。
つーか、普通、会社に入社して最初にdb勉強するならOracleだろ、
postgresやmySQLをとっかかりからやらせる会社ってあんの?

611 :名無しさん@お腹いっぱい。 :02/04/02 19:47
>>610
勉強のサイトっていってんだろゴルァ!


612 :名無しさん@お腹いっぱい。 :02/04/02 20:00
>>609
有難う御座いました、できました。

最初にやってたのは、
case when nanrei<20 then '未成年'
end bikou
このようにしていたのですが、エラーでと通ってくれなかったの
ですが、色々と試してみると end の部分が end as bikou
と as が必要なだけだったようです。

PostgreSQLは初心者なもので何が出来て何ができないのか
まだ慣れていないのものでしょーもない質問して申し訳あり
ませんでした。

613 :名無しさん@お腹いっぱい。 :02/04/02 20:12
>>611
勉強のサイトってのも聞いたことないな。
うちの会社じゃまずCやってもらって、次にOracleでその次は無い、
仕事によって色々な言語やdbを使うことになるから、教育なんて
あってないようなものです、Cはプログラムってこんな感じで組む
って程度を教えるだけで、Oracleはdbはこんな感じ・・・って程度の
新人教育ってより、講習会に近い状態、新入社員で着いて来ない
人々は盆休み前に消えている、生存率30%程度かな。
他所はもっと詳しく教えているのだろうか・・・・。

614 :名無しさん@お腹いっぱい。 :02/04/02 20:22
>>612 oracleだと as いらないからね、おれもひっかかったことあたよ


615 :名無しさん@お腹いっぱい。 :02/04/02 21:29
>>613
最悪の会社だ、教育無しで能力不足な社員は九尾かよ!

616 :名無しさん@お腹いっぱい。 :02/04/02 22:07
まあ、ついてこれない奴に無理やり教えてもねぇ。


617 :名無しさん@お腹いっぱい。 :02/04/03 09:24
>>610
> 新入社員がサイト作る?そんなの聞いたこと無いが。
> つーか、普通、会社に入社して最初にdb勉強するならOracleだろ、

なんでこう視野が狭いんだろう。教育の方針なんて会社どころか、
部署やチームごとでも違うでしょ。「普通…だろ」なんて言えるほど
社会を知ってるのかなぁ。

うちに新人がきたら tomcat と postgres をインストールさせて、
web サイト構築させるよ。

となりの部なら Oracle だし、となりの部なら VB だし、
さらにとなりなら C だし、一階あがれば Delphi だし。


618 :名無しさん@お腹いっぱい。 :02/04/03 09:30
>>617
全社的に意思統一がとれてないのって悲惨じゃない?
適材適所っていうのもあるけど、そこまでバラバラなのはなぁ。


619 :617 :02/04/03 09:47
>>618
> 適材適所っていうのもあるけど、そこまでバラバラなのはなぁ。

そう? 意思統一と環境統一は別だと思うけど。

例えば Oracle だけで数千万以上する場合もあるから、すべての顧客に
Oracle を勧めるわけにはいかない。PostgreSQL という別のカードを
持っておくのは大事だと思うよ。

実はうちの部だけで
 言語: sh、C、perl、Java、PL/SQL
 OS: Solaris2.6〜8
 DB: Oracle、PostgreSQL
となってる (ちなみに会社全体では DB2 に力を入れはじめてる)。

でも、これくらい普通じゃない? 概念をおさえておけば、言語や
環境はどうにでもなるし。


620 :名無しさん@お腹いっぱい。 :02/04/03 12:11
>>617
視野が狭い?わるかったな、大先生様

621 :617 :02/04/03 12:56
>>620
まぁ気にスナ!


622 :名無しさん@お腹いっぱい。 :02/04/04 23:27
PostgreSQLの質問スレって何処ですか?
ム版の方でしょうか?

623 :ポスグレン :02/04/08 16:53
>>612

ポスグレのバージョンは何?
7.1.2だと as 入らないと思うんだけど・・・。

624 :名無しさん@お腹いっぱい。 :02/04/08 18:28
ああおれもPostgresの質問スレッド欲しい。
ここかム板かUnixか、悩む。

625 :名無しさん@お腹いっぱい。 :02/04/08 18:29
ちゃう、ム板かUnix板かWebProgか、悩む、だな。

626 :名無しさん@お腹いっぱい。 :02/04/08 18:46
PostgreSQL
http://pc.2ch.net/test/read.cgi/php/989375812/
これじゃいかんの?

627 :名無しさん@お腹いっぱい。 :02/04/09 01:55
明らかに、用途によって使い方の違いがあるんじゃないでしょうか?
例えば、libpqを利用した場合のPostgreSQLの問題とかあるんじゃ
ないかな?その方面は書くスレで自由に質問って事になるの?
それとも、ム、Web、UnixそれぞれにPostgreSQL質問スレ支部を
分散させて、ここでUnix版で統括するか(Cygwinはなんなんだ
って話も出てくるか・・・、あとWin32ネイティブってのもあるし)
何れにせよ、今後もっと需要があるからいいスレに育つと思われる。

628 :名無しさん@お腹いっぱい。 :02/04/09 02:07
>>627
煽りや荒らしがでたときにも避難所的に移動できるし・・・

629 :名無しさん@お腹いっぱい。 :02/04/23 14:12
猫か痛いな

630 :名無しさん@お腹いっぱい。 :02/04/25 14:46
PostgreSQLの7.2で日付(timestamp型)の項目へ Now()で現在の日時を更新すると
結果が、yyyy-mm-dd hh:mm:ss.xxxxxx+90のように秒の後ろに小数点が付いて
値が更新されるようになりましたが、timestampの仕様が変更になったのでしょうか?

7.1まではちゃんと yyyy-mm-dd hh:mm:ss+90と更新されていたのですが・・・。


631 :630 :02/04/25 15:41
思い出しました、timeofday() の表示と同じなんです。
select timeofday(); で表示される時間と
select Now(); の時間の部分が同じですね。

仕様が変わったのでしょうか・・・・。いやはや困った・・・。

632 :名無しさん@お腹いっぱい。 :02/04/25 19:15
mai

633 :名無しさん@お腹いっぱい。 :02/05/05 23:33
cygwinにpostgresqlが入ってたみたいなので、
さっそく使おうと思いました。
で、initdbを実行したら、
creating template1 database in /data/base/1...
で止まりました。時間はどのくらいかかるもん
なんでしょ?

634 :名無しさん@お腹いっぱい。 :02/05/05 23:45
3時間半くらい

635 :名無しさん@お腹いっぱい。 :02/05/06 13:18
20万ぐらいの行数があるテーブル扱うならPostgreSQLとMySQLどちらが安定して使える?

636 :名無しさん@お腹いっぱい。 :02/05/06 15:41
20万程度ならどちらも同じように扱えるとは思うが参照が中心なのか、
それとも更新が頻繁に起こるかで考えた方がいいかもね。

637 :名無しさん@お腹いっぱい。 :02/05/06 18:07
>635

更新は頻繁で、データーは文字列型中心ですね。
日に4時間程ですが止める事も可能。



638 :名無しさん@お腹いっぱい。 :02/05/06 18:49
>>633
ipcdaemon入れた?


639 :名無しさん@お腹いっぱい。 :02/05/06 20:05
>>637
それであれば PostgreSQL でいいんじゃない。
Interbase(Firebird) って手もあるが後は好みの問題かも。

640 :名無しさん@お腹いっぱい。 :02/05/06 23:01
http://ml.postgresql.jp/pipermail/pgsql-jp/2002-February/000067.html

>>638
入れてませんでした・・・。

641 :名無しさん@お腹いっぱい。 :02/05/06 23:17
ipc-daemon入れたら、一発でできました。総計8時間
くらいPCを無駄に走らせてました・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・。

642 :637 :02/05/13 01:22
>639
アドバイス有り難う。
とりあえず雛型作っったのでガシガシがんばるっす。


643 :名無しさん@お腹いっぱい。 :02/05/24 00:16
虫さん

644 :644 :02/05/27 02:57
PostgreSQL MySQL Interbaseでなやんでるんです。(更にInterbaseのライセンスについてもどんなんかしらない。Firebiredだったらタダなの?)

要求としては
1.毎日1万レコード追加
2.更新はほとんどない
3.ユーザ情報以外の削除もない
4.検索がメイン
毎日追加されるレコードのデータ(Int型)の差分(いくら増えたか、減ったか)を
1日単位、1週間単位、1ヶ月単位で、抽出したい。
どれが、おすすめでしょうか?
トランザクションとかいらないから、MySQLかなぁ。

設計初なので、あれなのですが、設計変更したほうがいいのか・・・
1日目 10
2日目 15
1週間 10
1ヶ月 20
といった感じです。
データベースには、差分データを記録した方がいいのかもしれないので、
質問自体がナンセンスか。

毎日、その人の、1日前、1週間前、1ヶ月前の差分をSELECTするのだったら、
どのデータベースがお勧めですか?
設計を変えたほうがいいんじゃゴラァ!って感じでしたら、そう言ってもらえると嬉しいです。
差分自体をデータベースに保存すると、パフォーマンスがよくなりそうですが、
最初の設計で、機能が制限されそうなので、ちょっと・・・って感じもします。



掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)