PostgreSQL
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/09(水) 11:36ID:GHX.oCXo関連アプリケーション特有の話題は、以下のスレッドへ。
☆関連スレッド
[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
0713nobodyさん
02/10/31 02:50ID:???Cygwin上で動かす方法があると思いますが、
その環境で実際運用しているケースってあるんでしょうか?
0715nobodyさん
02/10/31 21:26ID:???遅レスだが、誰も答えてないみたいなので。
シェルスクリプトのプロセスの生成、実行、破棄の過程をよく考えれば理由は自ずと分かると思うが、
alias start='cd /usr/local/pgsql/data'
でお望みの結果が得られると思う。
詳しくは、シェルスクリプト関連のスレへ。
0716AAA
02/10/31 21:54ID:qzNXYl3VPostgresql の解説書でシーラカンス本って、Oreilly から
出ているやつですか?
0717nobodyさん
02/11/01 02:26ID:yeaPQaRo[postgres pgsql]$ ps aux | grep post
postgres 2000 0.0 0.4 5056 840 ? SN Oct31 0:02 [postmaster]
postgres 2661 0.0 0.0 4916 0 ? SWN Oct31 0:00 [postmaster]
postgres 3479 0.0 1.1 5072 2308 ? SN Oct31 0:00
/usr/bin/postgres
postgres 3482 0.0 1.1 5072 2308 ? SN Oct31 0:00
/usr/bin/postgres
root 13094 0.0 0.5 2120 1056 pts/0 S 02:00 0:00 login --
postgres
postgres 13095 0.0 0.4 1692 924 pts/0 S 02:00 0:00 -bash
postgres 13624 0.0 0.3 2324 688 pts/0 R 02:07 0:00 ps aux
postgres 13625 0.0 0.4 1692 924 pts/0 R 02:07 0:00 -bash
0718ois\\\
02/11/01 08:22ID:ECdYK2+dThank you
postgres
のuser directory /home/postgres/
のどれかのファイルに書くのですね
0719質問age
02/11/01 11:02ID:W+9xVgU/何なのでしょうか?
削除してもオッケー?
-rw------- 1 postgres postgres 16777216 10月 31 12:52
0000000000000000
0720nobodyさん
02/11/01 16:48ID:???アクセス権限はありますか? それともそのデータベースに
アクセスできるユーザなら、誰でも任意の操作ができるので
しょうか?
>>719 消しちゃダメみたい。
http://www.postgresql.jp/document/pg721doc/admin/wal-implementation.html
http://www.postgresql.jp/document/pg721doc/admin/wal-configuration.html
別に増えていくわけじゃないよね。シンボリックリンクを使えば、
別の場所へ持って行くことも可能らしいです。
0722これのことだと思われ
02/11/02 13:52ID:???技評でつ
0723nobodyさん
02/11/02 16:47ID:???pg_xlog以下は、トランザクションログ(Write Ahead Log)です。
更新を行うときにDBのページファイルを直接いじるのはコストがかかるので、
一旦WALにシーケンシャルに書き出し、
ページファイルへの反映は非同期に行います。
WALファイルは不要になれば(=WALの中身がページファイルへ反映されれば)、
自動的に削除されます。
なので勝手に消すのは(・A・)イクナイ!!
シンボリックリンクで他に流す場合には、ファイル単位でなく
pg_xlog ディレクトリそのものをどっかに飛ばしてください。
07247.2.3
02/11/02 22:52ID:ucdsOWFjPostgreSQLでは複数のプロセスが動いています。
postgresはいわゆるサーバデーモンみたいなもの。
postmasterはクライアントごとにpostgresからクライアントごとに
fork()されて、実質の処理を行う。
以上
0725nobodyさん
02/11/04 02:58ID:zPFPSFhP一番詳しく解説されているのはどれですか?
因みに自分が使っているPostgresのバージョンは7.2.3です。
0726nobodyさん
02/11/04 04:58ID:???マニュアル。
0727nobodyさん
02/11/04 12:21ID:???最近オライリーから日本語版が出た Postgres 本を
ちょっと立ち読みしたけど、結構 PL/pgSQL の解説
が詳しかったような気がする。
http://www.oreilly.co.jp/
あの表紙は、マンモスなのかな? PHP の本と混同し
そうなヨカン。
0728
02/11/04 22:39ID:B1KD5qMHこれって空ファイルをUPしてもダメですよね?
DBあぼーん?
0729nobodyさん
02/11/04 23:25ID:EX+F+q+xご存知でしたら教えてください。cygwin用パッケージも
ダウソしたんですけど、通常書いてあるような、手順踏んで
も立ち上がらないんですわ。
0731pg_log
02/11/05 11:25ID:e5LPgkr8タイムスリップとは?
バックアップから復旧したってことですか?
0732nobodyさん
02/11/06 03:26ID:???pg_logはトランザクションの状態を保持しているログファイルですんで、
消しちゃうと、以前のトランザクションの状態を忘れちまいます。
きちんとシャットダウンとかできてれば問題ないんですけど、
障害後とかにpg_log消しちゃうとcommitされてたはずのトランザクションが
DBに反映されてなかったりするかもしれません。
通常は、postmaster止めるときには全トランザクションが終了している
はずなので、あまり問題はないのですが。
運用中に消しちまったなら、それはそれでマズいですね。
特にトランザクション中なら。
0733pg_pconnect
02/11/07 14:59ID:???「pg_pconnect では、スクリプトが終了してもデータベースの接続を張りつづけます(pg_close が呼ばれれば切断してします)」とありますが、
PHPマニュアルの「pg_pconnect」には、
「pg_close() は、 pg_pconnect()によりオープンされた持続的接続は 閉じません。」と明記されてます。
記事が間違っているわけですよね??
0734733
02/11/08 10:47ID:eJxPn4HTPHPの話題ですた。
0735AAAA
02/11/08 14:06ID:P3hOvOBMなぜTelnetでアクセス??時代遅れもいいところ
ssh でアクセスしましょう。 REdhat にssh が
入ってなければ、CD-2 にはいってますので、インストールして下さい
Windows からRed Hat へのssh でのアクセスは
ssh でグーグル検索すると、解決できます。
0736nobodyさん
02/11/08 20:06ID:???http://www15.xdsl.ne.jp/~vfr/debian/magazinedb/postgresql-setup.html
例えば、field01〜field03のフィールドを持つテーブル"Sample"があったとします。
フィールドのどれかが”猿”という文字を含んでいるレコードを検索するには
select * from Sample where
field01 ~ '猿' or
field02 ~ '猿' or
field03 ~ '猿'
;
とすればよいかと思いますが、
これだとフィールドが増えたとき比例してsql文も長くなってしまいます。
何か上手く省略する方法はないものでしょうか?
whereの対象となるフィールドを"全て"と指定する方法が
あれば便利だと思うのですが・・・
0738nobodyさん
02/11/12 19:42ID:???不定カラムを指定する方法は知らんけど・・・
where field01 || field02 || file03 ~ '猿'
カラム数に比例して長くなることには変わりないが多少は短くなる。
つーのではダメ?
0739nobodyさん
02/11/12 20:34ID:???設計からやり直した方がいいと思います。
パフォーマンスが劣化するのに比べれば、
多少SQL文が複雑になるのなんて問題ではないです。
そういう設計をしていると、
データが蓄積されて止められなくなったときに、
パフォーマンスが劣化して
完全に使いモノにならなくなる可能性が高いです。
0740nobodyさん
02/11/13 10:10ID:Ys/0saOjSQLで動的にテーブルを作成しているのですが、
テーブル名の検索は、出来ますでしょうか。
単純な質問ですがよろしくお願いします。
0741nobodyさん
02/11/13 12:38ID:???0742nobodyさん
02/11/13 20:29ID:???0743737
02/11/14 11:38ID:???>738
その書き方いいですね。
SQLかなりシンプルになりますね。
いただきます。
>739
某企業の製品のWebカタログ用DBなんですけど
完全フリーワードで殆どのカラムを対象にした
テキスト検索をしたいということなので、いっそまとめて
全カラム指定ができればと思ったのですが、
やっぱり738さんのように、カラムは指定した方がいいですね。
お二人とも助かりました。ありがとう。
っていうかもっとマニュアル読まないといかんなと反省。
0744737
02/11/14 11:39ID:???0746nobodyさん
02/11/18 16:05ID:hHx05UgUキーワードを付けてるわけじゃなさそう。。。。
0747nobodyさん
02/11/19 23:11ID:???0748nobodyさん
02/11/20 17:09ID:9OjQWVpD0749nobodyさん
02/11/21 10:19ID:T0eOANSLユーザー「postgres」でtar玉を解凍し、./configureしようとすると
> ./configure: /dev/null: 許可がありません
という表示がでてしまいconfigureが出来ない状態です。
どなたか解決策を教えて下さい。
0750nobodyさん
02/11/21 20:35ID:???0751749
02/11/22 08:28ID:VQdZpxGf初心者なので…そのメッセージが理解できないんです。
0752nobodyさん
02/11/22 17:44ID:hcJNBN1x0754nobodyさん
02/11/24 14:16ID:jX5yz0lFpsqlで接続できなくなってしまいました。
pg_hba.conf は、ローカルシステム上のすべてのユーザーに
許可するようにしているはずなのですが...
解決策をご存知でしたら教えてください。お願いします。
psql: could not connect to server:
対象のコンピュータによって拒否されたため、続できませんでした。
Is the server running on host localhost and accepting
TCP/IP connections on port 5432?
0755nobodyさん
02/11/24 14:21ID:???どうせ、pg_hba.confで設定してないか-iオプションついてないんだろ。
0756nobodyさん
02/11/26 05:08ID:9GlaXfXk(Oracleならたしかったんだけどな。。。)
0758746
02/11/28 11:50ID:oGIU5VGKうーん まだ個人が作れるものじゃないのかなぁ・・・・・
キーワード付けるしかないのか・・・・・
0759nobodyさん
02/11/28 16:49ID:???0760nobodyさん
02/11/29 14:44ID:???0761nobodyさん
02/12/03 13:48ID:mw59SOfbNew.カラム名 とか Old.カラム名 でデータの取得をする時、
カラム名をテキスト型の変数から指定したいと思っています。
例えば、下記のような場合、
column_name varchar(50) := ''data_name'';
・・・↓
new.column_name;
のように指定したいのですが、column_nameを変数ではなく
フィールド名として認識します。
これを、フィールド名として認識させるには
どうしたらよいでしょうか?
PostgreSQL 7.2.3を使っています。
よろしくお願いします。
0762761
02/12/03 13:50ID:???column_nameを変数ではなく
フィールド名として認識します。
変数の値をフィールド名として認識させるには
どうしたらよいでしょうか?
0763?Sメ
02/12/04 12:45ID:4lhjBjYkのデータベースと、教員の受け持つ授業科目のデータベースがあります。
この2つのデータベースから教員のプロフィールに授業科目を加えたものを
つくりたいと思っていますが、うまくできません。
select .... from profile, kamoku
where profile.family_name='*****'
and profile.first_name ='*****'
and ????????????????????
???????????のところで、
うまくプロフィールの方で限定した教員名で科目の方の教員名を
限定したいのですがどうしたらいいでしょうか?
0764761
02/12/04 13:07ID:???テーブルの構造がわからないと、どうしたらいいかなんて
説明できないです。
0766761
02/12/04 17:22ID:???いやぁ〜副問い合わせがわかるレベルならこんな質問しないでしょう。
副問い合わせ使わなくてもできるかもしれんし。。。
で、ベテラン教師さん、761の質問教えてくださいよー
0767nobodyさん
02/12/04 21:07ID:4d678Rrg2ch型の掲示板をDBで実装(?)するときに、1スレッド1テーブルで、
スレッド一覧、みたいなテーブルを一つ持つ。
っていうのが、全部を一つのテーブルに入れるのとの、欠点(遅くなる)
とかって何なのでしょうか?
できれば、スレッドごとにテーブル、にしたいんですけど。
0768nobodyさん
02/12/04 21:41ID:kMXe/HJpスレッド増えたらテーブルも生成すんの?
0769767
02/12/04 22:43ID:4d678Rrgまずいかな。。
0770nobodyさん
02/12/04 23:33ID:kMXe/HJpスレッドを格納するテーブルはバチっと決めておいて、
レコードとしてスレッド格納するように設計すれば?
0771767
02/12/05 00:07ID:6rvWMyhf最終的には、ツリーっぽいデータ形式にしたい。(スレッドの中にスレッド)
だから、レコードに詰め込んでいくと苦しくなりそう。
で、ばしばしテーブルを増やすことは、無駄なこと、なのかな??
ある程度大きくなることが期待されないと、読むときの効率が悪くなる。?
具体的には、テーブルの生成によるオーバーヘッドみたいな物とかは、存在するのか。
0772nobodyさん
02/12/05 00:26ID:vXkLaZQHそのために、DB設計とか、スキーマ設計ってものがあるんだから。
テーブル内で、あれこれやるのはいいだろうけどさ。
商用プロジェクトだったら、必ずDB設計書を書くだろ。
動的に生成されるテーブルがあるなんて、あんまり聞かないぞ。
0773nobodyさん
02/12/05 00:40ID:6rvWMyhf他にちょうどいいのを探すか・・
0775nobodyさん
02/12/05 01:06ID:Ejjyn6K+正規化していないのがばれまくり・・・
0776nobodyさん
02/12/05 01:11ID:vXkLaZQHだから、メンテできなくなるDBが多いんだよ
0777nobodyさん
02/12/05 01:15ID:???記事の場合は題名と日付と投稿者と本文しかありえないんだから、テーブルいくつも作っちゃだめ。
0778nobodyさん
02/12/05 01:29ID:???これは、田舎のひなびた小さな学校のHPを100万ヒットの
人気HPにしてあげようという運動です。現在のターゲット校は上記です。
多くの皆さんクリックしてあげて下さい。
HPに飛んだら、2,3回更新していただくと、もっとありがたいです。
どんどんコピペして他の板にまいてください。
http://www.KissLoveTOCO.com/
0779nobodyさん
02/12/05 01:56ID:6rvWMyhf0780名無しさん@Emacs
02/12/05 04:53ID:???スレタイにスレID振ってカキコにもスレID振ってjoinつーのが
普通の設計だべ?多分。
0782nobodyさん
02/12/05 11:27ID:???別んとこにsequenceだけ持っておく、というのもアリかも。
0783nobodyさん
02/12/05 16:31ID:zuT0nBpDスレタイテーブルに最終番号をつけといて
BEGIN;
SELECT 最終番号 FROM スレタイテーブル;
INSERT INTO カキコテーブル(スレid, 最終番号 + 1, メッセージ, ...);
UPDATE スレタイテーブル SET 最終番号=最終番号 + 1;
COMMIT or ROLLBACK;
うちはこうしてる。
>>773
SQLだけでもできるけどメチャクチャ遅くなる。
メモリに読みこんでバイナリツリーかな。
レコードに親番号が入ってれば何とかなるよ。
0784nobodyさん
02/12/05 18:09ID:???CREATE GROUP
は使えますか?
CREATE GROUPの行でエラーになるんですが、
原因の特定がうまくできないもので。。。
使えるか使えないかだけでも、わかる方いらっしゃいませんか?
0785nobodyさん
02/12/06 18:47ID:n3ITkPRWselect case NUMBER when NUMBER is null then '1' else NUMBER end from AAA ;
0786ポトスグレと弱気に発音
02/12/06 19:23ID:e3P89aGIまぁ、なんとかユルユルと走らせる程度の事はできるんだけど、
何やらよくわからんのはバキュームやらバックアップやら。
バキュームっつーのはつまり、ノートン先生のスピードディスクみたいなもん?
バックアップは通常全部のSQLをどっかに溜めるとかするのか?
バキュームやらバックアップやらはPostgreを走らせながらできるの?頻度は?
なんて事を小学生でもわかるぐらいの平たい文章で説明してるサイト
とかないものか・・・と
0787nobodyさん
02/12/06 20:34ID:RV7qzP6C型変換だろ?
つまりインテガーとかブーリアンだからそうなるのよ。
わかる?
0788nobodyさん
02/12/06 20:35ID:WQv5Y1p0シーラカンス本を読むといいよ。
0789ポトスグレと弱気に発音
02/12/06 23:32ID:e3P89aGIありがとうございます。ちょいと本屋で購入してみます。
0790nobodyさん
02/12/08 04:30ID:cZH6KLf5windowsからtcp/ip経由で接続時、パスワードを入力しても不正と言われログインすることが
出来なくなってしまいました。
pg_hba.confなどは特に変更していないのですが、何か設定しなければいけないものがあるんでしょうか?
(認証方法をtrustにすると、tcp/ip経由でもログインすることは可能になります)
0791☆☆☆☆☆
02/12/08 05:20ID:mpITnhtZ0792nobodyさん
02/12/08 12:55ID:???http://developer.postgresql.org/docs/postgres/client-authentication.html
0793nobodyさん
02/12/08 16:53ID:CK0ZspDsMacOS X のエクセルで作ったcsvファイルをインポートしたいんですが、
うまくいきません。たぶん、sjisからuecに変換すりゃいいとおもうのですが、
TextEditでEUCにして保存してもエラーがかえってきてしまいます。
で、MacOS Xで動くPostgreSQL用のGUIクライアント(ファイルインポート付き)という都合の良いものはないでしょうか。
当方、筋金入りのマカーなのでWindowsなんてものは自宅にありません。すいません。
0794nobodyさん
02/12/08 17:49ID:???エラーが出る前後のデータをよく見てみれば?
0795nobodyさん
02/12/08 18:59ID:J0X/eNGYエラーメッセージを書こう。
0796nobodyさん
02/12/09 16:35ID:8KLf+wGF犬 | ゴン助 | 中型
犬 | カール | 小型
猫 | チャトラン | 長毛
猫 | クロ | 短毛
というテーブルと
犬 | 01
猫 | 02
というテーブルがあった場合、VIEWなりで検索結果を
犬 | 01 | {パトラッシュ,ゴン助,カール} | {大型,中型,小型}
猫 | 02 | {チャトラン,クロ} | { 長毛,短毛 }
なり
犬 | 01 | {{パトラッシュ,大型},{ゴン助,中型 },{カール,小型}}
猫 | 02 | {{チャトラン,長毛},{クロ,短毛 }}
なんて配列に格納し直す方法って、ありますか?
サブクエリーでは、複数の検索結果を入れ込むことが出来ず、やはり
FUNCTIONを作ってLOOPなりWHILEなりで回すものでしょうか?
0798nobodyさん
02/12/09 20:33ID:KNhGAZpk*.sqlを間違えて削除してしまいました・・・(泣)
0799nobodyさん
02/12/09 22:13ID:???データを出さずにテーブル定義だけを出力するオプションもあったはず。
0801nobodyさん
02/12/10 12:53ID:???ものをSELECTするってどういうSQL書けばいいんだっけ?
0802gn355my0
02/12/10 14:04ID:???あ〜 そーゆーの昔流行ったよね〜
オトコにはあるけどオンナにはないもの
とか
ポパイは2でオリーブは1
とかってやつだろ?
この問題は難しいなぁ。。。もうちょっとヒントくれない?
0803nobodyさん
02/12/10 14:29ID:8bCVhaMrFROM区でAとBをLEFT JOINして、WHERE区でB.idがNULLのヤツだけ選べ。
漏れの借りてる鯖のPostgresは7.0.3だから、JOINが使えなくて試せなんだ、すまん。
0804801
02/12/10 17:41ID:???ありがとうございます。
SELECT * FROM table_a NATURAL LEFT JOIN table_b WHERE table_b.id = NULL
で出来ました。
0806nobodyさん
02/12/13 11:00ID:kiLZZUkt他にもこの現象起きてる人っている?
0807bloom
02/12/13 11:02ID:wUIKbYLkhttp://www.agemasukudasai.com/bloom/
0808nobodyさん
02/12/16 13:10ID:???SERIAL型は追加できないのでしょうか?
ALTER TABLE T_EmpEmerg ADD seq_id SERIAL;
0809nobodyさん
02/12/16 15:21ID:???テーブル名はtestね。
serial型を追加しようとすると、
ERROR: Adding columns with defaults is not implemented.
Add the column, then use ALTER TABLE SET DEFAULT.
と言われたから指示通りに
create sequence test_id_seq;
alter table test add column id integer;
alter table test alter column id set not null;
alter table test alter column set default nextval('public.test_id_seq'::text);
とやったらできた。
ちょっとは自分で試してみたの >808
0810nobodyさん
02/12/16 16:20ID:qVo6yZm2問い合わせ結果でnullのときは0を返し、そうでないときは結果そのものを返す、
としたい場合は、どうしたらよいのでしょうか。
0811nobodyさん
02/12/16 16:34ID:???ALTER TABLE test ADD seq_id SERIAL;
としたらエラーになったので
ALTER TABLE test ADD seq_id SERIAL SET DEFAULT 0;
とかやってました・・・。
先にCREATEするんですね。ありがとうございました!
>810
CASEをつかえば出来ると思います。↓
http://www.postgresql.jp/document/pg721doc/user/functions-conditional.html
0812nobodyさん
02/12/16 17:25ID:???810です。
CASEでできました!
ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています