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
0402nobodyさん
02/07/27 23:08ID:V7PX6eYjlibpqを使って開発しています(C言語)。
DB接続用関数「PQconnectdb()」の使い方がワカランです。
引数が可変長なのは理解できるんだけど、その指定方法がいまいち。
マニュアル通り、「keyword = value」ってやってもできん。
どなたか、使用例ってのを見せておくんなまし。
追加でもう一つ。PGstatusの返り値の違いがワカランです。
特にCONNECTION_OKとCONNECTION_AUTH_OKかな?
あと気になるのは(マニュアルより引用)
「CONNECTION_MADE 接続はOKです。送信されるのを待っています」
いったい何が送信されるのを待ってるんだろう。
どなたか謎を解明してくんさい。
0403親切な人
02/07/27 23:23ID:???ヤフーオークションで、凄い人気商品、発見!!!
「 RX-2001 」がパワーアップした、
「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA#.2ch.net/
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
ヤフー ID の無い方は、下記のホームページから、
購入出来る様です↓
http://www.h4.dion.ne.jp/~gekiyasu/#.2ch.net/
0404名無しさん@Emacs
02/07/28 03:17ID:???PQconnectdb()でなければならない?
問題なければ、PQsetdb()使った方が簡単だと思いますが。
PQstatus()の返り値は、通常は not CONNECTION_BAD を
調べます。CONNECTION_MADE や AUTH_OK は libpq が
内部状態を記憶するのに使うのであって、
通常アプリケーションの方からは使いません。
0405nobodyさん
02/07/29 10:45ID:???例えば社員データベースに格納したいデータとして
社員番号、社員名、住所、電話番号
があって、その中で社員番号と社員名は頻繁に問合せされるけど、
住所、電話番号が問合せされることはほとんどない、といった状況があった場合、
次のどれが問合せの効率としてはいいんでしょうか?
1.全て一つのテーブルに持ち、必要な情報だけを問い合わせる
2.全て一つのテーブルに持ち、よく使われる問合せをビューとして定義する
3.よく使われるデータとそうでないデータを社員基本情報と社員付加情報のような
別テーブルにわけリレーションをはる
4.それ以外
0406初期不良
02/07/29 12:49ID:???実験した方が...
見た感じ postgresql がやることとしては
1, 2 は変わらない感じだから、3で速くなって
その速度が必要だと思ったならテーブル分けて
結合する view を作って view に insert delete update
できるようにするのがいいかと。
0407nobodyさん
02/07/29 16:33ID:???あ、もちろん実験はするつもりでした。
ただ、メリット・デメリットがわからない状態で闇雲に実験しても
「実はこういう場合もある」みたいなケースがあるかなと思いまして、
先達の皆様のご意見をお伺いしたかったと、まぁそういうことです。
今のところ
1.テーブル設計が楽。フィールドが増えると検索に時間がかかる。
2.SQLの組み立てが1よりも楽。検索速度は1.よりも若干遅くなるかも。ビュー定義を別に行う必要がある。
3.検索速度が2.よりも速い。ビュー定義が複雑になる。
ぐらいかと思ってるんですけど、本当でしょうか?
0408nobodyさん
02/07/29 16:55ID:???3.の場合は社員番号、社員名テーブルと社員番号、住所、電話番号テーブルの
整合性に気を使う必要がある。
というのもあるかも。
つまり、工数が増える->ミスする可能性が増える、ということなので、
俺なら、その部分がボトルネックになってて、かつテーブルを分ける事で
大きく性能が改善される事がベンチマーク等で確認されないかぎりは、
一つのままにするかな。
0409pg初心者
02/07/29 17:26ID:???SERIAL型で最大値(2147483648)を超えた場合,
次の値はどうなるんでしょうか?
0410nobodyさん
02/07/29 18:06ID:yb513x2/キャラクター(笑)とかがタダで持てたり、着替えさしたり・・・・
でも今だけらしいですよ入会無料なのって
詳しくは下記UELをクリックして、確かめて!!
http://www.e-mansion.co.jp/co/ac.html
0412nobodyさん
02/07/29 21:30ID:???です。でもそういう意味ではわざわざテーブルを分けること自体、
正規化の逆を行ってたりします?
確かに気を使う割には件数がそんなに莫大というわけではないので
#実際には社員テーブルではないのですが。。。
とりあえず1.でやってみて、問題になりそうなら考える、という形にします。
どもありがとうございました。
0413nobodyさん
02/07/29 22:17ID:+EFE+b01遅いレスだけど、速度を出すときは結合(ソート+マージで高コスト)を
減らす。
列の数が気になるようだが、サーバーとクライアント間の転送量が最初に
問題になるので、問い合わせ時に絞れば問題ない。
さらに例示されたテーブルを無理に分割すると、第五正規化・対称制約条
件に従わない、に違反するので非正規化になる。
0414nobodyさん
02/07/29 22:54ID:???ですよね。大したデータでもないのにわざわざ正規化じゃなくするのは
ちょっとヤな感じがしてきてたところです。これで安心して1.で逝けます。
0415nobodyさん
02/07/30 00:36ID:HDFyLWHUPostgreSQLVer7.1.3を使っているんですけど,
ロックタイムアウトの時間とかは指定できないんでしょうか?
もし,タイムアウト時間が指定できなければ,どのテーブル(又はレコード)に
ロックがかけられているか調べる術などあるのでしょうか?
0416nobodyさん
02/07/30 01:09ID:???トランザクション使えば明示的なロックが必要な部分ってかなり少なくなると
思うんだけど、本当にロックが必要?
わかってて聞いてるならスマソ。
やるとすれば、PQsendQuery して自前でタイムアウト処理して、間に合わない
ようなら PQrequestCancel すればいいのかな。やったことないから正しいか
どうかわからないけど。
0417nobodyさん
02/07/30 01:24ID:HDFyLWHUJavaからDBを触っているんですけど、処理上どうしてもあるレコードが
ロックされているか知る必要があるのです。
(そもそもシステムの設計に欠陥があるのですけど、もう後の祭り…)
「PQsendQuery」調べてみました。
検証してみないとなんとも言えませんが、使えそうな気がするので実験してみます。
アドバイスありがとうございました。
0418nobodyさん
02/07/30 21:46ID:w4X2IPfeなどのテーブルのデータに対して使用する関数はようやく使えるようになりましたが
テーブルそれ自体の項目名を変更したり削除したりするのは
どうやったらいいのでしょうか?
今までは間違えたらDrop Table
して一からCreate Tableしていたのですが、
さすがにそれでは追いつかなくなりました。
SQL一覧をみてもそれらしいのが見つからないのです・・・
0420418
02/07/30 23:37ID:w4X2IPfe見事に出ておりました・・・
アルファベット順だったのでこんな上にあったとは・・・
0421418
02/07/31 00:28ID:boduSA+6ALTER TABLE mytable ALTER mycolumn integer;
こんなかんじでtextになっているmycolumnをintegerに替えようとしているのですが・
ちなみに
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/sql-altertable.html
これを参考にしています
0422nobodyさん
02/07/31 10:32ID:aLb8xrtM頻発するのはどうかと思うが。
新しいテーブルを別に作って select 〜 into 〜 するときに
text を integer に変換して入れる、ってのはどう?
で、古いのを drop して新しいのを rename。
0423nobodyさん
02/07/31 10:54ID:v8yqPDdo新しいテーブルを作って、サブクエリー付きでinsert intoすればよい。
0424nobodyさん
02/07/31 11:28ID:vDTHZH0eLIMITやOFFSETが使えそうですが、20件/1200件
のように全件中の20件のみの表示の場合、全件数を
検索して件数を取得してから、またLIMIT 20 OFFSET 0
とかでSELECTし直して表示させる方法はなんだか
無駄のような気がします。
何か他によい方法はないでしょうか。
0425424
02/07/31 11:32ID:vDTHZH0e最終的には例えば、
1200件中の21〜40件を表示しています。
みたいな表示をしたいのですが、
@全件数を取得するクエリと、
A21件目〜40件目を取得するクエリと
2回クエリを実行させないといけないので、
他に何かよい方法がありましたらお教えください。
0426421
02/07/31 12:07ID:boduSA+6うううそうなのですか・・・
たくさんある項目の中で一箇所だけintegerにすべきところをtextにしてしまったのですよね。
まだデータをいれてないのでまあテーブルごと消して直してしまえば
それまでなのですが・・
0429421
02/07/31 15:27ID:boduSA+6pgdb=> ALTER TABLE mytable ADD myautonum serial;
このように実行すると
NOTICE: ALTER TABLE will create implicit sequence 'company_autonum_seq' for SERIAL column 'company.auto
num'
NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index 'company_autonum_key' for table 'company'
ERROR: Adding columns with defaults is not implemented.
Add the column, then use ALTER TABLE SET DEFAULT.
こんな感じで怒られてしまいます。
tableに項目を足したり削除したりというのがどうもできません。
名前の変更だけはできるのですが・・・
>422
レスありがとうございます。
しかしどうも私の力じゃ理解しきれないもようです・・。
ちょっといろいろネットを当たっては見ているのですが、
postgresは意外と情報が少ないというか
ハイレベルな話が多くて、本当の初心者向けの話が少ないですね。
0430nobodyさん
02/07/31 20:44ID:3uNj3n4cERROR: Adding columns with defaults is not implemented.
を日本語に訳せば原因がわかるよ。
あと、Postgres を使いこなしたいなら、シーラカンス本は必須。
とくに DB 使った経験が少ないならなおさら。いまだと改訂第3版が出ている。
0431f
02/07/31 21:04ID:ZYUYyFHP-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------
0432396=400
02/08/01 12:22ID:???ご解答ありがとうございます。ご返事遅くなって申し訳ありません。
EXPLAIN使ってみました。
このチェックの仕方知らなかったので大変勉強になりました。
速度的には特に問題なさそうですね。
巨大なテーブルがあったらまたチェックしてみます。
ありがとうございます。
0433nobodyさん
02/08/02 14:00ID:IWsgOaFuoracleのXSQL見たいなことが出来ると聞いたので試してみてる最中なのですが。
ttp://four.sssg.org/documents/
を参考にTomcat/postgres/cocoonは全て起動するようになったのですが、
そこから先がよく分からんです。
ttp://www.atmarkit.co.jp/fxml/rensai/cocoon01/cocoon01.html
も見てみましたが肝心の連動の話はまだ先のようで…
XSPとか使うんでしょうか?
環境を一応…
RedHat7.2J
postgreSQL 7.1.3
tomcat 3.2.3
apache 1.3.20
cocoon 1.7.4
ここではなく他に適当なスレがあるのであれば誘導お願いします…
関連っぽいスレがここしか見当たらなかったので…
0434osage
02/08/03 01:54ID:???SELECT
A.*,
B.ALL_COUNT
FROM
TABLE_NAME A,
(SELECT COUNT(COL1) AS ALL_COUNT FROM TABLE_NAME) B
LIMIT 10
OFFSET 5
みたいな感じじゃだめ?
条件にもよるけど、2回 SELECT 発行した方が早いときと、
遅いときとありますたので・・・
>>427
「ない」って言うのは嘘だろ
0435nobodyさん
02/08/03 06:30ID:ZbZ4OQz5./configure したところ、
You must use GNU make to build PostgreSQL
stop in ***********
と出ます。原因は、gmake が無い事だと思い、
とりあえず、ln make gmake
としたのですが、無駄でした、GNUMakefile はどこで手に入れれば良いのでしょうか。
それと、問題そのものの解決策になるでしょうか?
0436nobodyさん
02/08/03 06:56ID:ZbZ4OQz5何とか解決できそうな気がします。
失礼しました。
0437nobodyさん
02/08/03 10:21ID:hyrYRCqD取り敢えず、Cocoonは2.0.3にしておけ。
で、ESQLというのがあるので、それを使えば望みは叶うぞ。
0438nobodyさん
02/08/03 16:43ID:kR3x2v5Aかな〜り遅レスですが、寸間祖(ATOK)
> PQconnectdb()でなければならない?
> 問題なければ、PQsetdb()使った方が簡単だと思いますが。
簡単か否かは別として使ってみたいんす
パラメータをどうやって区切るのかわからんのです
(スペースとか、カンマとかやってみたんすけど)
ちなみに同じパラメータリストでPQsetdb()ではできました
> PQstatus()の返り値は、通常は not CONNECTION_BAD を
> 調べます。CONNECTION_MADE や AUTH_OK は libpq が
> 内部状態を記憶するのに使うのであって、
> 通常アプリケーションの方からは使いません。
ありがとうございます
基本的にはフロントエンドでは(CONNECTION_OKと)
CONNECTION_BADを見ればいいってことですね。
関係ないですが、今日はPQclear()し過ぎてて
セグメンテーションフォールト起こしてました。
0439nobodyさん
02/08/04 18:49ID:r6DcgMc8にも検索できるようにするのですが、年(YYYY)と月(MM)と日(DD)と
別々の列にするのと、YYYYMMDDのひとつ列を正規表現で探すのとどち
らが早いでしょうか
どちらもインデックスは作りません
0440nobodyさん
02/08/04 20:28ID:???0441433
02/08/04 23:57ID:3MVeA/Fz亀レススマソ。
2.0.3ですかー。とりあえず上記のアドレスを参考にしたのでわざと最新版にしていませんでした。
あと日本語問題も古い方が良いと話を聞いたので…
ESQLですね。調べてみます。有難うございました。
ついでに、本無いか探してみたのですがモノの見事に
Apache+Tomcat+Coccon+PostgreSQLの本を発見しました…
一から勉強してみますです。
0442nobodyさん
02/08/05 01:00ID:YPHySkjn日付型
0444nobodyさん
02/08/05 01:19ID:???0445nobodyさん
02/08/05 01:26ID:???別々の列にする意味あるのか?
CHAR型にする意味があるのか?
0446nobodyさん
02/08/05 01:32ID:???0447nobodyさん
02/08/05 01:43ID:???ん・・・・それは、Oracleだっけか?
0449439
02/08/05 05:10ID:yM7Bnwzp年と月と日のそれぞれの入力欄があり、
月の欄だけに8と入力すれば、年や日に関係ない8月だけの
データが取り出せます。
また日の欄だけに15と入力すれば、年や月に関係ない15日
だけのデータが取り出せる。
そういった串刺し的にデータが取り出したいのですが、
日付型にして例えば15日だけのデータ
を取り出すとなると、年や月をプログラム等どこかで
補完してやる必要は出てこないでしょうか。
それは省きたいので年月日を別々の列にして検索するか
YYYYMMDDの文字列を正規表現で検索するかを考えています。
0450nobodyさん
02/08/05 06:03ID:???db=> create table test (time_field timestamp);
db=> insert into test values ('2001/08/31');
db=> insert into test values ('2002/05/31');
db=> insert into test values ('2002/08/05');
db=> select * from test;
time_field
------------------------
2001-08-31 00:00:00+09
2002-05-31 00:00:00+09
2002-08-05 00:00:00+09
(3 rows)
db=> select * from test where extract(month from time_field) = 8;
time_field
------------------------
2001-08-31 00:00:00+09
2002-08-05 00:00:00+09
(2 rows)
db=> select * from test where extract(day from time_field) = 31;
time_field
------------------------
2001-08-31 00:00:00+09
2002-05-31 00:00:00+09
(2 rows)
0451nobodyさん
02/08/05 06:16ID:iq1uYGQ8ありがとうございます。
extractなんてあったんですね。目からウロコでした(;_;)
マニュアルは何回か探したんですが気づきませんでした。
0452nobodyさん
02/08/05 14:38ID:LsERs9OySQL関数で日付型から一部分を抜き出せるよ。
0453nobodyさん
02/08/07 00:18ID:???0454nobodyさん
02/08/09 11:01ID:XpLu47Ro名前がついていたデータなのに16558とか16559といった数値に
データが変換されてしまっているようなのですが、変換されてしまった
データを元の名前に戻す方法とかってあるでしょうか?
0455nobodyさん
02/08/09 15:32ID:FVfbuWof型式をTIME型にしてDB作って
CAST('01:02:03.45' AS TIME)
をINSERTしても、01:02:03までしか格納されてないみたいなのです。
TIME型は小数点2まで記録できるとあるようですが
DB作る時点でなにかしら設定しておかないといけないのでしょうか?
0457nobodyさん
02/08/09 23:05ID:Mh8PP7zCやりたい事:面会記録テーブル面会者1、面会者2表示を人物テーブルから名前を引っ張ってくる。
一つでしたら何ら問題ないのですが、二つ引っ張ってくる時のSELECT文のFROMまでどのように記述してよいか
解かりません。↓が例です。
テーブル1:人物テーブル
ID 名前 姓
1 田中康則 男
2 田中真紀 女
3 小泉純二郎 男
テーブル2:面会記録テーブル
ID 日時 面会者1 面会者2
1 8-8-2002 1 2
2 8-9-2002 2 3
SELECT後の希望表示結果:
日時 面会者1 面会者2
8-8-2002 田中康則 田中真紀
8-9-2002 田中真紀 小泉純二郎
簡単そうで、何かうまくいきません。何方かご教授お願いします。
0458nobodyさん
02/08/10 00:30ID:???0459nobodyさん
02/08/10 00:43ID:K0BBB4AYテーブル設計が腐っています。
select 日時,面会者1 AS 面会者 from 面会記録テーブル
union
select 日時,面会者2 AS 面会者 from 面会記録テーブル
以上のようにして合成し、日時,面会者の形に整理して使いましょう。
まとめると以下のようになる(かも)
select a.ID,a.名前 from
(select 日時,面会者1 AS 面会者 from 面会記録テーブル union select 日時,面会者2 AS 面会者 from 面会記録テーブル) a,人物テーブル b
where a.ID==b.ID
0460nobodyさん
02/08/12 21:08ID:wOaAyc1y>テーブル設計が腐っています。
(´・ω・`)ショボーン 勉強してきます。
えっと上ので試したけどいまいち訳わからずです。
一度の面会で複数の人に会ったという設定なのですが、
このSQLでよいのですか?
DQNな質問でスマソ。
0461nobodyさん
02/08/14 04:37ID:MFUQQkABアプリケーション側で表示は工夫する必要はあります。
同じIDの人は、同じ面会であったことになるので、ソートして再構築。
SQLはwhere句がでたらめだったので、以下のような感じに訂正。(動作チェックはしていません)
select a.ID AS 面接ID,a.名前 AS 面接者名 from
(select 日時,面会者1 AS 面会者 from 面会記録テーブル union select 日時,面会者2 AS 面会者 from 面会記録テーブル) a,人物テーブル b
where a.面会者==b.ID
order by 面接ID
0462nobodyさん
02/08/14 10:47ID:???select m.日時, j1.名前 as 面会者1, j2.名前 as 面会者2
from 面会記録テーブル as m, 人物テーブル as j1, 人物テーブル as j2
where m.面会者1 = j1.ID and m.面会者2 = j2.ID
じゃダメ?
cross join がイヤなら適当に変えてね。
0463461
02/08/14 16:11ID:MFUQQkABいける。頭まわっていなかったらしい・・・
0464nobodyさん
02/08/14 21:30ID:/c+Z8KBo解決出来ました!有難う御座います。
>>461
どうもいろいろ意見有難うございました。unionの用法勉強してきます!
0465コギャルとHな出会い
02/08/14 22:08ID:udQrDzAC朝までから騒ぎ!!
小中高生
コギャル〜熟女まで
メル友
i/j/PC/対応
女性の子もたくさん来てね
小中高生大歓迎です
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。
激安携帯情報あります。
0466466
02/08/20 01:22ID:VsvDpbeqデータ-ベースを使用するデータ-ベース使用者の数だけPostgresのアカウントを発行するのが嫌だったので
"Administrator" と "User" という2つのアカウントだけつくり、
したにあるようなIDとパスワードを保持する別のテーブルを作って認証を行おうと思いました。
DataBase=# select * from lD_Passwd;
id | password
------------+----------
tanaka | abcdefg
satou | 0000000
guest | guest
上のテーブルにSelectの権限が与えられているのは"Administrator"(=管理者)のみで
その他のデータ-ベース使用者はすべてアカウント"User"を使うことになります。
ところがUserたちが認証する際、読み取り権限がないのでアクセスすることができません。
読み取り権限を与えるとすべての人のパスワードが見れてしまうことになります。
そこで、
関数をつくって、その中で権限をAdministratorにしてそのテーブルにアクセスして、
Idとパスワードが正しいかどうか判断したのち、戻り値(True or False)として
Userに返すという方法を考えていますが関数自体に権限を与えるといったような
簡単な方法はないでしょうか? また、根本的に間違っているのでしょうか?
マニュアルには見当たりませんでした。
どなたかご教授お願いします。
ちなみにデータ-ベースにはlibpgvbというDLLを使ってVBからアクセスしています。
0467nobodyさん
02/08/20 01:27ID:Yv31fq1Hなあ、この女どう思う?
0468httpd
02/08/20 18:26ID:cHWvWGpngrantしないとpermissionエラーになるんですけど(;_;)
いちいちgrantしたくないので助けてくださいm(_ _)m
要するにhogedbにhttpdでアクセスしたいだけなのですが・・・どこが違うの??
//ユーザー作成
createuser -d httpd
//変身!!
su httpd
//DB作成
createdb hogedb -U httpd
//インポート
psql -e hogedb < db.out
0470nobodyさん
02/08/21 11:57ID:2UYHGwouデータの移植は正常だったですか?
おいらんトコは、7.1.xのpg_dumpバックアップファイルが、一部のテーブルだ
けエラーでダメだった。
どーなんてんだ?いったい‥‥‥
0471nobodyさん
02/08/21 13:04ID:IYK8rA+AEUC 外の特殊な文字とか入ってない?
0472470
02/08/21 14:12ID:2UYHGwouないと思うんですけどねぇ‥‥
データの大元は、S-JISのテキストなんですけど、変換かけてEUC
にしてから入力にかけてますんで‥‥‥
0473httpd
02/08/21 16:30ID:ie5NkI8ZVersion覚えてないけどシーケンス発行がトラブった。
つーか、setvalでシーケンスの数字変更する時に。
最後の't'を外したら動いたけど……。
0474httpd
02/08/21 16:33ID:???やっぱり、これではhttpdの所有になっとらんのですね(T_T)なぜだ……。
//ユーザー作成
createuser -d httpd
//変身!!
su httpd
//DB作成
createdb hogedb -U httpd
0475nobodyさん
02/08/22 17:05ID:w2//Sq4yAというテーブルからBというテーブルへ項目をコピーしたいのですが、その際に
日付/時刻型の「2002/08/22 午前 12:12:12」というデータを「yyyymmddhhmmss」という型に
デコードしてコピーしたいのですが、どういった方法が挙げられるでしょうか?
0476nobodyさん
02/08/22 21:19ID:sZeyw1CT何のために?
DB に入れておくんだったら、日付型の方が便利。
時刻をフォーマットしたいだけなら to_char() を使うけど。
0477nobodyさん
02/08/22 23:17ID:WGWM2PPcユーザquotaのしばり受けるの?
Postgreの使えるレンタサーバ使おうと思ってるんだけど、HP容量にDB容量が含まれるのか知りたくて
0478_
02/08/23 14:03ID:???xreaですか?
0480nobodyさん
02/08/23 20:48ID:5qP9jqJhxreaのHPに、「データベースサイズ:目安は5メガバイトまで。」って書いてあるぞ。
HP容量と違うし
0481nobodyさん
02/08/23 21:39ID:5qP9jqJh0483nobodyさん
02/08/24 06:47ID:???無理。
initlocation使ってうまく容量制限かけられたとしても、制限にひっかかると
dbが壊れる。
PostgreSQL自体がデータベースごとの最大容量を指定できるようにならない限
りはどうしょうもないと思う。
0484nobodyさん
02/08/27 15:00ID:???念のため pg_class の中を削除したいユーザIDで検索すると、
pg_toast_XXXXXX_idx
pg_toast_XXXXXX
というデータが見つかります。これって何でしょう?
無視してユーザ消してしまっていいんでしょうか?
0485nobodyさん
02/08/27 15:28ID:???pg_*テーブルはPostgreSQLの内部テーブルなんでユーザーを消しても平気。
TOASTが何かを知りたいなら↓。
http://www.jp.postgresql.org/projects/devel-toast.html
0486484
02/08/27 15:59ID:???でも、とあるテーブルのオーナを削除したらまずいんじゃないの?
と思って試してみたら
%createuser hoge
%psql -U hoge hoge
hoge=#create table t1 (a int);
hoge=# \dt
List of relations
Name | Type | Owner
------+-------+-------
t1 | table | hoge
(1 row)
hoge=#\q
%dropuser hoge
%psql hoge
hoge=# \dt
List of relations
Name | Type | Owner
------+-------+-------
t1 | table |
(1 row)
hoge=#\q
%
あ、なるほど。表示されなくなるだけなのね。納得。
04877.2.2
02/08/27 23:49ID:yZsdlGNN0488nobodyさん
02/08/28 00:15ID:???7.2.2でサポートされてます?7.3からかな?
select timestamp( date(now()) );
通るようになったかな。7.2.1だと↑通らん。
SELECT CAST( now() AS date ), now()::date, 'now'::date::timestamp;
通るからまぁいいんだけど。
0489nobodyさん
02/08/28 06:15ID:???> ALSO NOTE!!! This is a security update. A number of security related
> bugs were fixed. The update is mandatory!!
ということなので、さっさとアップデートした方がいいよ。
>>488
7.2.xは基本的にメンテナンスリリースなんで新機能は入りませんです。
0490nobodyさん
02/08/28 06:40ID:???マイナーバージョンアップは、PGDATA領域そのまんまでも
OK?
0491nobodyさん
02/08/28 08:46ID:???OK
以下を参照ね。
http://www.jp.postgresql.org/sitess.html
0492nobodyさん
02/08/29 11:09ID:V8Nh7P6Z>>476さんありがとうございます。
項目の定義として、システム日付をデフォルトで入れるように
「日付 varchar(14) default to_char('now'::datetime, 'YYYYMMDDHH24MISS')」
という風に設定しているのですが、データを見ると日付の中にはテーブルを作成して
一番最初に取得したYYYYMMDDHH24MISSを何度も入れてしまいます。
名前 | 日付 |
--------------------------
aaa |20020829103253 |
bbbb |20020829103253 |
cccc |20020829103253 |
・
・
といった感じなのですが、このテーブル項目作成の定義は間違っているでしょうか。
0493nobodyさん
02/08/29 11:43ID:???http://www.postgresql.jp/document/pg721doc/user/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT
0495nobodyさん
02/08/29 15:21ID:K7zpT3zeINSERT INTO "whatsnew" VALUES(
'2002-08-29',
'{"<a href="/">XXXX</a>を更新しました", "YYYY"}'
);
と書くと前半部分<a href="/が無視されます。
"のエスケープする方法しらないでしょうか?
0496nobodyさん
02/08/29 15:22ID:???0498nobodyさん
02/08/29 15:42ID:K7zpT3zeそれはやってみたんだけど、
テーブルの中身を確認したら無視されています。
0499nobodyさん
02/08/29 15:43ID:???0500497
02/08/29 15:55ID:???これじゃだめなのね? なんでだろうね。
あと、"と'を混在しているのはなぜ? 全部"でかいてみ。
0501495
02/08/29 16:08ID:???テーブルの中身は「{">XXXX</a>を更新しました","YYYY"}」です。
あと'と"を混合してるのは下のページの影響です。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/arrays.html
■ このスレッドは過去ログ倉庫に格納されています