5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

PostgreSQL Part.8

1 :NAME IS NULL:2011/01/10(月) 15:39:38 ID:???
PostgreSQL (ぽすとぐれすきゅーえる, ぽすとぐれす) について語るスレです。

●関連サイト
PostgreSQL 本家
http://www.postgresql.org/
日本PostgreSQLユーザ会
http://www.postgresql.jp/
ドキュメント
http://www.postgresql.jp/document/current/html/
ダウンロード
http://www.postgresql.jp/PostgreSQL
Let's Postgres (ポータルサイト)
http://lets.postgresql.jp/
pgFoundry
http://pgfoundry.org/

●前スレ
PostgreSQL Part.7
http://hibari.2ch.net/test/read.cgi/db/1256300618/


2 :NAME IS NULL:2011/01/10(月) 15:40:20 ID:???
●過去スレ
PostgreSQL 2テーブル目 (WebProgから派生)
http://pc8.2ch.net/test/read.cgi/db/1056944337/
PostgreSQL & pgsql-jp ML 3テーブル目
http://pc11.2ch.net/test/read.cgi/db/1079771059/
【Windows】 PostgreSQL8 Part.1 【対応】 (実質part4)
http://pc11.2ch.net/test/read.cgi/db/1102247223/
PostgreSQL Part.5
http://pc11.2ch.net/test/read.cgi/db/1196512717/
PostgreSQL Part.6
http://pc11.2ch.net/test/read.cgi/db/1224318817/
PostgreSQL Part.7
http://hibari.2ch.net/test/read.cgi/db/1256300618/

●関連過去スレ
■   PostgreSQLのことならここで聞け   ■ (初心者part1)
http://pc8.2ch.net/test/read.cgi/db/1056960249/
■   PostgreSQLのことならここで聞け   ■ (初心者part2)
http://pc8.2ch.net/test/read.cgi/db/1091523132/
PostgresSQLについて語ろう (雑談part1)
http://pc8.2ch.net/test/read.cgi/db/1056992724/
PostgreSQLについて語ろう where OID=2::oid (雑談part2)
http://pc8.2ch.net/test/read.cgi/db/1136805513/

●関連スレ
2ch検索
http://find.2ch.net/index.php?STR=PostgreSQL
WebProg/PostgreSQL 2テーブル目
http://pc11.2ch.net/test/read.cgi/php/1047317680/

3 :NAME IS NULL:2011/01/10(月) 16:22:56 ID:???
おつ

4 :NAME IS NULL:2011/01/13(木) 00:05:16 ID:???
9.1 get

5 :NAME IS NULL:2011/01/13(木) 19:48:42 ID:???
>>4
まだalphaなのジャマイカ

6 :NAME IS NULL:2011/01/19(水) 20:34:25 ID:Axy8UdDb
6

7 :NAME IS NULL:2011/01/27(木) 00:19:30 ID:???
select count(*) from このスレ;

count
------
7

8 :NAME IS NULL:2011/02/01(火) 16:31:23 ID:???
数えてる最中は>>7のスレは存在しないはずだがw

9 :NAME IS NULL:2011/02/01(火) 16:32:25 ID:???
スレじゃねーレス

10 :NAME IS NULL:2011/02/01(火) 17:58:54 ID:???
環境はpostgresql 9.0.3 64bit、windows 7 64bitです
初めてさわっているのですが
コンソールはどういう設定で使われていますか?

コマンドプロンプトでchcp 65001とすると、
文字化けは消えるものの
SELECT version();でメモリエラー?が出ます

createdb aでDBを作ったあと
psql a
SELECT version();
→not enough memory.というメッセージ

chcpを抜くと文字化けはするもののバージョンが表示されます
PostgreSQL 9.0.3, compiled by Visual C++ build 1500, 64-bit
(1 陦・

a=#

11 :NAME IS NULL:2011/02/04(金) 02:19:31 ID:???
chcpせずに client_encoding=SJIS することが多いんじゃないかな。

12 :NAME IS NULL:2011/02/06(日) 07:19:48 ID:???
>>10
デフォルトでインストールされるPgAdminIIIを使ってもOKだぞ。
GUIなので、たぶんpsqlよりPostgreSQLを学習しやすいと思うよ。

13 :NAME IS NULL:2011/02/06(日) 15:08:40 ID:???
>>11-12
client_encoding=SJISはやっていたんですが
12さんの方法で管理出来ました、ありがとうございました

14 :NAME IS NULL:2011/02/09(水) 01:52:38 ID:???
テキスト書式、文字列表現、バイナリ書式、バイナリ表現
これらの語のきちんとした定義はマニュアルのどこにかいてありますか?
英語でもかまいません。よろしくお願いします。

15 :NAME IS NULL:2011/02/09(水) 09:19:56 ID:???
公式サイトのドキュメントに、BNF形式の定義あったかな。
テキスト形式は、文字コードによって違うので、ソースみたらいいと思う。

16 :NAME IS NULL:2011/02/11(金) 01:18:39 ID:???
これからパフォーマンスチューニングの勉強を始めるにあたって、オススメの本やサイトはありますか?

17 :NAME IS NULL:2011/02/11(金) 06:26:43 ID:???
俺も知りたい。
マンモス本しか頼りにするものを知らない。

18 :NAME IS NULL:2011/02/14(月) 07:37:49 ID:???
slideshareにあがってたかな、、
勉強会での8系の説明や設定値変更した場合の資料があったはず
@ITとかのは、少し前かな

http://www.google.co.jp/search?q=postgresql+8+チューニング&ie=UTF-8&oe=UTF-8&hl=ja

19 :NAME IS NULL:2011/02/26(土) 00:55:04.88 ID:???
Conference 2011 Tokyo 参加者はいないのかな

20 :NAME IS NULL:2011/02/26(土) 19:53:22.09 ID:???
参加したよ。
1つめの基調講演、ありゃなんなんだよ。


21 :NAME IS NULL:2011/02/26(土) 19:59:01.87 ID:???
ためになったかい

22 :NAME IS NULL:2011/02/26(土) 20:47:48.81 ID:???
>>16
公式のLets!のblogが結構良かった

23 :NAME IS NULL:2011/02/26(土) 23:27:16.43 ID:???
>>16
パフォーマンスチューニングは、改善としては10〜30%位しか望めないけど
改悪の場合は底なしなので注意してね。と先日言われました。


24 :NAME IS NULL:2011/02/27(日) 11:07:57.86 ID:???
>>20
事例紹介ではなかったの?

25 :NAME IS NULL:2011/02/28(月) 18:27:28.96 ID:???
事例紹介だったが、ほとんど得るものなし。
プレゼンもヘタクソの極み。


26 :NAME IS NULL:2011/02/28(月) 18:30:39.88 ID:???
>>18
まだ読んでないけどこれかや?
http://www.slideshare.net/kwappa/20090107-postgre-sqlsql-presentation

>>22
読んでみるさんくす
http://lets.postgresql.jp/


27 :NAME IS NULL:2011/03/02(水) 00:01:13.76 ID:IkzMfoJ6
PostgreSQL (ぽすとぐれすきゅーえる)って(ぐれ)がなくて
PostSQL (ぽすとえすきゅーえる)だったらもっと普及したかもしれないって思った

ぐれ っていらないだろって

28 :NAME IS NULL:2011/03/02(水) 00:55:01.72 ID:???
「ぐれ」だけ気になったのは何故?
元々Postgresだったのでgreを抜くとPostsになっちゃうな
それにPostgreSQLと書いて「ポストグレス」と読む人も結構いるような…
まぁ、ポスグレっていう短縮の方が多いかな

29 :NAME IS NULL:2011/03/02(水) 01:18:55.50 ID:???
pgpoolのことってここでいいのかな?

30 :NAME IS NULL:2011/03/02(水) 09:28:21.41 ID:???
PoSQL(ぽすきゅーえる)で良いだろ

31 :NAME IS NULL:2011/03/02(水) 10:46:42.54 ID:???
名前の経緯は、
ingres →postgres →postgresql
postgresは、ingresの次の意味
その後、問合せ言語の標準化があり、対応版にsqlが付く

MySQLに合わせて、PgSQLとかならいいけど、
OSS-DBはちょっと無い

32 :NAME IS NULL:2011/03/02(水) 11:09:15.68 ID:???
>29
レプリケーションやクラスタリングの専用のスレはないので、ここでok
使ってる人はいればいいのだけど

Let's Postgressのpgpool記事
http://lets.postgresql.jp/documents/technical/pgpool/

pg9.0で、全体のレプリケーション機能入ったからpgpool組み合わせて参照だけ分散もできるみたいだね。
この記事は、既存のレプリケーションとの比較も載ってる
http://lets.postgresql.jp/documents/technical/9.0/

33 :NAME IS NULL:2011/03/02(水) 15:31:07.17 ID:???
(´・ω・`)

34 :NAME IS NULL:2011/03/02(水) 22:36:22.06 ID:???
>>32
もし知ってたら教えてほしいんだけど
pgpoolで、デッドロックの対処とかsqlのキャンセルとかしたいときって
どういうやり方が一般的なのかな。

35 :NAME IS NULL:2011/03/03(木) 00:01:55.34 ID:???
オンラインリカバリの説明見てて気になったんだけど
マスタとスレーブでアーカイブモードをONにする理由ってあるの?
マスタだけアーカイブONにしてスレーブにWAL持っていけばいいのでは?

36 :NAME IS NULL:2011/03/03(木) 00:20:48.19 ID:???
そもそも可能なの?

37 :NAME IS NULL:2011/03/03(木) 14:01:42.79 ID:9rBiI8AH
where句にヒットしたデータのみダンプする方法ってありますか?

38 :NAME IS NULL:2011/03/03(木) 19:29:53.32 ID:???
>>37
一旦テーブルに保存してpg_dump

39 :NAME IS NULL:2011/03/04(金) 02:05:29.10 ID:???
>>37
COPY (SELECT ... WHERE ...) TO 'file'.

40 :NAME IS NULL:2011/03/06(日) 13:08:14.44 ID:???
直接PostgreSQLには関係ないのですが、全文検索用のテーブルは他のテーブルとは別DBなりに分けたほうがいいものなんでしょうか?


41 :NAME IS NULL:2011/03/06(日) 13:32:06.10 ID:???
なんていうか、ググレカスっていいたくなる質問が多いな。
全く考えてない。

42 :NAME IS NULL:2011/03/06(日) 16:30:37.95 ID:o1vJgI9f
ポスグレカス

43 :NAME IS NULL:2011/03/06(日) 16:50:55.61 ID:???
googleSQLってデータベースを検索しろ、ってことか

44 :NAME IS NULL:2011/03/06(日) 16:58:03.62 ID:???
でしょうね

45 :NAME IS NULL:2011/03/06(日) 17:21:06.92 ID:???
>>40
postgresqlみたいにインデックスとして全文検索データ持ってる設計思想の場合を除いて、
一般的な全文検索エンジンは、別管理の場合が多い。

と、思ってるだけなので、違ってたらご指摘ください。

46 :NAME IS NULL:2011/03/06(日) 20:00:51.82 ID:???
要件による。タダで答える気はない。
並の知能があればどうしたほうが良いかは思いつく。

47 :NAME IS NULL:2011/03/06(日) 20:13:49.39 ID:???
全文検索ってXMLDBのほうが向いてんじゃないの

48 :NAME IS NULL:2011/03/06(日) 20:31:57.19 ID:???
ぷ、全文検索する為にxml形式サポートしたようなもんじゃん

49 :NAME IS NULL:2011/03/06(日) 20:44:13.78 ID:???
>>46
お前には答えてない

50 :NAME IS NULL:2011/03/06(日) 20:46:04.36 ID:???
とにかく簡単にやりたいなら分けなくてもいいよ
パフォーマンス気にするなら別DBっていうよりも別ドライブに分ける
http://thinkit.co.jp/free/tech/10/4/1.html
このあたり読んでみるとイメージ掴めるかも

51 :NAME IS NULL:2011/03/06(日) 20:50:24.48 ID:???
>>47
monetdb含めてxmldbは、XqueryのようなDOM構造の枝を検索するため出来ているので、
単純な全文検索に特化している訳ではない。

52 :NAME IS NULL:2011/03/06(日) 21:04:52.37 ID:???
>>51
そんなこと言うならDB使う前に単純なファイルを正規表現で検索すればいい話

53 :NAME IS NULL:2011/03/06(日) 21:17:27.51 ID:???
>>52
そうですね、
全文検索の性能向上の仕組みは、インデックス付けにあるので、
毎回舐める程度のパフォーマンスでいい場合、
ドキュメントをテキストファイルで管理してるなら、それでいいし、
RDB管理なら、SQL文にGREP書けばいい。

54 :NAME IS NULL:2011/03/10(木) 19:22:29.13 ID:???
Windows版って、ちゃん動くのぉー
バグは減ったかな??

55 :NAME IS NULL:2011/03/10(木) 19:40:22.31 ID:???
おすすめのレンタルサーバーってどこ?
MySQLオンリーのとこが多いねぇ(´・ω・`)ショボーン

56 :NAME IS NULL:2011/03/10(木) 20:08:43.04 ID:???
どうしても専鯖とかVPSになっちゃうよね
あれこれしようと思うと共有サーバじゃどうしようもないことあるし

57 :NAME IS NULL:2011/03/10(木) 23:10:15.97 ID:???
where句を使っていながら
すべてのレコードを抽出する書き方教えて

58 :NAME IS NULL:2011/03/10(木) 23:15:21.17 ID:???
where 0 = 0

59 :NAME IS NULL:2011/03/10(木) 23:42:08.25 ID:???
where true

60 :NAME IS NULL:2011/03/10(木) 23:43:18.05 ID:???
まさかのインジェクション?

61 :NAME IS NULL:2011/03/10(木) 23:58:17.14 ID:???
mysqlとpgsql共通化するなら、
trueのみのパターンだとmysqlが駄目だった気がする
昔試したのでmysql4.0の頃かもしれないが

62 :NAME IS NULL:2011/03/11(金) 04:47:44.90 ID:???
query = "where 1=1 ";
if (foo) query += " and col1 = 〜 ";
if (bar) query += " and col2 = 〜 ";

というときに、常に真となる条件がよく使われるかも。

63 :NAME IS NULL:2011/03/11(金) 07:42:42.70 ID:???
>>62
これってCかなんかの記法ですか?


64 :NAME IS NULL:2011/03/11(金) 11:46:11.53 ID:???
プログラム内で検索条件組み立てるときの例

65 :NAME IS NULL:2011/03/11(金) 13:47:25.32 ID:???
何でレンタルサーバーでPostgreSQL使えるところが少ないの?
せめてサクラで使えるようにして欲しい

66 :NAME IS NULL:2011/03/11(金) 13:51:37.11 ID:???
>>65
まあ、時代はこちらだから。そのうち良くなるよ。

67 :NAME IS NULL:2011/03/11(金) 14:04:57.02 ID:???
>>63
ただの擬似コードだよ

68 :NAME IS NULL:2011/03/11(金) 22:54:08.47 ID:???
JavaScript なら通るな。

69 :NAME IS NULL:2011/03/11(金) 23:01:16.40 ID:???
C#でも通ると思う。けど、まぁ、擬似コードなんでどれでも

70 :NAME IS NULL:2011/03/18(金) 10:09:40.42 ID:???
http://textsearch-ja.projects.postgresql.org/textsearch_ja.html

textsearch_jaをインストールしたいんだけど
インストール用のSQLファイルを実行したら
ERROR: ライブラリ"C:/Program Files (x86)/PostgreSQL/9.0/lib/textsearch_ja.dll"をロードできませんでした: The specified module could not be found.
って出てインストールできない。
DLLファイルはちゃんと上記パスのとおりに配置されている。

mecabはインストールして、
C:\windowsフォルダにlibmecab.dllをコピーした。
コマンドプロンプトでlibmecab.dllって打ったら
「指定されたプログラムは実行できません」
って出るのでパスは通ってる...

ダメ元で上記二つのDLLアクセス許可を
Everyone:フルコントロール にしたけど、変化なし。

何が間違ってるか
わかる方いらっしゃいませんか。

以下、環境
Win2008R2 sp1
PostgreSQL 9.0.3
mecab 0.98
textserch_ja 9.0.0

どうかお願いします。

71 :NAME IS NULL:2011/03/18(金) 18:47:59.65 ID:???
serial型を主キーにしたテーブルにレコードをinsertし、
そのレコードの主キーを得たいです。

max関数では、insert直後に他者がinsertした場合、不正な
値になってしまいますよね。

どうしたらよいでしょうか?


72 :NAME IS NULL:2011/03/18(金) 19:08:26.88 ID:???
RETURNING句を使う

73 :NAME IS NULL:2011/03/18(金) 20:07:25.92 ID:???
もしくはcurrval関数を使う

74 :NAME IS NULL:2011/03/19(土) 03:15:11.33 ID:???
>>73
解決になってない。
排他制御しろと思うかもしれないが、それならもともと大丈夫

75 :73:2011/03/19(土) 04:12:56.80 ID:61olq/JC
>>74
同じ接続プールを他人と共有しているなら話は別だが、
そうでない場合は、currval関数の戻り値はセッションごとに独立だよ。
http://www.postgresql.jp/document/current/html/functions-sequence.html
を参照。
試してみるとよくわかる。

当然だが、接続を他人と共有しているなら、同じ接続の中では排他制御できない。


76 :NAME IS NULL:2011/03/19(土) 08:51:37.21 ID:???
>>72,73,74,75
素早い回答ありがとうございました。

RETURNING句、currval関数とも、正しい解決策であること
をPostgreSQLの日本語マニュアルで理解しました。

今回の場合RETURNING句で実装することにしますが、
currval関数を知ったことは大きな収穫です。

ありがとうございました。

77 :NAME IS NULL:2011/03/19(土) 10:17:13.49 ID:???
>>70
今時、UAC悪さしてるとか?
64bitが悪さしてるとか?
なんだろう

78 :70:2011/03/22(火) 14:05:16.04 ID:???
>77

お返事ありがとうございます。

WinServerでAdministratorでログインしてるので、
UACはスルーして常に管理者権限で動作しています。

64bitについては、postgreSQLもMecabも32bit版をインストールしてるので、
関係ないと思ってるのですが...

よくわかりませんね...

79 :NAME IS NULL:2011/03/23(水) 01:57:10.97 ID:dwOuswKE
全文検索エンジン今Ludia使ってますが
textsearch_sennaに乗り換えたほうがいいですかね?

PG8.3以上を使える以外にメリットありますか?

80 :NAME IS NULL:2011/03/23(水) 02:40:34.64 ID:???
AdministratorだからといってUACが完全に回避されるわけじゃないんだけど。
UAC切ってるってことなら話は別ね。
みんな当たり前のようにAdministratorでWindowsを使うようになってるから、Administratorにも制限を設けた。それがUACの本質。

81 :NAME IS NULL:2011/03/23(水) 08:22:34.86 ID:???
>>70
"The specified module could not be found." だと実行権限まわりの
問題のことが多いんだけど、すでにやってるみたいだしなぁ。
Everyoneの代わりにpostgresユーザを名指ししてもダメ?

82 :NAME IS NULL:2011/03/23(水) 23:36:41.60 ID:???
chroot的なことされてるってことはないのかな

83 :70:2011/03/24(木) 10:15:18.56 ID:???
>80,81,82
ありがとうございます。

UACをOFFにしたり、
postgresとEveryone両方にフルコントロール権限あげたり、
〜/PostgreSQL/bin フォルダにパスを通してみたり、
PostgreSQLとMeCabを再インストール/インストールパスの変更 してみたり、

してみましたが、依然解決してません...

あきらめて textsearch_senna に変えてみましたが、
同様のエラーでインストールできませんでした。

libmecab.dll / libsenna.dll へのアクセスが失敗してるんだろうなぁという
予想はできるので、たぶん同様の原因で失敗してると思うのですが、

アクセス権限周りってほかに設定変更すべきところありますでしょうか。

84 :NAME IS NULL:2011/03/24(木) 10:53:24.39 ID:???
32bitOSで64bitDLLを使おうとしてるとか

85 :NAME IS NULL:2011/03/26(土) 17:04:11.05 ID:IkoGAxpk
PG8.2をサーバエンコードをutf8でインストールしたんですが
psqlはsjisなので
psql起動のたびにクライアントエンコードをsjisに変更するのがめんどくさいです。
何か解決策があったら教えてください

86 :NAME IS NULL:2011/03/27(日) 00:15:58.15 ID:???
$HOME/.psqlrc に SET CLIENT_ENCODING='SJIS'; ってのはどう?

87 :NAME IS NULL:2011/03/27(日) 00:34:30.49 ID:tM5GbfFL
ありがとうございます。自己解決しました。
環境変数
PGCLIENTENCODING

SJIS
と設定することで解決しました。

88 :NAME IS NULL:2011/03/27(日) 15:00:04.74 ID:IYaxdkvE
テーブルtesttblをphpPgAdminで以下のように作りました
id (serial) プライマリキー
date (date) NOT NULL
name (text) NOT NULL

SQLはINSERT INTO testtbl VALUES(NULL, NOW(), '{DATA}')を実行すると
ERROR: 列"id"内のNULL値はNOT NULL制約違反ですってエラーが出ます
mysqlのオートインクリメントみたいに挿入すると連番にするにはSQLをどのように修正したらよいのでしょうか?


89 :NAME IS NULL:2011/03/27(日) 15:07:53.64 ID:IYaxdkvE
自己解決しました
INSERT INTO testtbl(date, name) VALUES(NOW(), '{DATA}')と書いたら動きました

90 :NAME IS NULL:2011/03/28(月) 01:52:02.82 ID:bqybqGt+
LudiaのパフォーマンスチューニングのTipsあったら教えてください

91 :70:2011/03/28(月) 10:14:38.20 ID:???
OSの再インストールを含むいろいろやってみましたが、
どうにもならなかったので結局MySQL+Sennaでとりあえず作業するようにしました。

Postgres9.1がNGram対応らしいので
正式リリースしたときに戻ってきます。

いろいろありがとうございました。

92 :NAME IS NULL:2011/03/29(火) 00:19:31.86 ID:f/9wZGST
おれはtextsearch_sennaで同様の症状が出た。
PCによってうまくいったり行かなかったりで安定しない
パスは合ってるはずだし何が悪いのかわからない

93 :NAME IS NULL:2011/03/29(火) 10:47:20.31 ID:yhdycnL0
何でPostgreSQLiってないのですか?
MySQLiはあるのに

94 :NAME IS NULL:2011/03/29(火) 11:07:51.98 ID:???
必要と思う人がいないからだろ

95 :NAME IS NULL:2011/03/30(水) 00:04:31.62 ID:???
必要と思う人が作ればみんな幸せ

96 :NAME IS NULL:2011/03/30(水) 01:45:21.99 ID:???
>>70, 92
MSVC C++ 2010 ランタイムがインストールされていないのでは。

97 :NAME IS NULL:2011/03/30(水) 02:43:54.72 ID:Ljvz7rtW
>>96

サソクス
そんな前提条件があったのか。。
それ入れてみてやってみます。

それとは関係ないけど
RDBで数百万以上の文書に対する検索をするのは
ムリかなと思うこのごろ。
Solrやnosqlでの実装を考えようと思っています。

98 :NAME IS NULL:2011/03/30(水) 11:33:40.87 ID:yqbcjZjz
日付、id、名前、コメント、IP
この5つの項目をデータベースに入れたいのですが
どのようにテーブルを設計したらよいでしょうか?
全部1つのデータベースに入れないほうがいいですかね?

99 :NAME IS NULL:2011/03/30(水) 11:52:15.56 ID:???
ほっほっほ

100 :NAME IS NULL:2011/03/30(水) 12:21:13.48 ID:???
>>98
http://hibari.2ch.net/test/read.cgi/db/1269585561/
で聞く方がいいと思う。
掲示板でも作るのかな?
とりあえずその項目の中で、複数行に同じ意味のものが出てくる場合があるなら、
その項目を別テーブルにする。

名前が同じでも、同一人物か分からないとかならそのままでも悪くないと思う。

101 :NAME IS NULL:2011/03/30(水) 13:29:21.85 ID:???
>>98
全部バラバラにする。共通の組識別子を付加して、

日付
--------------
組識別子 | 日付

id
------------
組識別子 | id

名前
--------------
組識別子 | 名前

コメント
-------------
組識別子 | コメント

IP
-------------
組識別子 | IP


102 :NAME IS NULL:2011/03/31(木) 09:42:55.86 ID:o4kjoUAR
再起動後のposgtreSQLの起動をいつも
Postgresのアカウントになってから
手動でスタートしているのですが
これを自動起動させる方法はあるのでしょうか。
OSはubuntu10.10 、postgresqlはソースからコンパイルしたものです。

103 :NAME IS NULL:2011/03/31(木) 12:32:52.49 ID:???
>>102
標準のpostgresのパッケージから、起動スクリプトを取り出して、
pathの記述をちょっと変更した後、設定すればいいはずだけど、
詳しくはUbuntuのスレで起動スクリプトの追加方法を聞いたほうがいいかもしれない。

104 :NAME IS NULL:2011/03/31(木) 12:43:35.26 ID:???
>>103
いやいや、パッケージのスクリプトをソースから入れたものに適用するのはかなり大変よ。

>>102
今時のソフトは大抵起動スクリプトの例とか同梱されているから、それを参考にすると良い。
PostgreSQL なら
contrib/start-scripts/linux
をどうぞ。

105 :NAME IS NULL:2011/03/31(木) 12:56:41.61 ID:???
>>104
そうなんだ。同梱されているのは知らなかった。
ちなみにFedoraの場合は、パッケージのものが簡単に流用できたよ。

debian系はよく知らないんだけど、update-rc.dコマンドで起動スクリプトを登録するのかな?
起動順の数字は、何番目くらいを指定するんだろう。

106 :NAME IS NULL:2011/03/31(木) 23:09:53.26 ID:wkIoyyn8
下記のように,サブクエリの結果を参照すると、testにNULLが返ってしまいます。
testにkosuu_sumの値が入っていて欲しいのですが、どうすればいいでしょうか

SELECT
(SELECT SUM(kosuu) FROM shouhin sh where sh.id = 123 ) AS kosuu_sum,
kosuu_sum AS test

107 :NAME IS NULL:2011/03/31(木) 23:16:52.19 ID:???
このスレに腐ったSQL貼らないでよろし

SQL質疑応答スレ 11問目
http://hibari.2ch.net/test/read.cgi/db/1299305530/


108 :NAME IS NULL:2011/04/01(金) 21:28:40.81 ID:Wpf/mh7O
Windows版 PostgreSQL9.0 と
FreeBSD版 PostgreSQL9.0 を
レプリケーションさせたいのですが
参考になるサイトなどあれば教えてください。

109 :NAME IS NULL:2011/04/02(土) 01:30:03.16 ID:???
>>108
異種混合はSlonyじゃないと無理じゃないか?

110 :NAME IS NULL:2011/04/02(土) 11:31:44.82 ID:ULc2Q9iC
>>109
pgpoolだと無理ってことですね

111 :NAME IS NULL:2011/04/02(土) 19:08:46.41 ID:???
>>110
いや、pgpoolでもいけるかもしれない。pgpoolもSlonyもSQLを送るタイプだから。
物理イメージを送る、9.0組み込みのレプリケーションは無理。

112 :NAME IS NULL:2011/04/05(火) 19:55:34.97 ID:g4jC/4Ok
>>111
サンクス!
pgpoolで逝けたわ!

113 :NAME IS NULL:2011/04/06(水) 05:54:41.60 ID:???
Ver9.1 で、SQLのMERGEがサポートされるとLetsに書いてあった
のだが、今は書いてない。

なくなっちゃったのかなぁ・・・

114 :NAME IS NULL:2011/04/06(水) 10:16:35.38 ID:rFyVB0oq
Mysqlスレって厨が多くて荒れすぎてるのに
このスレは大人が多くていいね
しばらくpg使うか

115 :NAME IS NULL:2011/04/07(木) 01:01:22.74 ID:FUS61YfR
ポスグレとオラクルとかHiRDBで性能差はどのくらいあるんですかね

ぶっちゃけあまり変わらない?

116 :NAME IS NULL:2011/04/07(木) 07:08:13.34 ID:???
>>113
MERGEは9.1には採用されず。その前提機能は採用されたので、次に期待ですな。

117 :NAME IS NULL:2011/04/07(木) 21:22:51.07 ID:???
GPLが怖いという理由でMySQLを避けた

118 :NAME IS NULL:2011/04/08(金) 01:34:47.00 ID:???
>>117
それに加えて、Oracleの物になっちゃったしねい。

119 :NAME IS NULL:2011/04/10(日) 13:28:29.94 ID:cBez4FYu
postgresql 8.4 (linuxにて動作)で
PCからlibpq.dllを使って接続しています
有線でLANが引けない場所があり仕方なく無線LANで飛ばして処理
しているのですが、時々DBから切断されていてエラーになります
おそらく無線の状態が悪い時がありセッションが切れているのだと思いますが
セッションのタイムアウトをこの無線LANの端末だけ
2分や5分に変更できないものでしょうか?

120 :NAME IS NULL:2011/04/10(日) 14:44:59.65 ID:???
>>119
PostgreSQLの設定ではなくて、無線LANやOSの設定が必要だと思うよ。
スレ違い。

121 :NAME IS NULL:2011/04/10(日) 20:45:14.21 ID:cBez4FYu
>>120
今の無線LANは切れないように出来ないのでここで書いています
無線LAN側の設定やOSの設定はもう済んでいます
dBのログも取ったのですが、常時100%の状態で接続できているわけではなく
20秒ほど切れることがあるようでメーカー側の認識も同様です

で、例えば、有線でもLANケーブルを5秒ほど抜いてもセッションは切れません
PostgreSQL側でこの時間はどこかに設定があるのでは?
と思い書いたのですが・・・
まあいいです、ソース解析してがんばります、ありがとう御座いました


122 :NAME IS NULL:2011/04/10(日) 20:57:07.80 ID:???
>>121
> まあいいです、ソース解析してがんばります、ありがとう御座いました
無理だと思うよ。

123 :NAME IS NULL:2011/04/10(日) 21:14:53.85 ID:???
無理だろ
ネットワーク接続が新しくなってんだろ

124 :NAME IS NULL:2011/04/10(日) 21:32:18.57 ID:???
物理層のセッションが変わってるなら無理だろうね
それよりリトライする方が確実だろう

125 :NAME IS NULL:2011/04/10(日) 23:53:51.62 ID:???
無線LAN側の設定やOSの設定はもう済んでいます
無線LAN側の設定やOSの設定はもう済んでいます

大事なことなので二度書きました

126 :NAME IS NULL:2011/04/11(月) 00:43:41.85 ID:???
二度書いたところで君じゃ無理だよ

127 :NAME IS NULL:2011/04/11(月) 00:46:55.18 ID:kJ1QTiO2
Corei7、メモリ8GB程度で
ポスグレで何百万レコードくらいまで扱えますか?

128 :NAME IS NULL:2011/04/11(月) 00:52:11.99 ID:???
そうだな。車種を提示されて、どこまで行けますかと問われてるような、そんな気分だな。

129 :NAME IS NULL:2011/04/11(月) 14:10:22.31 ID:???
どこまでもいけるよな。

130 :NAME IS NULL:2011/04/11(月) 14:12:37.48 ID:???
心の翼を広げれば。

131 :NAME IS NULL:2011/04/11(月) 14:17:33.21 ID:???
トリガってむずいな

132 :NAME IS NULL:2011/04/11(月) 15:17:22.97 ID:???
セッション切れるって人、試しにVPNでつないでみても同じかな?

133 :NAME IS NULL:2011/04/11(月) 17:07:36.94 ID:???
その根拠は?

134 :NAME IS NULL:2011/04/11(月) 23:54:01.21 ID:???
VPNがセッションキープしてくれることを期待してるんじゃないの?

135 :NAME IS NULL:2011/04/12(火) 23:43:00.71 ID:???
Postgres の設定なら tcp_keepalives_idle とかは効果無いかな?

136 :NAME IS NULL:2011/04/13(水) 22:57:25.37 ID:S0k43l6n
どなたか縦持ちのテーブルから
横持ちのテーブル作るストアド例
教えてください。

137 :NAME IS NULL:2011/04/13(水) 23:05:41.21 ID:???
crosstab

138 :NAME IS NULL:2011/04/14(木) 07:54:05.12 ID:???
>>136
鍵に対して横持ちを作る際、昇順、降順などルールが必要なのではないかな。
それも設計する必要があるのかな?

139 :NAME IS NULL:2011/04/14(木) 14:26:01.34 ID:???
>>138
質問されていることがよくわからないのですが...

結果としては

こういう縦持ちテーブルから...
id name
-------
1 a
2 b
3 c

こういう横持ちテーブルにするストアドがほしい...
a b c
-----

140 :NAME IS NULL:2011/04/14(木) 21:09:50.59 ID:???
そう言うのを縦持ち、横持ちって言うんだ
一般的なの?

で、横餅テーブルはその都度実表作ってデータを転記?

141 :NAME IS NULL:2011/04/14(木) 22:01:33.10 ID:???
>>140
一般的かどうかは知りませんが...

一時テーブルで。

142 :NAME IS NULL:2011/04/14(木) 22:21:26.62 ID:???
縦持ち横持ちは業界内では一般的だろ。
で、crosstab

143 :136:2011/04/14(木) 22:28:00.04 ID:???
>>142
crosstabやってんだけどうまくいかん。

144 :NAME IS NULL:2011/04/15(金) 00:48:25.06 ID:???
一般的なんですね。聞いたことが無かったもので… orz

で、ttp://www.postgresql.jp/document/current/html/tablefunc.html にある方法とか?

145 :NAME IS NULL:2011/04/15(金) 02:33:26.98 ID:???
縦持ちから配列にするまでは簡単だけど、そこから横持ちにするのは手間がかかる。

146 :NAME IS NULL:2011/04/15(金) 03:13:01.99 ID:???
>>144
だからcrosstabだと。
詳細な情報が出てこない以上、そこから進まないんだ。

147 :NAME IS NULL:2011/04/15(金) 05:30:52.03 ID:???
>>139
ここではPKがidでしかもソートされていてという例だが

一般には4月,5月, ... (次年度の)1月,2月,3月などの場合が
多い。順に並んでいる保証はもちろんない。
12ヶ月分データが揃っていなければ作れない。

等々、いろいろあるものだ。

148 :136:2011/04/15(金) 08:09:10.47 ID:???
やっとでけた

SELECT * FROM crosstab
(
'select id, sec, colval from section'
)
AS
(
id integer,
p1 char(6),
p2 char(6),
p3 char(6),
p4 char(6),
p5 char(6)
);

で、これsec, colvalが可変の場合のストアド教えてください

149 :NAME IS NULL:2011/04/15(金) 08:24:30.88 ID:???
SQL実行前に、結果のテーブルの型が決まってないといけないから無理じゃないかな。
いっそのこと hstore で 列名→値 のハッシュとして持ってみては?

150 :NAME IS NULL:2011/04/15(金) 11:34:51.65 ID:???
p1 char(6),のとこが増えるのか。
そのSQLの文字列を作るのなら出来そうだけど。
ストアドの引数に数を渡してループさせてくっつける。
colvalが可変って textじゃダメなん?

151 :136:2011/04/15(金) 18:13:32.39 ID:???
>>150
> colvalが可変って textじゃダメなん?
間違いです。textでOKです。

152 :NAME IS NULL:2011/04/16(土) 09:16:12.11 ID:V3FnIgss
select id, sec, colval from section
のレコード数を変数cntに格納して
FORで回しながら
p + cnt + char(6),みたいなイメージでやればいいのだろうか?

153 :NAME IS NULL:2011/04/16(土) 23:37:00.65 ID:???
Postgres+Apache+PHPで全文検索の質問はここでいいのですか

154 :NAME IS NULL:2011/04/17(日) 20:04:38.91 ID:???
PostgreSQLの起動を
パソコンの立上げの度にユーザーpostgresになって起動しているのですが
自動起動になるようにrc.localあたりに書き加える方法はないのでしょうか。

155 :NAME IS NULL:2011/04/17(日) 20:19:54.58 ID:???
>>154
runuser -l postgres -c "起動のコマンド"

156 :NAME IS NULL:2011/04/18(月) 13:33:47.60 ID:???
SQLで
複数のサブクエリで参照される
一段グローバルなサブクエリを宣言できませんか?

157 :NAME IS NULL:2011/04/18(月) 14:33:45.01 ID:???
>>156
その結果を一時テーブルに入れる

158 :NAME IS NULL:2011/04/18(月) 14:36:35.60 ID:???
>>156
バージョン8.4から、共通表式 WITH 句というのが使える
http://lets.postgresql.jp/documents/technical/with_recursive

バージョン8.3以前なら、一時テーブルを作成する

159 :NAME IS NULL:2011/04/18(月) 19:43:23.03 ID:???
>>157-158
パフォーマンスが3倍弱に向上しました
あり^^

160 :NAME IS NULL:2011/04/19(火) 00:27:37.32 ID:???
postgresお勧めの書籍についてですが
postgresをインストールした時、デフォルトpostgresDBが作成されてますが、
postgresDBがなんぞや、とか、アーキテクチャや概念の説明がされているような
良書は何かありますでしょうか?公式のマニュアル以外でお願いします。

161 :NAME IS NULL:2011/04/19(火) 00:45:18.10 ID:???
>>160 講演資料じゃだめ?
PostgreSQLアーキテクチャ入門@PostgreSQLカンファレンス2011
http://www.uptime.jp/ja/resources/techdocs/2011/02/postgresql/

162 :160:2011/04/19(火) 01:05:29.08 ID:???
>>161
入門としては分かりやすくて良いと思いますが、
もっと詳細でボリュームがあるのが良いです。
あいまいな例になってしまいますが、O'Reillyが出版しているような
分厚くてコアな部分を説明しているような書籍でしょうか?

163 :NAME IS NULL:2011/04/19(火) 06:01:34.58 ID:???
>>158
共通表式 WITH 句というのを初めて知る事ができました。
ありがとうございます。

ところでこのWITH句は、create temp table と比較して速度は速いので
しょうか?


164 :NAME IS NULL:2011/04/19(火) 08:36:32.01 ID:???
>>163
プレーンなTEMP TABLEと比べれば、概ねWITHのほうが速い。
内部形式をテーブルの形に整形せずに済むからね。
ただ、さらにTEMP INDEXまで張るようなケースだとインデックスぶんの差が出るかも。
インデックスを張る時間も含めて比べてみてくれ。

165 :NAME IS NULL:2011/04/19(火) 09:13:17.07 ID:???
>>163
WITH句をロクでもない機能追加と思っている
データベース使いもまた多いから注意。

166 :NAME IS NULL:2011/04/19(火) 09:48:28.85 ID:???
:(;゙゚'ω゚'):マジで!?

167 :NAME IS NULL:2011/04/19(火) 10:37:37.11 ID:???
>>166
私も含めてだけど、Codd原理主義者は多いから。

168 :NAME IS NULL:2011/04/19(火) 11:19:15.72 ID:???
Codd教による宗教戦争か

169 :NAME IS NULL:2011/04/19(火) 17:16:55.31 ID:???
そんな話は、よそでやってね。


170 :NAME IS NULL:2011/04/19(火) 19:50:20.88 ID:???
pg_dumpで他ホストのDBをダンプしたときに、自ホストじゃなくてそのホストにファイル保存するような事ってできないかな?

171 :NAME IS NULL:2011/04/19(火) 20:13:42.95 ID:???
>>170
そのホスト上でコマンドを実行してはいけないの?

172 :NAME IS NULL:2011/04/19(火) 20:20:13.30 ID:???
>>170
pg_dump単体にそんな機能はないが、運用でどうにでもなる。
あとはスレ違いですな。

173 :NAME IS NULL:2011/04/20(水) 01:12:06.30 ID:???
うまく回答した体で

174 :NAME IS NULL:2011/04/20(水) 01:52:27.09 ID:???
>>170
リモート経由して他ホスト上でダンプする
ダンプしたファイルの保存先にネットワーク経由での他ホストを指定する
あとはスレ違いですな。

175 :PostgreSQL入門以前者:2011/04/20(水) 11:59:25.05 ID:tSpG0ynk
PowerMacG5Quad(PPC) OSX10.5.8 にPostgreSQLをインストールしたいが、
The 9.x installers are supported on Mac OS X 10.5 and above (Intel 32 and 64 bit).
となっていれば、やはり Version 9.0.4-1 は無理で、Version 8.4.8-1 しかだめなのですか?。


176 :NAME IS NULL:2011/04/20(水) 15:06:28.84 ID:???
gcc入れてコンパイルしちゃえばどうよ

177 :PostgreSQL入門以前者:2011/04/22(金) 09:11:04.13 ID:tgKyx0+u
>>176
やはり、それしかないですか・・。
ありがとうございました。


178 :NAME IS NULL:2011/04/27(水) 19:36:28.59 ID:JcDOOqZw
すみません
/usr/local/postgresql-9.0.3/bin/pg_ctl stop -m f /opt/postgresql-9.0.3
しようしたら、pg_ctl: unrecognized shutdown mode "/opt/postgresql-9.0.3"
と出てシャットダウンできないのですが、何方か解決方法を教えて頂けませんか?
/usr/local/postgresql-9.0.3/bin/pg_ctl stop -D /opt/postgresql-9.0.3/
/usr/local/postgresql-9.0.3/bin/pg_ctl start -D /opt/postgresql-9.0.3
は通ります。
http://d.hatena.ne.jp/sin-j/searchdiary?word=*[PostgreSQL]
を参考にインストールしました。


179 :NAME IS NULL:2011/04/27(水) 20:08:33.16 ID:???
>>178
/usr/local/postgresql-9.0.3/bin/pg_ctl stop -m f /opt/postgresql-9.0.3
をしようとしているつもりが
/usr/local/postgresql-9.0.3/bin/pg_ctl stop -m /opt/postgresql-9.0.3
になってるとかじゃないの?

180 :NAME IS NULL:2011/04/27(水) 20:11:23.67 ID:JcDOOqZw

/usr/local/postgresql-9.0.3/bin/pg_ctl stop -m f /opt/postgresql-9.0.3
で駄目です。
ちなみに、
/usr/local/postgresql-9.0.3/bin/pg_ctl kill -QUIT 3955 /opt/postgresql-9.0.3
も受け付けません。
とりあえずサーバーをrebootしてデータベース止めましたが、根本的な解決が出来てない状態です。

181 :NAME IS NULL:2011/04/27(水) 20:35:02.13 ID:???
/usr/local/postgresql-9.0.3/bin/pg_ctl stop -m f -D /opt/postgresql-9.0.3
こうじゃなくて?

182 :NAME IS NULL:2011/04/27(水) 20:35:48.48 ID:???
あと、killはこう。マニュアルからの引用だけど。
pg_ctl kill [signal_name] [process_id]

183 :NAME IS NULL:2011/04/27(水) 21:14:20.67 ID:JcDOOqZw
すみません。 -D オプション付け忘れてました。
ご迷惑をお掛けしました。

184 :NAME IS NULL:2011/05/02(月) 13:10:18.43 ID:nb/Rz/pD
MySQLでいう所のmysqladmin statusみたいな出力をしてくれるアプリって何ですかね?
MySQLだとmysqladmin versionとかでも↓みたいな出力を吐いてくれるんで
RDToolでグラフ化して利用してたんですけど、PostgreSQLだとどうにも勝手が分からなくて…………
Uptime: 1473624 Threads: 1 Questions: 39487
Slow queries: 0 Opens: 541 Flush tables: 1
Open tables: 19 Queries per second avg: 0.0268

なんかドキュメント見てもps使えとか、一々ビューから引っぱってこいとか、postgresサーバの
状態が知りたいだけなのにトンチンカンな事しか書いてないんで心配になっちゃって……

185 :NAME IS NULL:2011/05/02(月) 13:51:19.47 ID:???
トンチンカン?何をトンチンカンなことを言っているのかね。

186 :NAME IS NULL:2011/05/02(月) 14:09:54.33 ID:???
mysqladmin stausの実装って、sqlで取ってくるだけじゃないの?

187 :NAME IS NULL:2011/05/02(月) 14:47:36.51 ID:???
監視スクリプトの例 munin pgとmy
http://munin-monitoring.org/wiki/plugin-mysql_status_
http://munin-monitoring.org/attachment/wiki/plugin-pg__all_tables_activity/pg__all_tables_activity

まあ、mysqlのが至れり尽くせりかもしれないね。
ps auxでsql実行リストが見える
uptimeは、上のようなstatusテーブルから、sqlで引くなりかな
http://archive.linux.or.jp/JM/html/procps/man1/ps.1.html

188 :NAME IS NULL:2011/05/03(火) 00:17:15.75 ID:???
>>184
Postgres だと組み込みの pg_stat* 系のビューが充実している。
定型処理用の既製品なら pg_top, pgstatspack, pg_statsinfo のあたりかな。

189 :NAME IS NULL:2011/05/03(火) 19:28:18.17 ID:???
postgresql-9.0.3で以下のような
テーブルを作ってデータを常時insertする場合
postgresqlだと何兆件ぐらいまで
現実的な処理時間で扱えるのでしょうか。

create table test (
key char(064) primary key,
data1 char(512),
);


190 :NAME IS NULL:2011/05/03(火) 20:15:11.21 ID:???
それが確認できる環境の人いないと思うから石井さんとかにメールしてみたら

191 :NAME IS NULL:2011/05/03(火) 20:16:50.23 ID:???
と思ったけど現実的な処理時間で扱える件数しかそのテーブルに入らなかった

192 :NAME IS NULL:2011/05/03(火) 20:23:19.76 ID:???
つーか、質問の仕方も知らない馬鹿な厨房なんか相手にすんなよ

193 :NAME IS NULL:2011/05/03(火) 20:35:04.25 ID:???
PenPRO+MEM32MBで100兆件まで余裕でいけるよ!

194 :NAME IS NULL:2011/05/04(水) 15:38:02.46 ID:???
1兆件で500TB超えるのでマトモには動かないだろうなあ

195 :NAME IS NULL:2011/05/05(木) 15:18:53.93 ID:???
PgCon 2011でPostgres-XC1.0
について何か言及あるの?

196 :NAME IS NULL:2011/05/06(金) 00:26:37.18 ID:hR3GPIpU
エロい人教えてください。

func_a("key" integer);
ってストアドファンクションがあるとして
Npgsqlを使ってC#で値を引数"key"に入れたいんだけど
どうしたらいいの?

da.command = new NpgsqlCommand
(
"select func(:key);",conn
);
if (combobox1.SelectedItem == null)
{
da.command.Parameters.Add(new NpgsqlParameter("key",
NpgsqlTypes.NpgsqlDbType.Integer, 0, "key",
ParameterDirection.Input, false, 0, 0, DataRowVersion.Current,
DBNull.Value));
}
else
{
// SelecteItemがある場合
DataRowView row = (DataRowView)combobox1.SelectedItem;
da.command.Parameters.AddWithValue("key", row["key"]);
}
では、keyに値が入ってこないんだけど...

197 :196:2011/05/06(金) 00:27:57.51 ID:hR3GPIpU
× "select func(:key);",conn
○ "select func_a(:key);",conn
スマソ

198 :NAME IS NULL:2011/05/06(金) 03:06:54.82 ID:???
何でもっと簡素化したコードで確認しないのだろうと思う。

199 :NAME IS NULL:2011/05/08(日) 11:19:07.36 ID:???
9.1って凄いの?

200 :NAME IS NULL:2011/05/08(日) 14:45:28.31 ID:???
なにが?

201 :NAME IS NULL:2011/05/08(日) 15:46:46.09 ID:???
CREATE FUNCTION 初体験何ですが
パラメータのデフォルト値としてサブクエリが使えないなら

どうやってパラメータが省略された場合にテーブルの全行数とするなんて定めることができるのでしょうか?

202 :NAME IS NULL:2011/05/09(月) 02:21:33.04 ID:???
SQL書いて。

203 :NAME IS NULL:2011/05/10(火) 17:39:23.00 ID:???
>>201
トリガーは?

204 :NAME IS NULL:2011/05/10(火) 22:00:59.44 ID:???
SQLAdminが日本語文字化けするんです
SQL入力するとき日本語文字がロロロロロってなります

エラー時のステータスバーには正しい日本語エラー通知文が出るんですが
不便です

設定の仕方を教えて下さい

205 :NAME IS NULL:2011/05/10(火) 22:16:40.66 ID:???
フォント

206 :NAME IS NULL:2011/05/11(水) 04:37:38.27 ID:???
>>205
あり^^

207 :NAME IS NULL:2011/05/11(水) 14:07:53.56 ID:???
>>202
なるほど、
(範囲の最後をデフォルトで0にして)
SQL(のCASE式の方で分岐させる形で)書いて。

そういうことですね?
できました。有り難うございました

208 :NAME IS NULL:2011/05/11(水) 22:57:26.34 ID:???
藻前ら!エスパーかよ

209 :NAME IS NULL:2011/05/11(水) 23:19:56.32 ID:???
データベース初心者なんですけどMysqlとPostgreSQLを掛け持ちで覚えるのってやめたほうがいいですか?
どちらか一つ1年ぐらいいじってからのほうが効率いいですか?

210 :NAME IS NULL:2011/05/11(水) 23:37:48.90 ID:???
その質問には意味があるのだろうか。
不安なの?

211 :NAME IS NULL:2011/05/12(木) 00:19:24.55 ID:???

無駄な煽りレスは控えようか

212 :NAME IS NULL:2011/05/12(木) 05:32:23.46 ID:???
やめた方がいいですよーっていえばいいの?それとも、全然大丈夫ですよーっていえばいい?
人それぞれでしょそんなの。

213 :NAME IS NULL:2011/05/12(木) 08:08:16.99 ID:???
基本的な部分はおんなじだから両方使ってみればいいんでないの?

214 :NAME IS NULL:2011/05/12(木) 11:03:01.79 ID:???
片方に慣れちゃうともうかたほうやるのがおっくうになるから
今のうちに並行でやった方がいいかもなw

215 :NAME IS NULL:2011/05/14(土) 20:29:29.85 ID:???
one_side the_other value
30 31 23
31 30 23
4 31 20
31 6 20
6 31 20
31 4 20
19 30 19
30 19 19
7 27 17
35 18 17
: : :

one_sideとthe_otherのペアとして認識して
逆順になっているだけのペアは纏める方法を教えて下さい

216 :NAME IS NULL:2011/05/14(土) 21:06:45.38 ID:???
宿題を持ち込まないように

217 :NAME IS NULL:2011/05/14(土) 21:08:09.70 ID:???
[1, 2] と [2, 1] を同列に扱いたいってこと?
sort 使っていいなら、こう。
(手元に 9.xないから動くか分からないけど)

SELECT k, count(*) FROM (
SELECT sort(ARRAY[one_side, the_other]) AS k, value
FROM data_table
) tmp GROUP BY k;

使えないなら、卑怯だけど2つ限定でこう。

SELECT k, count(*) FROM (
SELECT ARRAY[least(one_side, the_other), greatest(one_side, the_other)] AS k, value
FROM data_table
) tmp GROUP BY k;

っていうネタを思いついた。
ちゃんとやるにはどうするんだろう?

218 :NAME IS NULL:2011/05/14(土) 23:14:54.57 ID:???
>>217
SELECT DISTINCT
  trim( both '''' from split_part(
    (one_side::text ||' '|| the_other::text)::tsvector::text,
    ' ', 1))::int one_side,
  trim( both '''' from split_part(
    (one_side::text ||' '|| the_other::text)::tsvector::text,
    ' ', 2))::int the_other,
  value

でいけました。
が、パフォーマンスが心配です。。。

219 : ◆XEE2zLj0dE :2011/05/15(日) 10:07:03.31 ID:???
こうかな。
SELECT * FROM table T1
WHERE one_side <= the_other OR NOT EXISTS(SELECT * FROM table T2 WHERE T1.one_side = T2.the_other AND T1.the_other = T2.one_side)

列の順番崩していいならこうかな。
SELECT DISTINCT
CASE WHEN one_side < the_other THEN one_side ELSE the_other END AS one_side,
CASE WHEN one_side < the_other THEN the_other ELSE one_side END AS the_other,
value
FROM table

220 :NAME IS NULL:2011/05/15(日) 17:18:50.93 ID:???
あり^^

221 :NAME IS NULL:2011/05/15(日) 21:54:20.40 ID:???
ウィンドウ関数の作り方が分かりません
点数列からその点毎の偏差値を計算する関数を作ろうと思ったのですが
これはウインドウ関数に属しますよね?

222 :70:2011/05/18(水) 17:34:12.21 ID:???
遅くなりましたが、事故解決いたしましたので投稿します。

以下のランタイムをインストールすることで
エラーがでなくなります。

Microsoft Visual C++ 2010 Redistributable Package (x86)
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

223 :70:2011/05/18(水) 17:36:53.28 ID:???
>96

>222の内容ですが、
すでに96で指摘されていたんですね。
気づかなくて申し訳ありません。

224 :NAME IS NULL:2011/05/18(水) 18:44:00.27 ID:???
2ヶ月も無駄にしたのか・・・

225 :NAME IS NULL:2011/05/18(水) 23:36:11.88 ID:???
GUIベースだと標準エラーが表示され無いから分からんよな。
ダウンロードページにも書いてないし、同時にインストールされないのは、この規模のソフトウエアでは、あまり見かけないかも

http://www.postgresql.org/download/windows

226 :NAME IS NULL:2011/05/20(金) 23:09:48.42 ID:???
こだまでしょうか?
いいえ、ばかです。

227 :NAME IS NULL:2011/05/23(月) 23:17:33.87 ID:???
postgresって拡張やら色々出来て便利なんだが
色々出来すぎて時々何が何やらわからなくなる

ごめんなさい。ただ俺が病んでるだけです
あぁ辛い、もう体が持たん

228 :NAME IS NULL:2011/05/24(火) 06:34:06.49 ID:???
色々やらずに基本的な機能だけ使えばおk


229 :Shingo Amemiya:2011/05/24(火) 19:55:12.70 ID:4mD3ni9s
I will be out of the office starting 2011/05/24 and will not return until
2011/05/25.

230 :sage:2011/05/26(木) 02:34:47.29 ID:???
Oracleからポスグレに乗り換えることを検討していますが、やはりバックアップが大変気になります。
運用として、フルバックアップと差分バックアップを使い分けて実施すると思いますが、皆さんはどんなバックアップを運用されてますか?

231 :NAME IS NULL:2011/05/26(木) 17:33:56.56 ID:???
http://enterprisezine.jp/article/detail/3149?p=2
15分ルール、ポスグレでも似たようなもんなんだろうけど、Winのインストーラーがなんか今一歩残念なんだよな。

232 :NAME IS NULL:2011/05/30(月) 10:52:35.19 ID:???
地域のオプションで通貨の小数点以下の桁数を2にして
Windows2000で9.0.3をインストールしたのですが
表示が変です

単純に数値の2桁めと3桁めの間に小数点を打ってるだけのようです
つまり\320が\3.20などと表示されるのです
正しくは\320.00の筈です

そこで地域のオプションで通貨の通貨の表示をデフォルトに戻し
OSを再起動しましたが

一向に変わりません

再インストールしかないでしょうか?

233 :NAME IS NULL:2011/05/30(月) 17:39:42.42 ID:???
そりゃそうなるだろ
具体的に何をどう設定して、実際は何が欲しいのさ

234 :NAME IS NULL:2011/05/30(月) 21:19:29.24 ID:JWqkOLWP
すみません、急にPOSTGREが起動できなくなりました。
これまでは良かったのに。

Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

というエラーが出ます。ちなみに.s.PGSQL.5432というものは
どこにも存在しません。ちなみに8.3でubuntuです。
どの辺をいじればいいのでしょうか。ノイローゼ気味です。
助けてください。


235 :NAME IS NULL:2011/05/30(月) 21:35:15.56 ID:???
>>234
ls -a /tmp/.s.PGSQL.5432
で存在が確認できるはず。

236 :NAME IS NULL:2011/05/30(月) 21:37:42.64 ID:???
>>234
これの一番下は?
http://www.postgresql.jp/document/pg803doc/html/postmaster-start.html

237 :NAME IS NULL:2011/05/30(月) 22:27:51.58 ID:JWqkOLWP
>>235さま
ありがとうございます。そこには何もないんです。また/var/run/postgresql/の
下にあるというのも読んだので、調べましたが、ないんです。何もないのが
問題なんでしょうか?

>>236amaさま
そこも実は見たのですが、解決方法がわかりません。pg_hba.confをいじって
local all all trust
などにすればいいんでしょうか?


238 :NAME IS NULL:2011/05/30(月) 22:51:42.94 ID:???
Is the server running locally and accepting
 connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
のエラーはクライアントが「サーバー立ち上がってねーぞゴルァ!」って言ってるエラーだと思う
つまりクライアントだけ立ち上げようとしてるんじゃね?

ちなみにウチの環境だと鯖立ち上がってると/tmp/.s.PGSQL.5432は存在するね

239 :NAME IS NULL:2011/05/30(月) 23:22:01.71 ID:JWqkOLWP
>>238さま
まさにおっしゃるとおりかなと思って、
postgres@XXXXX:/$ pg_ctl start
してみても、
bash: pg_ctl: コマンドが見つかりません
と出てきます!postmasterも駄目です。
もうあきらめて再インストールとか、再initdbしたほうがいいんでしょうか。
昨日までは動いていたのにグレちゃったんでしょうか?不思議です!!

240 :NAME IS NULL:2011/05/30(月) 23:29:56.57 ID:???
多分コマンドの打ち間違いとか、パス通ってないとか、動かす権限がないユーザー
で起動しようとしてるとかそういう人的なミスだと思うから焦らずじっくりもう一度
見直してみたら?

241 :NAME IS NULL:2011/05/30(月) 23:43:34.75 ID:???
>>234
つか動かなくなる直前に何をしたかくらい覚えてないのかい。

242 :NAME IS NULL:2011/05/30(月) 23:44:28.14 ID:JWqkOLWP
>>240さま
そうですね、もう一度一つ一つチェックしていきます。
今日はもう寝ます。つきあってくださり本当にありがとうございました。

243 :NAME IS NULL:2011/05/30(月) 23:45:35.94 ID:???
ディスク溢れてるんじゃない?

244 :NAME IS NULL:2011/05/31(火) 03:58:06.42 ID:???
>>233
monetary型の平均を取ろうとしたら小数点切り捨てられるので
下2桁まで表示して欲しくて、ロケール設定しました

でも期待した通りどころか普通の金額表示までおかしくなってしまった為
諦めて元に戻そうかとコントロールパネルでロケール設定を戻しても
もはや言うことを聞かず今だにおかしな表示のままなのです

現状   : \12,345,678,900 → \123,456,789.00
最善の要求: \12,345,678,900 → \12,345,678,900.00
次善の要求: 元に戻す

245 :NAME IS NULL:2011/05/31(火) 09:48:58.60 ID:???
monetary型っての使ったこと無いから良く判らんが整数の型に入ってるっぽいね

246 :240:2011/05/31(火) 11:24:36.69 ID:fzGRftAT
昨日起動できなくなってしまった者なのですがpostgresql.confの
tcipip_socket = trueの行を消して
/etc/init.d/postgresql-8.3 restart
で復活しました。
お騒がせしました。
アドバイスくださった皆様ありがとうございます。


247 :NAME IS NULL:2011/05/31(火) 11:47:54.80 ID:???
・・・それ、解決してるのか?w

248 :NAME IS NULL:2011/05/31(火) 12:37:26.96 ID:???
多数のビューから参照されているテーブルが壊れました

作り直そうと思いますが
削除するにも依存関係でズブズブです

要領よくテーブルを作り直す手順を教えて下さい

249 :NAME IS NULL:2011/05/31(火) 14:36:59.94 ID:???
いったん、依存関係を切って消してまたつける、とかでもいいのかな?

250 :NAME IS NULL:2011/05/31(火) 14:42:53.34 ID:???
>>246
tcipip_socketは7.xまでの設定用だ
8.3なのに古いconfigからわけもわからずコピーしてきたのか?

251 :NAME IS NULL:2011/05/31(火) 15:30:08.41 ID:???
pgfoundry.orgに繋がらん・・

252 :NAME IS NULL:2011/05/31(火) 16:24:36.21 ID:???
>>248
dumpして該当テーブル書き換えて

253 :NAME IS NULL:2011/05/31(火) 18:40:19.18 ID:???
>>249
そんなこと出来るんですか?
教えてくだしあ

254 :240:2011/05/31(火) 20:26:07.87 ID:fzGRftAT
>>250
そうなんです。
他からコピペしてきたのが問題だったようです。
おかげですっきりしました。

255 :232:2011/06/01(水) 04:18:35.50 ID:???
自己解決しました

管理者でもカレントユーザーでもなく
postgresアカウントの方の地域のオプションだったとは……
うっかりしてました

256 :NAME IS NULL:2011/06/01(水) 11:50:14.24 ID:???
>>253
マニュアルにあったと思う。
ALTER TABLE 〜 DROP CONSTRAINT なんちゃら
とかかな
作業終わったら
ALTER TABLE 〜 ADD FOREIGN KEY なんちゃら
で付けなおす

257 :NAME IS NULL:2011/06/01(水) 13:39:58.94 ID:UJoI79+i
ライセンス表記と無保証表記を書いたテキストファイルを置いておけば、
商用のウェブサーバに導入しても良いという認識であっていますか?

ちなみに、置く場所は、ユーザがアクセスできない場所(WEB-INFフォルダ下など)です。

258 :NAME IS NULL:2011/06/01(水) 14:09:54.54 ID:???
それは再配布、再利用に関する話で、
通常の利用に関してそういうものはない。
BSDライセンスと付属のドキュメント見てみよう

259 :NAME IS NULL:2011/06/01(水) 18:18:15.28 ID:???
>>258
レスありがとうございます。

PostgreSQLのインストーラ等を納品物の一部として含める場合は必要で、
別途ダウンロードしてインストールする場合は不要、
という認識でよろしいでしょうか?

260 :NAME IS NULL:2011/06/02(木) 00:48:34.97 ID:???
だいたいあってる

261 :NAME IS NULL:2011/06/02(木) 07:18:45.09 ID:gmaEZeJk
>>260
ありがとうございました。

262 :NAME IS NULL:2011/06/02(木) 20:43:28.39 ID:???
ウェブサーバにPostgreSQLを導入した場合、セキュリティホールになりますか?

263 :NAME IS NULL:2011/06/02(木) 22:35:08.17 ID:???
どちらかというと、ウェブサーバーのセキュリティ破られたとき、root取られたらそのままデータが漏れるのが問題。
なるべく低いレイヤーで、localhostかlocal networkのみにdb接続制限すれば、
、非公開dbサーバーとほぼ同じ脆弱性になる。

264 :NAME IS NULL:2011/06/02(木) 22:37:46.16 ID:???
って、サーバー分けても、一般接続のDBパスワードもれるのか

265 :NAME IS NULL:2011/06/02(木) 23:11:09.83 ID:???
そのDBユーザー/パスワードでシェルログインできなければまだマシなんじゃない?

266 :NAME IS NULL:2011/06/03(金) 00:42:08.68 ID:???
Webサーバがやられた時点でもうアウトだろw
てか、きっちりFW設定してhttpdも最新にした上で、
アプリがカスでなければPort80/443から問題が起きるとかそうそう無いだろ
物理的に分かれてた方が、そりゃぁマシだけれど

267 :NAME IS NULL:2011/06/03(金) 03:41:09.68 ID:???
ウインドウ関数は簡単には登録できないのですか?

268 :NAME IS NULL:2011/06/03(金) 05:59:55.63 ID:???
指定された型のテーブルを引き数にとる関数定義は不可能ですか?

269 :262:2011/06/03(金) 07:18:01.48 ID:v2spQfh9
ありがとうございました

270 :NAME IS NULL:2011/06/03(金) 07:19:32.56 ID:???
エクリプスのエミュレータでの動作は信頼できませんか?

271 :270:2011/06/03(金) 07:58:03.82 ID:???
すみません、誤爆しました。

272 :NAME IS NULL:2011/06/03(金) 08:06:00.22 ID:???
ユーザ関数定義で
VARIADIC 引き数名 テーブル名.カラム名%TYPE[]
ってできないんですね

ここだけ直接型名書かないといけないなら
参照するテーブルの型が変更になったら面倒くさいですね

273 :NAME IS NULL:2011/06/03(金) 11:16:11.37 ID:???
まさかとは思うが
先頭に.がついてるから見えないとか言うオチはないよな

274 :NAME IS NULL:2011/06/03(金) 11:26:50.02 ID:???
.テーブル名.カラム名%TYPE[]とやっていやしないかということですか?
いいえ

275 :NAME IS NULL:2011/06/03(金) 12:32:45.53 ID:???
>>274
273のものです
誤爆でしたごめんなさい

276 :NAME IS NULL:2011/06/03(金) 15:21:26.84 ID:???
enum を 'a','A','b','B','c','C'…と作ってしまいました

後になって今更'a','b','c',…,'A','B','C'…の方が良い事に気づきましたが
pg_enumをいじって変更すると
この型を使うテーブルのデータが狂ってしまうでしょう

円満に解決できませんか?

277 :NAME IS NULL:2011/06/04(土) 06:49:25.54 ID:???
ひょっとして関数作る時にplpgsqlはあんま使わない方が良いの?
これ使おうとすると原因不明のエラーに悩まされる事が多い気がする

278 :NAME IS NULL:2011/06/04(土) 10:06:06.36 ID:???
>>277
原因不明のエラーなんて無いよ。エラーメッセージを読もうよ。

279 :NAME IS NULL:2011/06/04(土) 10:19:01.98 ID:???
○○してしまうでしょう、なんて占い師が使うような言い回しに振り回されずに
エラーメッセージを元に対応すべきですね

280 :NAME IS NULL:2011/06/04(土) 10:55:50.97 ID:???
>>276
テーブルサイズにもよるけど、新しいenum型と新しいテーブルを作って
データを移し変えたほうが、悩んでいる時間よりも早いのでは。後から rename すれば良い。

281 :NAME IS NULL:2011/06/05(日) 07:29:48.01 ID:???
>>278
○○付近でエラー
っていうふわふわしたヒントしかくれないんだもん……
sqlに戻すと上手く行ったりするし
これ独自拡張でしょ?実装にまだ不備があんじゃないの?って思ってしまう

282 :NAME IS NULL:2011/06/05(日) 07:33:31.68 ID:???
>>279
問題はエラーとして補足されない事実上のエラーのことなんですよ

283 :NAME IS NULL:2011/06/05(日) 07:34:30.19 ID:???
>>280
あり^^

284 :NAME IS NULL:2011/06/05(日) 09:26:10.37 ID:???
>>281 ○○付近でエラー
ふわふわしたエラーを、さらにふわふわさせて書き込まれても助けられないよ。
実際の入力と、実際のエラーをさらすべき。PL/pgSQLは10年以上の実績が
あるわけで、普通に考えて、あなたのミスである可能性のほうが高い。

285 :240:2011/06/06(月) 16:05:29.47 ID:PRzZI/xi
byteaのカラムを作って、画像を格納&取り出ししようとしているのですが、
PHPのサンプルどおりに作ると、画像でなく長い文字列で表示されてしまいます。

PHPのサンプル画像格納
http://jp.php.net/manual/en/function.pg-escape-bytea.php

PHPのサンプル画像取り出し
http://jp.php.net/manual/en/function.pg-unescape-bytea.php

ヘッダーもサンプルどおり出力しているのですがどうすればいいのでしょうか?
ノイローゼ気味です。教えてください。

ポスグレは8.3です。よろしくお願いします。

*pg_escape_byteaのところでいろんなコメントと崩れるのを回避するコードが
ありましたが、どれもゴミコードで動きませんwww

286 :NAME IS NULL:2011/06/06(月) 16:43:22.71 ID:???
出力をファイルに保存したら画像として開けてるの?

287 :240:2011/06/06(月) 19:44:36.15 ID:PRzZI/xi
>>286
そうですね。ちょっとテストしてみます。

288 :NAME IS NULL:2011/06/07(火) 10:26:25.10 ID:???
MIME_TYPE


289 :285:2011/06/07(火) 13:41:23.28 ID:LcV5pV7u
>>286さま,>>288さま
PHPでローカルフォルダのファイルをいきなり表示するコードを
書いたらちゃんと画像が出たので、原因はbyteaにあるような
気がします。が、先に進めないので、別の保存方法を考えます。
みなさん、ありがとうございました。

290 :NAME IS NULL:2011/06/07(火) 14:21:00.75 ID:???
差分とったらいいじゃない

291 :NAME IS NULL:2011/06/07(火) 15:40:59.00 ID:???
ちょっと調べてみたけど、phpのバージョンとlibpq.soのバージョンによるみたいだぞ

292 :NAME IS NULL:2011/06/07(火) 15:50:01.30 ID:???
CentOSでyumで入れたPHP5.1.6にlibpq 8.1.22
だと同様の結果になるが、
自分でソースからビルドした PHP5.2.17にlibpq 9.0.3
だとうまくいった。
DBとlibのバージョンあわせてみ?

293 :NAME IS NULL:2011/06/07(火) 18:48:46.16 ID:???
あとはpg_unescape_byteaを自分で作ってしまえばいい、
そんな手間じゃないだろうし、ソースもあるだろ

294 :NAME IS NULL:2011/06/07(火) 23:07:56.13 ID:???
商用のWEBサーバを構築するのに使用する場合、ライセンス費用が掛かりますか?
商用ライセンスというのがあると聞いたのですが、いくらくらい掛かりますか

295 :NAME IS NULL:2011/06/08(水) 10:11:32.43 ID:???
>>294
ライセンス費用はかかりません。
商用ライセンスというのもありません。
MySQLとの勘違いじゃないかな?
PowerGresのように、PostgreSQLを独自に改造して販売している製品や、サポート業務を有料で請け負ってくれる会社ならあるよ。

296 :NAME IS NULL:2011/06/08(水) 14:04:13.02 ID:???
PostgreSQLライセンスはBSDライセンスとほぼ同じで緩いライセンス。
ライセンス記述だけ残しておけば、改変しても、ソースなしでのバイナリ配布も販売も可能。

http://www.postgresql.org/about/licence

297 :NAME IS NULL:2011/06/08(水) 14:05:50.26 ID:???
あ、copyrightの文も必要ですね。

MITライセンスに近いそうだ。
http://postgresql.g.hatena.ne.jp/pgsql/20101009

298 :NAME IS NULL:2011/06/08(水) 23:28:53.43 ID:???
>>295-297
ありがとうございます。
すみません、MySQLと勘違いしていたようですね。
ライセンス違反しないように留意します。

299 :NAME IS NULL:2011/06/13(月) 22:40:35.70 ID:bgOKQ0eV
PostgreSQL 8.3.14 を使っているのですが、テーブル数の制限数はるのでしょうか?
max_fsm_relationsに最大テーブル数を設定するようなことを見たことがあるのですが、実際に試してみると、max_fsm_relationsに設定した数よりも多くテーブルを作成することができました。
max_fsm_relationsよりも多くテーブルを作成すると、何か問題が発生するのでしょうか??

300 : ◆XEE2zLj0dE :2011/06/13(月) 22:57:46.72 ID:???
その項目をそのように説明しているサイトのことを思い出す必要はないが、
その項目がなにを意味するかをマニュアルで読む必要はあると思う

301 :NAME IS NULL:2011/06/14(火) 00:19:59.66 ID:???
PostgreSQL 8.1.11を使っています。
内部エンコードはUTF8です。

'9:9ド'や'0:0あ'などの文字を追加すると
'9$1ド'や'0$1あ'などに勝手に置き換わってしまいます。
'9:あ'や':9あ'では問題ないのですが、原因は何でしょうか?

302 :NAME IS NULL:2011/06/14(火) 00:39:52.15 ID:???
9.0 でレプリケーション中、プライマイリ側がダウンした場合、
スタンバイ側は、どういう風にしたら、参照オンリーから更新も可能になるようになりますか?

スタンバイ側にトリガーファイルを設定したら、recovery.done になって、
それまで起動して参照できていたのに、スタンバイ側のPostgreSQLもダウンして参照もできなくなってしまいます。

303 :NAME IS NULL:2011/06/14(火) 01:46:40.68 ID:???
>>299
max_fsm_relations よりも多くのテーブル / インデックスが
更新されるようだと、VACUUMの効果が弱まることがある。
予め多めに設定しておくか、設定する必要の無くなった 8.4 以降を使いましょう。

304 :NAME IS NULL:2011/06/14(火) 01:48:51.47 ID:???
>>302
トリガーファイル → recovery.done までは正しい手順だと思うよ。
スタンバイがダウンするのは謎。何かエラーメッセージがログに残っている?

305 :NAME IS NULL:2011/06/14(火) 12:02:58.29 ID:???
>>304
ありがとうございます。

再度調べたところ、トリガーファイル作成でダウンではなく、
プライマリ側をダウン(サービス停止)させると、スタンバイ側もダウンしてしまいます。

トリガーファイルを作成する前にダウンです。
プライマリ側をダウンさせる前までは、レプリケーション状態は正常でした。

ログをみて原因を調べたところ、
フォルダ構成が間違っていたためダウンしたようです。

ログを見るというご指摘で原因がわかりました。
ありがとうございました。

リアルタイムなレプリケーションと
プライマリの障害後のスタンバイの正常稼働も確認、ログも正常に

『トリガファイルが見つかりました』
『アーカイブリカバリが完了しました』
『データベースシステムの接続受付準備が整いました。』
『自動バキュームランチャプロセス』

などと吐き出されました。
これで、少しは安心ですね。

あとは運用時に実際に障害が起きた時に
きちんとスタンバイ側が稼働することを祈るだけです。

306 :NAME IS NULL:2011/06/14(火) 13:33:48.41 ID:???
>>301
追加とあるけど、どうやって追加をしたのか
こちらで再現できるだけの環境とやり方書いてくれないか?

307 :NAME IS NULL:2011/06/14(火) 21:33:24.84 ID:???
>>305
レベル低すぎやろ・・・
めんどくさがらず自分を過信せずやらんと。
信じる物はDBのソースとマニュアルとログ。
2chで泣きつく奴はこの程度

308 :NAME IS NULL:2011/06/14(火) 23:31:03.47 ID:???
>>307
レベル低くてもなんとか、>>304 さんのおかげで、できました。
まだ細かい点で不明な点もあり問題はありますが。

Linux版 は情報があるからそのとおりにすれば比較的簡単だけど、
Win版は情報がないから苦労しました。

わかってしまえば単純で簡単だけど、
わからないことに気づくのはなかなか大変ですね。

もう少しマニュアルやサンプルがあると私のようにレベルが低い人にもわかりやすくなるんですけどね。


309 :NAME IS NULL:2011/06/15(水) 00:06:50.56 ID:???
>>308
そういうのをブログとかで公開していくといいんだよ。
マニュアル読んですぐ分かる内容はだめだけど。

310 :NAME IS NULL:2011/06/16(木) 07:43:00.33 ID:R1vBe+KD
日本PostgreSQLでLinux用の9を探したけど、ソース版しかなかった・・・
コンフィグ実行してgmakeするだけとはいえ、なんで面倒なんだよな・・・
どうしてrpmを用意してないんだ?

311 :NAME IS NULL:2011/06/16(木) 07:53:15.87 ID:???
おいおい大丈夫かw

312 :NAME IS NULL:2011/06/16(木) 09:01:22.75 ID:???
>>310
お前の目は節穴か?
http://www.postgresql.org/download/linux#yum

313 :NAME IS NULL:2011/06/16(木) 18:36:56.61 ID:???
関数定義のあとのOWNER TOとCOMMENT ONの方の関数の型には
デフォルト引き数書いちゃイケないのか!
そういうことはもっと早くにいってよ!

314 :NAME IS NULL:2011/06/16(木) 21:35:17.29 ID:???
基本的な質問で申し訳無いですが、
UTF-8 使用時の varchar のサイズって、
1 文字あたり 3 バイトで合っていますか?

あと、開発に使う PostgreSQL JDBC Driver ですが、
サーバ上に置いて使ったり配布したりする場合は、
ライセンスを書いたテキストを置いておく必要がありますか?

315 :NAME IS NULL:2011/06/16(木) 21:39:37.87 ID:???
カラムサイズミロ

316 :NAME IS NULL:2011/06/16(木) 22:57:46.84 ID:???
>>315
ありがとうございます。
カラムサイズの見方を調べます。

317 :NAME IS NULL:2011/06/17(金) 00:27:28.86 ID:???
>>314
>ライセンスを書いたテキストを置いておく必要がありますか?
ずばりそのライセンスに書いてある
http://jdbc.postgresql.org/license.html
より、一部抜粋
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

参考訳文
バイナリ形式で再配布する場合、上記著作権表示、本条件書および下記責任限定規定を、配布物とともに提供される文書 および/または他の資料に必ず含めてください。

318 :NAME IS NULL:2011/06/17(金) 07:23:10.86 ID:78HPp+Du
>>317
ありがとうございます。
ライセンス条項を書いたファイルを、
jar ファイルと同じフォルダ内に配置するようにします。

ライセンスを気にするようになってから、
英語をまじめに勉強しておけばよかったと後悔しています。

319 :NAME IS NULL:2011/06/17(金) 08:53:36.41 ID:???
>>314
UTF-8 は可変長エンコーディングだから、1文字あたり 1〜6 バイト。
(PostgreSQLは4バイト以上になる文字もちゃんと扱える)
日本語の文字は概ね3バイトずつなので、概算なら3バイトで計算しても良いとは思う。

320 :NAME IS NULL:2011/06/17(金) 12:52:50.17 ID:???
なぜ text型があるのに、varchar で文字数制限するんだろう?

321 :NAME IS NULL:2011/06/17(金) 14:01:42.60 ID:???
varchar(n)の見積もりってどうするんでしょうね?
ある程度文字数が増えると勝手に圧縮されたり
ページサイズをまたぐ長さになるとTOASTが働いたりと
正確な見積もりしづらそうなんですが・・・

自動で圧縮する機能とトーストって別物だと思っていいですよね。

322 :NAME IS NULL:2011/06/17(金) 14:03:07.76 ID:???
昔nが文字数を示してることすら知らない奴が
postgreSQLのテーブル設計しててイラついた。
しかも先に言ってよとか、死ねばいいのに。
何をもとに設計してたんだよ屑。

323 :NAME IS NULL:2011/06/17(金) 14:25:17.61 ID:???
>>310-312

日本PostgreSQLユーザー会のホームページは、
ダウンロード先も含めて、わかりやすいとは言えないだろうね。
http://www.postgresql.jp/PostgreSQL/9_0/9_0_4

各種rpmがあったほうが便利だけど、それを積極的にしないのが、
Linuxユーザーの悪いところかもね。

324 :NAME IS NULL:2011/06/17(金) 14:35:26.77 ID:???
バカを育てるマネを要求するなよ。

325 :NAME IS NULL:2011/06/17(金) 20:20:25.61 ID:???
Linux使ってる以上、コマンドラインからコンパイルするくらいデフォだよな
むしろ、ダブルクリックひとつでインストールできるWindowsがおかしいんだよ

326 :NAME IS NULL:2011/06/17(金) 20:38:07.43 ID:78HPp+Du
select octet_length(列名) で調べたところ、
半角文字は一文字 1 バイト、全角文字は一文字 3 バイトでした。
ただ、ここのレスを見ていると、最大 1 文字 6 バイトもあるようですね。
可変だと想定する最大のディスク容量の計算が困りますね。
6 バイトで計算してしまうと、英語しか使わなかった場合には、
単純計算で 6 倍も計算が狂ってしまいます。
最大件数格納しても、ディスクはガラガラのスッカンカンということになっていまう。
うーん、どうすれば・・・。

327 :NAME IS NULL:2011/06/17(金) 20:48:20.30 ID:???
無駄な領域はできないよ。
そもそも最大を制限するために使うんだろ?
何を心配しているんだ?

328 :NAME IS NULL:2011/06/17(金) 20:52:20.75 ID:???
>>326
保存を想定しているデータの一文字あたりの平均バイト数を
サンプリングなどして調べるか、
それができないなら、適当に分布を仮定して計算するしかないのでは?

329 :NAME IS NULL:2011/06/17(金) 20:56:49.91 ID:???
>>327
仕事で使うので、ストレージとかパーティションサイズとか、
十分かどうか見積もって計算しないといけないことになってるんじゃないかな?

まあ、ディスクがガラガラになっても、それほどもったいないほどにはならないかも知れないけど

330 :NAME IS NULL:2011/06/17(金) 21:54:57.26 ID:???
ストリーミングレプリケーションを使ったときって
スレーブ側のpg_catalogに現われる統計値なんかマスタのものになりますか?

見たところ違うような気もしますが・・・

331 :NAME IS NULL:2011/06/17(金) 22:25:39.56 ID:???
>>330
pg_catalog の統計地はマスタと一致する。ただ、含まれている統計情報は
データの分布に関するもの (ANALYZE) なので、特に問題はないはず。
逆に、アクセス統計情報 (pg_stat*) は、マスタとスレーブで別集計。
バッファヒット数などの統計なので、こちらも違って当然。
全体として、矛盾は無いはずだよ。

332 :NAME IS NULL:2011/06/17(金) 22:27:50.77 ID:???
>>329
ただ、それって、文字あたりのバイト数なんて、些細な問題なんじゃ?
varchar(1000) だって、常に1000文字ではないだろうし、
NULLがあれば、ほぼゼロバイトになるわけで。

333 :NAME IS NULL:2011/06/17(金) 22:42:19.59 ID:???
文字コードのお話しは難しくてかんわ

334 :NAME IS NULL:2011/06/17(金) 22:48:13.60 ID:???
実際に1バイト埋めで想定文字数まで埋めまくって
実際に6バイト埋めで想定文字数まで埋めまくって
どうなるかやればバイト数の計算が無意味なことに気付くんじゃないの?

335 :NAME IS NULL:2011/06/17(金) 23:23:30.40 ID:???
http://www.postgresql.jp/document/9.0/html/multibyte.html

336 :NAME IS NULL:2011/06/17(金) 23:58:52.78 ID:???
>>334
本番運用中にディスク容量不足とかなったら怖いやん
客に土下座とかしたくねーよ
安心なのは想定最大サイズ+α以上の容量を用意しておくことだけど

>>335
UTF8は1-4バイトってなってるね
名前欄20文字としたら80バイトと考えりゃ安心だな

337 :NAME IS NULL:2011/06/18(土) 00:12:31.10 ID:???
ディスク容量の見積もりしたいのかな
みんな言ってるけど、可変長のカラム使う時点で正確に見積もるのは
かなり難しいよ
入るデータのサンプルをある程度準備して
突っ込みまくって統計的に
丼勘定するのが一番早いよ

toastもあるし
運用してると無駄なタプルとかでるし
vacuumのタイミングでトランザクション走ってて
回収出来なかったりとか。autovacuumかも知れないけど。
見積もっても運用上その通り行くとは限らない。

338 :NAME IS NULL:2011/06/18(土) 01:31:24.50 ID:???
>>336
>>321くらいは最低調べてから質問してよ

339 :NAME IS NULL:2011/06/18(土) 09:28:38.98 ID:???
知らないから調べて教えてほしいのかな?

340 :NAME IS NULL:2011/06/18(土) 15:43:17.37 ID:???
>>321
マニュアルに見積もりの方法が書いてないのは
わざとだろと思える。varchar text xml型以外は何とかなるが

341 :NAME IS NULL:2011/06/21(火) 12:08:39.80 ID:???
textよりvarcharの方が空間・時間的効率がいいの?

342 :NAME IS NULL:2011/06/21(火) 12:56:40.91 ID:???
varchar の実体は text と同じだから、むしろ長さチェックする分のオーバーヘッドがある、っていう記述をどこかで見かけた気が…

343 :NAME IS NULL:2011/06/21(火) 13:39:42.63 ID:???
まあ、長さチェックがあったところで、実態が同じなら(格納の)空間・(検索の)時間効率は一緒な希ガスるあるよ


344 :NAME IS NULL:2011/06/21(火) 13:56:03.22 ID:???
じゃあ婆ちゃんは何のために居るの?

もう使わないでください。将来的には削除されますって張り紙しといてよ

345 :NAME IS NULL:2011/06/21(火) 13:58:17.63 ID:???
http://ja.wikipedia.org/wiki/%E5%A7%A8%E6%8D%A8%E5%B1%B1

346 :NAME IS NULL:2011/06/21(火) 14:02:16.41 ID:???
通常はtextでいいけど、primary keyにする項目はvarcharにしとかないと、
ODBC経由のAccessとかで表示するときに不具合でるのな。
その他の項目はtextで充分なんだけど。

347 :NAME IS NULL:2011/06/21(火) 14:33:08.22 ID:???
SQL の標準() に合わせるためでしょ。

348 :NAME IS NULL:2011/06/21(火) 14:50:16.57 ID:???
>>346-347
ポスグレローカルだったのねtext
あり^^

349 :NAME IS NULL:2011/06/22(水) 01:01:30.00 ID:???
PostgreSQL 9 では、多数同時アクセス時の制御はどうなっていますか?
例えば、あるサーバに PostgreSQL 9 を導入し、そこに 10 台の PC からアクセスするとします。
PC のユーザは、各々 SELECT や INSERT, UPDATE, DELETE を行います。
この時、あるユーザが行った更新が反映されなかったり、削除したレコードを読めてしまったり、
といった問題が発生することはありますか?

350 :NAME IS NULL:2011/06/22(水) 01:06:44.70 ID:???
RTFM
ttp://www.postgresql.jp/document/9.0/html/mvcc.html

351 :NAME IS NULL:2011/06/22(水) 01:33:51.11 ID:???
>>349
そんなの気にしないといけないようだったら、DBなんかどれも使えないよ。

352 :NAME IS NULL:2011/06/22(水) 03:24:27.76 ID:???
トランザクション制御の用語知ってれば、マニュアル読めば分かるし、
知らないならかみ合わない気がする。
http://www.google.co.jp/search?q=db%E6%AF%94%E8%BC%83%20%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%20%E5%88%86%E9%9B%A2%E3%83%AC%E3%83%99%E3%83%AB&ie=UTF-8&oe=UTF-8&hl=ja

353 :NAME IS NULL:2011/06/22(水) 03:27:34.04 ID:???
>350あれば352は無用だったか、、、

354 :NAME IS NULL:2011/06/22(水) 08:22:08.82 ID:???
>>350-353
ありがとうございます。
勉強不足でした。
ちゃんと整合がとれるようにできているのですね。

355 :NAME IS NULL:2011/06/22(水) 09:07:10.65 ID:???
今時こんな質問来るとは

356 :NAME IS NULL:2011/06/22(水) 11:01:37.50 ID:G4ugddjo
何のためのデータベースなんだか・・・

357 :NAME IS NULL:2011/06/22(水) 21:33:28.79 ID:???
英明な王者の質問です。

そもそもその為に作られたのに、なおその機能を心配しおたずねになるのは、
それこそ会社を安泰にする道です。

おたずねのことは、トランザクション―― 一貫した行動 ――と名付けます。

358 :NAME IS NULL:2011/06/23(木) 01:15:18.75 ID:???
最初は誰もが初心者

359 :NAME IS NULL:2011/06/23(木) 01:48:28.31 ID:???
いやいや、初心者というか
明らかにRDBMSのトランザクションの説明をしながら、、
明らかにRDBMSなpostgresをみて、トランザクションという言葉も使わずに、「これ実装されていますか?」

ってな質問をするところに、えも言われぬ矛盾を感じるんだ…


360 :NAME IS NULL:2011/06/23(木) 03:53:43.53 ID:???
そもそも
> この時、あるユーザが行った更新が反映されなかったり、削除したレコードを読めてしまったり、
> といった問題が発生することはありますか?
みたいな問題が発生するDBってあるの? そんなことあるなら、それはDBじゃないよね。

361 :NAME IS NULL:2011/06/23(木) 04:55:44.72 ID:???
トランザクションの概念はデータベースと共に産声をあげたの?

教えて歴史に詳しい人

362 :NAME IS NULL:2011/06/23(木) 07:22:16.52 ID:???
>>355
フリーソフトなので、どうなっているのか気になったのです。
これでも旧一種試験の合格者なので、排他制御の概念は理解しています。

363 :NAME IS NULL:2011/06/23(木) 07:27:14.69 ID:???
誰でも受かる低レベルな試験合格したからって
理解してることにはならんよ。

364 :NAME IS NULL:2011/06/23(木) 07:38:08.55 ID:???
>>361
関係なし。

365 :NAME IS NULL:2011/06/23(木) 07:58:37.36 ID:???
>>362
Linuxをサーバ用途に使えますか? と同じくらいの質問ですよ。

366 :NAME IS NULL:2011/06/23(木) 08:08:35.30 ID:???
>>362
俺も旧一種持ちだがさすがにそこまでアホな質問はしないわ・・・
気になったとしても、まず自分で調べるけどね

367 :NAME IS NULL:2011/06/23(木) 08:58:20.07 ID:???
>>358
いや新しい事を始めた奴はその時点で専門家

368 :NAME IS NULL:2011/06/23(木) 10:21:41.32 ID:???
トランザクションはマスタに対しての更新要求データのことだから、
データベースとのみ関係するものではないけど、
トランザクション制御となると、データベースからではないかな。


369 :NAME IS NULL:2011/06/23(木) 15:13:37.32 ID:???
>>360
>> この時、あるユーザが行った更新が反映されなかったり、削除したレコードを読めてしまったり、
>> といった問題が発生することはありますか?
>みたいな問題が発生するDBってあるの? そんなことあるなら、それはDBじゃないよね。

あるだろ。
だれか説明してやれ

370 :NAME IS NULL:2011/06/23(木) 19:20:48.86 ID:???
分離レベルによって、ファントムリードは基本
updateは

371 :NAME IS NULL:2011/06/23(木) 21:12:10.64 ID:???
マニュアル読めば全て解決

372 :NAME IS NULL:2011/06/23(木) 22:48:30.52 ID:???
テーブルの継承って未だにPKも外部キーも使えないんだな
もうかれこれ5,6年前からまだ実装されないのかと思っているが、この機能は詰んだのかなw

373 :NAME IS NULL:2011/06/23(木) 23:17:37.46 ID:???
>>372
開発の労力に見合わないってことなんだろうね。
PKも外部キーも無くても、アプリとしては動いちゃう部分だし。

374 :NAME IS NULL:2011/06/25(土) 00:03:31.24 ID:???
テーブルの継承を使いたい場面は結構あるんだがな
モデリングツールが対応してても物理モデルに落とせないんじゃ意味が無い

375 :NAME IS NULL:2011/06/25(土) 06:32:25.70 ID:???
継承を魔法の言葉と勘違いしてんじゃねーの
オブジェクト指向論者の間違った理解だよ

376 :NAME IS NULL:2011/06/25(土) 10:20:49.80 ID:???
Postgresではパーティショニング=継承を使うことになるし、
「オブジェクトタイプ」のような列があるなら、継承に置き換えられなくも無い。
使おうと思えば使えるケースはそれなりにあるのでは。

377 :NAME IS NULL:2011/06/25(土) 15:20:11.91 ID:???
IOと負荷分散考えるとテーブルスペース+パーティショニングしないと
ならないから大規模な商用案件だったら使うでしょ。
慣れれば簡単だがなんで俺がこんなことしないといかんの?
と思う糞実装方法ですが・・・

378 :sage:2011/06/26(日) 10:59:11.56 ID:lJOfLRBH
PL/Javaって使っている人いますか?
PL/pgSQLに比べて実行速度とかどうなんでしょう?

379 :NAME IS NULL:2011/06/26(日) 17:08:16.44 ID:???
自分で試してから聞けよ屑

380 :NAME IS NULL:2011/06/27(月) 02:29:41.63 ID:???
今、RubyからPostgreSQLにつなごうとすると、
どの拡張モジュールを使うのが定石 ?

主に将来性という面で。

今、ruby-postgresを使っているんだけど、
更新が2006年からされていないし.........

ruby-DBIをつかうべきなのかなぁ。


381 :NAME IS NULL:2011/06/27(月) 08:33:16.74 ID:???
Ruby界隈はよくわからんが、ruby-pgというものはメンテが続いているようだ。

382 :NAME IS NULL:2011/06/28(火) 02:25:46.75 ID:???
>>379
先人の経験談をちょっと聞いてみるってのがそんなに悪いこと?

383 :NAME IS NULL:2011/06/28(火) 03:34:11.50 ID:???
何も努力しない教えて君は無視されるものだよ

384 :NAME IS NULL:2011/06/28(火) 14:13:37.02 ID:???
まあそりゃそうだな

385 :NAME IS NULL:2011/06/28(火) 22:16:40.86 ID:???
基本的に一から十まで聞こうなんてのは虫が良すぎる
金貰ってるサポートじゃないんだから受ける方の身になって考えろ
でも中にはうまく聞き出すことが出来る人もいる
聞き方も工夫が足りない
すぐに言い返しちゃう辺りも我慢が足りない
もしかしたら情報を持っている人がまだ見てないだけかもしれない


386 :NAME IS NULL:2011/06/28(火) 22:47:33.05 ID:???
実行速度とかは、データとかマシンとかに依存すること多いから、
結局自分で試すしかないと思う ... って >>378 は言いたいんちゃうか?

387 :NAME IS NULL:2011/06/28(火) 22:48:23.97 ID:???
>>378 ちゃうわ >>379 やったな。

388 :NAME IS NULL:2011/06/29(水) 22:13:54.02 ID:???
教えてあげたら、いいじゃん

389 :NAME IS NULL:2011/06/29(水) 22:42:31.50 ID:???
じゃあ見積もりの仕方教えて
糞サイトの教える気のないURLいらないからwww

390 : ◆XEE2zLj0dE :2011/06/30(木) 13:38:06.23 ID:???
>>386
「データとかマシンとかに依存する」ような比較なんかな。
Java使うつもり無いのでやる気は無いが、PL/pgSQLとの速度差が有意なものであるならもっとそのアピールがなされているようには思うね。

391 :NAME IS NULL:2011/06/30(木) 21:15:33.50 ID:???
さすが2chである。
生産性のかけらもないw
ゴミはいくら集まってもゴミだわ

392 :NAME IS NULL:2011/06/30(木) 22:18:38.61 ID:???
そうですね!先輩!

393 :NAME IS NULL:2011/07/01(金) 20:01:36.77 ID:???
ゴミも今では資源

394 :NAME IS NULL:2011/07/01(金) 20:12:57.72 ID:???
場所や形を変えてもゴミはゴミ(放射性廃棄物)

395 :NAME IS NULL:2011/07/01(金) 21:48:36.18 ID:???
ヘドロから肉を作ることができる世の中だというのに

396 :NAME IS NULL:2011/07/01(金) 22:02:58.56 ID:???
放射性廃棄物はゴミではない。
処理の方法も確立されてない、やっかいなもの。


397 :NAME IS NULL:2011/07/03(日) 08:35:03.37 ID:KjioPXpn
それって態度の大きい教えてくんと同じじゃないか!

398 :NAME IS NULL:2011/07/04(月) 00:20:14.36 ID:KUzfu3CJ
CREATE TABLE table1 (
col1 bigint ARRAY[2] NOT NULL DEFAULT '{0,0}'
);

↑のテーブルの配列に0xAAAAAAAAAAAAAAAAをinsertしたいのですが、どのようなSQLを書けばいいでしょうか?
よろしくお願いします。


399 :NAME IS NULL:2011/07/04(月) 10:40:29.37 ID:???
INSERT INTO table1 VALUES (ARRAY[get_byte(decode('FFFFFFFF', 'hex'),0), get_byte(decode('FFFFFFFF', 'hex'),0)];

こんな感じ?

400 :NAME IS NULL:2011/07/04(月) 10:41:21.00 ID:???
あ、FFFF・・・じゃなくてAAAA・・・か
0x取っちゃまずかったかな?

401 :NAME IS NULL:2011/07/04(月) 10:56:40.57 ID:???
ああこれbyteaを長さ分intに変換しないとならんか

402 :NAME IS NULL:2011/07/04(月) 20:00:53.35 ID:???
いい加減
range between
がちゃんと動くようにしてくれ

403 :NAME IS NULL:2011/07/05(火) 13:19:33.04 ID:???
こんなとこで文句言ってないで
自分で実装してみたらどうだ?
お前さんが使ってるのはオープンソースだぞ?

404 :NAME IS NULL:2011/07/05(火) 18:43:59.59 ID:???
いや
マニュアル上できるって書いてて
やってないから

405 :NAME IS NULL:2011/07/05(火) 20:45:23.16 ID:6j9mrdxt
結論:資料の豊富なMySQLを使うべき

406 :NAME IS NULL:2011/07/05(火) 21:34:47.08 ID:???
いつからオープンソースがマニュアルの記述を意味するようになったんだ?
ソース読めよ

407 :NAME IS NULL:2011/07/05(火) 22:20:35.89 ID:92Awo2ly
>>405
今となっては最高のジョークだな

408 :NAME IS NULL:2011/07/06(水) 06:11:35.66 ID:???
>>406
偉そうに言うなら
お前作ってよ

409 :NAME IS NULL:2011/07/07(木) 20:51:37.98 ID:???
数字の入ったテーブルどうし(行数は同じに揃えてある)の各行を掛け算して、
ひとつのテーブルを得たいのだが、そんなことって1クエリだけでできる?

410 :NAME IS NULL:2011/07/08(金) 00:40:09.63 ID:???
>>409
説明不足で何がやりたいのか分からない。いくらなんでも
CREATE TABLE multi AS SELECT t.i * s.j AS k FROM t, s;
じゃないでしょ?

411 :NAME IS NULL:2011/07/08(金) 01:05:15.78 ID:???
たぶん rownum 的な考え方なんだろうなぁ。

412 :NAME IS NULL:2011/07/08(金) 01:17:16.55 ID:???
各行がそれぞれ相関があるなら
select table_a.value * table_b.value as result from table_a left join table_b on table_a.hoge = table_b.fuga;
じゃないの

413 :NAME IS NULL:2011/07/13(水) 09:32:39.99 ID:???
いい加減
plpgsqlでの関数定義
がちゃんと動くようにしてくれ

414 :NAME IS NULL:2011/07/13(水) 15:32:02.84 ID:???
PostgreSQL9.0.4で
WARNING: there is already a transaction in progress
ってログに書き込みがずーっと続くんだけど、なんでだろ。

MovableTypeの為に入れてるDBD:Pgかなぁ?

415 :NAME IS NULL:2011/07/13(水) 16:57:45.09 ID:???
beginしといてcommitしてないタコプラグインがいるとかじゃねーの?

416 :414:2011/07/13(水) 21:48:30.84 ID:???
>>415
サンクス。



つか、MT5でPostgreSQLのサポート対象外になってんのに気付かずにPostgreSQL使ってる時点でもう知らん。
俺の管理してるサーバーじゃねーし。

Perlのバージョン落とすなり何なりで対応してくれや。
んなのこっちに投げるなよな。


417 : 忍法帖【Lv=6,xxxP】 :2011/07/14(木) 00:58:25.60 ID:???
ふぅー

418 :NAME IS NULL:2011/07/19(火) 15:19:05.69 ID:esCP6IX8
ユーザー作成する時にNo file suchになるんですけど、

419 :NAME IS NULL:2011/07/19(火) 15:59:17.68 ID:???
パス通ってないんだろ
/usr/local/pgsql/bin/createuser
ってフルで入れて御覧

420 :NAME IS NULL:2011/07/20(水) 05:41:08.97 ID:TRRE0hmK
>>419
No such file or directory っていう表示がでます。

421 :NAME IS NULL:2011/07/20(水) 08:27:11.01 ID:???
>>420
ユーザの作成前にPostgresのインストールが必要だぞ。
何を使って、どこにインストールした?

422 :NAME IS NULL:2011/07/20(水) 13:35:43.50 ID:???
この辺が参考になるかも。


http://lets.postgresql.jp/map/install

423 :NAME IS NULL:2011/07/21(木) 11:01:46.61 ID:???
全文検索エンジン「Ludia」はすでに死んだのですか?

424 :NAME IS NULL:2011/07/22(金) 16:51:55.77 ID:???
>>420
postgresユーザでやれば?

>>419
ソースからのインストール前提みたいな空気がイヤ。

425 :NAME IS NULL:2011/07/26(火) 15:08:12.14 ID:???
>>424
ソースから入れたんじゃ無けりゃ、大抵はパス通ってるとこに
入ってるんじゃないの?/usr/binとか
そう思ってあえて書いてないわけだが

426 :NAME IS NULL:2011/07/26(火) 17:51:17.63 ID:???
むか〜し のPostgreSQL-CE 7.4 Silver っての持ってんだけど、
OSS-DB の GOLDが受験できるみたいですね。

皆さんはどうするんですか?

427 :NAME IS NULL:2011/07/27(水) 00:57:35.25 ID:zdIJsTw6
Ubuntuの端末でインストールしました。

428 :NAME IS NULL:2011/07/27(水) 01:15:55.72 ID:???
>>427
インストールできてないんじゃない?
まずユーザを作ろうとするまでに実行した操作手順や入力したコマンドを教えて

429 :NAME IS NULL:2011/07/27(水) 15:21:58.69 ID:ACg1rbJy
ルートでsudo apt-get install postsql
sudo passwd postgresql
パスワードを入力しました。
su postgres
パスワードを入力しました。
createdb testdb

createdb testdb
createdb: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
$ exit
labishinjuku@labishinjuku:~$ createdb testdb
createdb: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
labishinjuku@labishinjuku:~$ sudo psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
こんなエラーが発生しました
ご回答お願いします。

430 :NAME IS NULL:2011/07/27(水) 16:36:40.28 ID:???
インストールしたら、initdbして、pg_ctl start して
createuser して createdb しないとね。

どっから説明したもんだか・・・

431 :NAME IS NULL:2011/07/27(水) 16:45:20.28 ID:???
まあとにかく、オプションはヘルプ(--help)見てもらうとして
postgresユーザーが書き込めるディレクトリ決めて
initdb --pgdata=そのディレクトリ --encoding=UTF-8 --no-locale
そのディレクトリの下のpostgres.confを書き替えて
pg_ctl --pgdata そのディレクトリ start
してからcreatedbしてごらん

432 :NAME IS NULL:2011/07/27(水) 16:49:35.89 ID:???
>>429
つか何を参考に作業してる?

433 :NAME IS NULL:2011/07/27(水) 17:01:20.56 ID:???
>>429
sudo apt-get install postsql
の後にしなくてはいけないのが、データベースの初期化
ubuntu使って無いのでちょっと違ってるかもしれないけど、
sudo /etc/init.d/postgresql initdb
でできるんじゃないかな?

次にサーバの起動
sudo /etc/init.d/postgresql start
そうすると、サーバに接続できるようになって、
>createdb: could not connect to database postgres:
などというエラーにはならなくなるはず

434 :NAME IS NULL:2011/07/27(水) 17:08:56.39 ID:???
createuser で
Shall the new user be allowed to create databases? (y/n) y
として作成し
あとからデータベースを作成できなくするには
どうすればいいのですか?

435 :NAME IS NULL:2011/07/27(水) 17:13:23.55 ID:???
ALTER USER username NOCREATEDB
とかかな

436 :NAME IS NULL:2011/07/27(水) 17:18:04.88 ID:???
あー、NOSUPERUSER も入れないと何でもできちゃうかな

437 :NAME IS NULL:2011/07/27(水) 17:48:54.92 ID:???
>>435
>>436
出来ましたサンクス!!

438 :NAME IS NULL:2011/07/27(水) 22:44:34.96 ID:ACg1rbJy
sudo /etc/init.d/postgresql-8.3 startを入力すると↓なります。
* Starting PostgreSQL 8.3 database server * Error: The cluster is owned by user id 110 which does not exist any more
[fail]
どうすればいいですか?
ご回答お願いします。

439 :NAME IS NULL:2011/07/27(水) 23:47:40.31 ID:???
>>438
http://comments.gmane.org/gmane.linux.debian.jp.user/19531
>ユーザpostgresがない状態になっているように見えます。そのために
>/var/lib/postgresql/8.3/main の所有者ユーザが不明でエラーが
>発生しているのではないかと。

440 :NAME IS NULL:2011/07/27(水) 23:53:16.04 ID:???
>>438
ひとつ言い忘れました。エラーメッセージが分かっていれば、
それで検索すると原因と対策がすぐに見つかる事が多いです。
「Error: The cluster is owned by user id」でググって
4番目が上記ページでした。

441 :NAME IS NULL:2011/07/28(木) 01:28:30.28 ID:???
ググるという言葉があるがGoogle以外はダメ検索エンジンなのですか。
それとも検索することをググるで代表させているだけなのですか。

442 :NAME IS NULL:2011/07/28(木) 04:26:36.64 ID:???
>>438
postgresというユーザを、自分で削除した?
消してしまったのだとしたら、とりあえず
sudo useradd -u 110 postgres
とすると再作成できるはず

>>441
>それとも検索することをググるで代表させているだけなのですか。
こっちが正解

443 :NAME IS NULL:2011/07/28(木) 22:36:03.66 ID:???
こんなんに任せてヤマダ電機だいじょうぶなん

444 :NAME IS NULL:2011/08/03(水) 02:51:08.24 ID:???
PostgreSQL関連の書籍がすくなくね。MySQLに圧倒されている。

445 :NAME IS NULL:2011/08/03(水) 07:54:11.47 ID:???
postgresはオワコン

446 :NAME IS NULL:2011/08/03(水) 07:59:18.77 ID:???
馬鹿には使えないからね

447 :NAME IS NULL:2011/08/03(水) 10:33:59.78 ID:???
はんぱなく速くなったからどうやら某DB会社がmysqlを
表に出して、情報操作してるらしい。

140倍速くなったらしいしw

448 :NAME IS NULL:2011/08/03(水) 23:34:16.88 ID:???
まじか
うそくせー

つかInnoDBもういらない
ポスグレのほうがいいと思うんだ

449 :NAME IS NULL:2011/08/04(木) 00:30:38.48 ID:wLTN6z0J
ttp://osb.sraoss.co.jp/event_seminar/2011/pgpool-II-V3.1.pdf

の9ページ見るとびっくりしますよ。

トンドモな人 ならわかるんだけど、あの石井さんだかんね。
どうやら 遅かったクエリが激速になったって感じかな。
全部が全部 速くなったわけではないと思う。
どでしょ。

たしかにVer.9以降 WEBのニュースで見なくなったような...

450 :NAME IS NULL:2011/08/04(木) 07:19:52.68 ID:???
今まで悪い検索プランが選ばれていたクエリで、適切なプランが選ばれるようになっただけの気がする。
数百万件のデータの結合なら、ちょっと失敗すれば検索時間は極端に遅くなってしまう。

451 :NAME IS NULL:2011/08/04(木) 10:34:38.37 ID:???
はげしく同意

452 :NAME IS NULL:2011/08/04(木) 11:47:34.86 ID:???
今までが悪すぎたって感じか

453 :NAME IS NULL:2011/08/04(木) 13:51:22.98 ID:???
結合の場合はアルゴリズムの改良が大きい
そして適切にそのアルゴリズムを採用するオプティマイザーの改良のたまものだろ

454 :NAME IS NULL:2011/08/04(木) 14:20:44.09 ID:???
クエリでどのインデックスを使用するか明示的に指定できるRDBMSってあるの?

455 :NAME IS NULL:2011/08/04(木) 14:55:00.32 ID:???
これでもう mysqlに速度で負けてるってとこはないの?

456 :NAME IS NULL:2011/08/04(木) 17:01:48.39 ID:???
>>454
Oracleはヒント句っていうのがあって、使用するインデックスやアルゴリズムを指定できる。

457 :NAME IS NULL:2011/08/04(木) 19:12:50.27 ID:???
サンクス
カメラにもAFとMFがあるように手動で操作できるのはいいよね。
RDBMSの思想からは反するんだろうけどさ。

458 :NAME IS NULL:2011/08/04(木) 23:15:36.71 ID:???
>>453
joinなんてそうそう画期的な新しいアルゴリズムが出てくるもんじゃないだろ。
もし新しいアルゴリズムで140倍も速くなったんだとしたらB木並の大発明だわ。

459 :NAME IS NULL:2011/08/05(金) 08:13:24.40 ID:???
>>450
だね。LIKEで統計情報の扱いが変更されたあたりの影響な気がする。
デフォルトのパラメータ設定が改善された、とは言えるんだけど、例としては微妙だな。

460 :NAME IS NULL:2011/08/05(金) 08:15:16.61 ID:???
>>455
8.4くらいから、PostgreSQLのほうがMySQLよりも速いよ。
特に、CPUコア数が増えたときの伸びが段違いに良い。

461 :NAME IS NULL:2011/08/05(金) 10:42:09.26 ID:???
抜いた抜かれたを繰り返してはいるけど
いま最新版同士だと多コアの伸びはPostgreSQLがリード。

でもOracleと比べるとどんぐりの背比べなのが悲しい

462 :NAME IS NULL:2011/08/05(金) 11:58:05.08 ID:???
Oracleはそんなに違うのか...

463 :NAME IS NULL:2011/08/05(金) 12:40:56.67 ID:???
値段が・・・

464 :NAME IS NULL:2011/08/05(金) 13:24:33.87 ID:???
>>460
いい報告 どうもです。
でもIT ニュースでは不思議にmysqlしかないんだよな。
なんで?

>>463
わはは
でも今は11gR2が無料でダウンロード出来るよ。
CentOS5.6に普通に入った。
やっぱOracleの方がまだ速いんですか。

465 :NAME IS NULL:2011/08/05(金) 13:38:27.27 ID:???
>>464
>でも今は11gR2が無料でダウンロード出来るよ。
>CentOS5.6に普通に入った。
>やっぱOracleの方がまだ速いんですか。

無償なんだから自分で試そうとは思わないのかね?

俺が作っているぐらいの規模だと機能・性能ともにどちらでも十分。
でもとらぶったときにお客に言い訳するには Oracle のブランドが必要。

466 :NAME IS NULL:2011/08/05(金) 13:45:55.43 ID:???
客騙しておいていい気なもんだな

467 :NAME IS NULL:2011/08/05(金) 14:00:29.19 ID:???
普通の客ならOracle選ぶだろ

468 :NAME IS NULL:2011/08/05(金) 16:12:46.81 ID:???
まあお客側の担当もトラブルを上層部に報告するには
Oracle のブランドが必要だからな。

>>466 は、単なる素人。

469 :NAME IS NULL:2011/08/05(金) 16:47:40.17 ID:???
上司騙しておいていい気なもんだな

470 :NAME IS NULL:2011/08/05(金) 16:51:04.00 ID:???
そんなことは客先の担当者に言ってくれ。

471 :NAME IS NULL:2011/08/05(金) 19:40:27.12 ID:???
>>468の最後にカチンときたんだな>素人さん

472 :NAME IS NULL:2011/08/05(金) 21:16:22.86 ID:???
仕事取られまいと必死な奴がだいぶ前からスレに張り付いてる。

473 :NAME IS NULL:2011/08/05(金) 22:33:36.93 ID:???
そうだったのかw

474 :NAME IS NULL:2011/08/05(金) 23:28:14.03 ID:???
相変わらず生産性のないスレで笑わしてもらった

475 :NAME IS NULL:2011/08/06(土) 00:29:14.91 ID:???
クソも食えば栄養になる

476 :NAME IS NULL:2011/08/06(土) 02:17:08.13 ID:???
営業上インパクトある数字が必要って解ってるから140倍みたいな数字を出してるんでしょ
技術者はベンチマーク取るからそういう数字に誤差やカラクリがあるって解るけど
導入時の資料作成には(場合によっては)140倍速いですってのがあると売り込みやすい

477 :NAME IS NULL:2011/08/06(土) 03:14:49.40 ID:???
>>476
しかし、書いているのは石井さんだよ。

478 :NAME IS NULL:2011/08/06(土) 03:38:18.47 ID:???
石井さんが書いてたらなんでも信用するのかお前は

479 :NAME IS NULL:2011/08/06(土) 03:53:09.68 ID:???
サポートを生業にしてるからそりゃ宣伝するわな。
ほかに比べて料金高すぎだがなw

480 :NAME IS NULL:2011/08/06(土) 05:00:55.19 ID:???
石井さんだから書いてるんじゃねむしろ
採用されるためにはハッタリも必要ってのあるだろうし

481 :NAME IS NULL:2011/08/06(土) 05:04:09.63 ID:???
なにがいいたいんでちゅか〜

482 :NAME IS NULL:2011/08/06(土) 06:12:36.68 ID:???
これがおまいらのメディアレテラシーか

483 :NAME IS NULL:2011/08/06(土) 06:13:10.01 ID:???
これがおまいらのメディアレテラシーか

484 :NAME IS NULL:2011/08/06(土) 10:15:05.80 ID:???
石井さんはポスグレ厨ですからねw
(悪口じゃないよ)

改修され続けてるって事を言いたかったんだろうね。
pgpoolも本体に入れちゃえばいいのに。

485 :NAME IS NULL:2011/08/06(土) 12:26:51.86 ID:???
200万レコードの中から下手な検索の場合には数万件がヒットするのでSQL文でLIMIT 100と付けています。
しかし、生のヒットした数が知りたい場合も多く、その場合、
SELECT count(*) FROM でLIMITなしでもう一度クエリーしないといけないでしょうか。

486 :NAME IS NULL:2011/08/06(土) 12:29:54.11 ID:???
そうれす

487 :NAME IS NULL:2011/08/06(土) 15:46:11.10 ID:???
何件あるのかわからんならしかたないわな

488 :NAME IS NULL:2011/08/07(日) 10:06:23.74 ID:???
そんなあなたに count(*) OVER() 。

489 :NAME IS NULL:2011/08/07(日) 13:04:19.83 ID:???
>>488
対応は8.4以上、でもすばらしい。

490 :NAME IS NULL:2011/08/07(日) 13:52:09.08 ID:???
>>488
う わかんねっす

491 :NAME IS NULL:2011/08/07(日) 14:27:04.54 ID:???
count(*) over()はリミット前の件数か。φ(..)

492 :NAME IS NULL:2011/08/07(日) 19:48:25.44 ID:???
2つのいずれかのカラムに検索文字列があるかどうかを知りたいとき

SELECT * FROM table WHERE col1+col2 LIKE '%string%';

col1とcol2を結合するにはどのような演算子を使えばいいのですか

493 :NAME IS NULL:2011/08/07(日) 19:52:42.04 ID:???
>>492
SELECT * FROM table WHERE col1 LIKE '%string%' or col2 LIKE '%string%';

494 :NAME IS NULL:2011/08/08(月) 03:29:43.11 ID:???
ちなみに結合は || 。これが標準のはずなんだがな……。

495 :NAME IS NULL:2011/08/08(月) 09:46:51.11 ID:???
>>492
>2つのいずれかのカラムに検索文字列があるかどうかを知りたいとき
>SELECT * FROM table WHERE col1+col2 LIKE '%string%';

col1 = 'abcs', col2 = 'tringdef' とかもヒットしちゃうけどいいの?

496 :NAME IS NULL:2011/08/08(月) 11:41:46.53 ID:???
>>495
それでもokです。

>>493
下記でうまくいきました。thx!
SELECT * FROM table WHERE col1 LIKE '%string%' or col2 LIKE '%string%';

>>494
下記は何もヒットが出なくなりました。??
SELECT * FROM table WHERE col1||col2 LIKE '%string%';

497 :NAME IS NULL:2011/08/08(月) 12:39:47.87 ID:???
>>496
||の結合は、col1 = 'abcs', col2 = 'tringdef'のとき
'abcstringdef' が含まれるものを検索になるけど
そういうデータはあるの?

498 :NAME IS NULL:2011/08/08(月) 19:36:18.00 ID:???
ありません。
しかし、なぜそういうことに。

499 :NAME IS NULL:2011/08/08(月) 20:11:38.32 ID:???
>>498
col1とcol2のどちらかがnullだったんじゃないの?

500 :NAME IS NULL:2011/08/09(火) 12:01:32.84 ID:???
元の質問の結合って文字列の連結の話じゃないの?
文章もそうだし、+ 使ってるからそう見えるけど。
文字列の連結は、標準SQLだと ||

501 :NAME IS NULL:2011/08/09(火) 23:38:50.04 ID:???
文字列連結する時nullの可能性あるならCOALESCEあたりでnullをブランクに置き換えないと全部nullが返る

502 :NAME IS NULL:2011/08/09(火) 23:41:01.99 ID:???
そんなあなたに concat() @9.1

503 :NAME IS NULL:2011/08/12(金) 10:39:50.66 ID:???
会社の蔵書検索ページを作りたいのですが
書名(title)、出版社(publisher)、著者(auther)、ISBN番号(isbn)で入力欄を作る予定です。
検索時に、どの入力欄がいくつが埋まるのかが検索毎に変わります。
そのような場合のSELECT文の作り方がわかりません。

WEHRE title LIKE '%$1%' && ....

ですが、書名が空白の場合もあります。
入力に応じて、SELECT文をどのように作ったらいいのでしょうか。

504 :NAME IS NULL:2011/08/12(金) 11:54:32.59 ID:???
フリーソフトを使った方が幸せになれるw

505 :NAME IS NULL:2011/08/12(金) 13:20:14.48 ID:???
>>503
投げる前に組み立てろよ

506 :503:2011/08/12(金) 15:15:49.97 ID:???
日本語が下手なので、質問し直し。

データベースには、書名、出版社、著者、ISBN番号はいずれもデータが入っている。

検索ページはWEBページ上に作る。TEXT入力欄を4箇所配置する。
検索者は、上記4項のうち、書名もしくは出版社等、分かっているものしか入力できないので、どの項目に検索単語が入力されているかは、検索毎に変わる。

入力のある・なしの組み合わせは2の4乗になる。

このような場合に、SELECT文は、どう書き下すように作るのでしょうか。

全項目が埋まっていれば、アンドを使って簡単に書けるのですが。。。


507 :NAME IS NULL:2011/08/12(金) 15:30:38.13 ID:???
お前馬鹿だろ>>>503
こんな馬鹿な質問するようじゃ、そもそも基礎が全く無い
まず本なりセミナーなりで一から勉強しろ
じゃないと下らない質問繰り返して赤っ恥をかき続けるだけで終わるぞ

508 :503:2011/08/12(金) 15:35:22.43 ID:???
なんか解決しました。

TEXT欄が空白(NULL)の場合でも、空白でない場合でも、なんでもいいからandで繋げれば良かっただけです。

title like '%%' and publisher like '%%' and .... ←カラムが空白の場合

単純に並べるだけでした。

509 :NAME IS NULL:2011/08/12(金) 15:45:23.50 ID:???
こういうSQLで検索が糞遅いシステムができ上がるんだな。

510 :NAME IS NULL:2011/08/12(金) 15:49:56.96 ID:???
ねじれてないか。

511 :NAME IS NULL:2011/08/12(金) 19:06:09.95 ID:???
>>508
本当にANDでいいのか?

512 :NAME IS NULL:2011/08/12(金) 23:32:02.43 ID:???
ばかばっかだなこのスレ。

513 :NAME IS NULL:2011/08/15(月) 00:51:15.74 ID:???
画面から入力されたデータを確認しないのかい?
なんか怖いんだけど。

会社名に数字が入ったりしてたら?
ISBNに全角が入ったりしてたら?

514 :NAME IS NULL:2011/08/15(月) 01:08:16.85 ID:???
>>513
>画面から入力されたデータを確認しないのかい?

これは重要なことだけど...

>会社名に数字が入ったりしてたら?
>ISBNに全角が入ったりしてたら?

これらはヒットしないだけで問題ないだろ。

むしろ SQL インジェクション等を心配すべき。

515 :NAME IS NULL:2011/08/15(月) 08:46:09.02 ID:???
>会社名に数字が入ったりしてたら?
>ISBNに全角が入ったりしてたら?



>画面から入力されたデータを確認しないのかい?

の部分集合じゃないのか?

516 :NAME IS NULL:2011/08/16(火) 01:09:25.03 ID:???
入れてはいけないデータは入れてはいけない。
単純だけど後で楽するよ。

517 :NAME IS NULL:2011/08/16(火) 23:38:18.60 ID:???
以下の環境でcygtermからpsqlを実行すると反応が無くなってしまいます。
(Cygwin Bash Shellからなら正常に動作します。)
Windows7 64bit SP1
PostgreSQL 9.0.4, compiled by Visual C++ build 1500, 64-bit
cygterm(teraterm) 4.70
GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)
psqlをうまく使えるようにする方法があれば教えてください。


518 :NAME IS NULL:2011/08/18(木) 18:54:41.13 ID:???
プログラム側で必要な検索条件だけでSQL作れよ
なんでぜんぶSQLで吸収しようとするんだ

519 :NAME IS NULL:2011/08/20(土) 14:17:17.21 ID:???
WHERE ($1 IS NULL OR title LIKE '%' || $1 || '%') とかやると
けっこういい感じに動いてくれたりもするけどね。

520 :NAME IS NULL:2011/08/20(土) 20:31:50.74 ID:???
ちゃんとチェックしてるもんね

521 :NAME IS NULL:2011/08/29(月) 18:24:26.01 ID:???
PostgreSQLで文字をエスケープするpg_escape_string() はPHPにあるけれど、perlでも同等のものはありますか。

522 :NAME IS NULL:2011/08/30(火) 15:49:56.36 ID:???
>>519
>WHERE ($1 IS NULL OR title LIKE '%' || $1 || '%')
これって$1が空文字列の時に展開されると
WHERE ( IS NULL OR title LIKE '%'%')
ってならないの??

523 :NAME IS NULL:2011/09/01(木) 14:52:06.47 ID:???
>>522
空文字列=''
だから、いうなれば
WHERE ('' IS NULL OR title LIKE '%' || '' || '%')
ってなるよ?


524 :NAME IS NULL:2011/09/01(木) 18:29:23.53 ID:???
プログラム側で、SQLを組み立てたほうがいいんじゃないの

if textbox1.text = "" then
else
sql = sql & " 書名 = '" & textbox1.text & "'"
end if

などのように。


525 :NAME IS NULL:2011/09/01(木) 18:34:04.02 ID:???
あんな下らない質問を相手にするお前らに呆れる

526 :NAME IS NULL:2011/09/01(木) 22:46:13.29 ID:???
そんなくだらない発言をするお前に呆れる

527 :NAME IS NULL:2011/09/01(木) 23:03:10.96 ID:???
>>526
そんなくだらない発言をするお前に呆れる



528 :NAME IS NULL:2011/09/01(木) 23:39:07.38 ID:???
餓鬼は放置で

529 :NAME IS NULL:2011/09/02(金) 10:18:00.71 ID:???
くだらない質問でも、答えてあげたら。

出し惜しみするほどのものじゃないし。

530 :NAME IS NULL:2011/09/02(金) 13:45:17.01 ID:???
スレは荒れるし本人のためにもなりません

531 :NAME IS NULL:2011/09/02(金) 19:59:12.94 ID:???
前、ここで質問したことあるけど、
結局、知らないことは、答えられない連中だしな。

532 :NAME IS NULL:2011/09/02(金) 23:29:42.18 ID:???
>>523
なるほど。シングルクオートが自動的に付加されるってわけですか。
ちょっと違和感あるな

533 :NAME IS NULL:2011/09/03(土) 00:20:24.11 ID:???
>>531
>結局、知らないことは、答えられない連中だしな。

そりゃ当たり前だと思うが。
知らん奴らの適当な答えでも欲しいのか?

534 :NAME IS NULL:2011/09/03(土) 09:04:00.30 ID:???
豪語するわりには、たいして知らないってことだろ。

535 :NAME IS NULL:2011/09/03(土) 11:21:54.94 ID:???
誰が豪語してたの?

536 :NAME IS NULL:2011/09/03(土) 14:27:46.59 ID:???
オーストリア人

537 :NAME IS NULL:2011/09/03(土) 15:09:52.82 ID:???
墺と豪を間違えてないか?

538 :NAME IS NULL:2011/09/03(土) 16:01:32.43 ID:???
気にしないw

539 :NAME IS NULL:2011/09/03(土) 19:30:13.35 ID:???
Win x86-64のOne click installerて落とせる?
なんか試用版とかに飛ばされるんだけど
zip版は落とせるけどインストールの解説すらないし

540 :NAME IS NULL:2011/09/04(日) 04:17:46.27 ID:???

http://www.enterprisedb.com/products-services-training/pgdownload#windows

http://get.enterprisedb.com/postgresql/postgresql-9.0.4-1-windows_x64.exe

541 :NAME IS NULL:2011/09/04(日) 11:21:53.01 ID:???
>>540
直リンサンクス

542 :NAME IS NULL:2011/09/06(火) 12:14:20.71 ID:???
>>521
libpqのバージョンによる

543 :NAME IS NULL:2011/09/07(水) 01:19:01.40 ID:ob/8JfxO
すみません、DBが読み込めなくなり、
/etc/init.d/postgresql restart
で解決しようとしたら、
bash: /etc/init.d/postgresql: Permission denied
となってしまいます。
postgres ユーザー、 root ユーザー共に駄目みたいです。
これを解決する方法はありませんか?
所有者変更、パーミッション変更した後も同様のメッセージが出ます。

544 :NAME IS NULL:2011/09/07(水) 01:36:40.86 ID:???
>>543
記載内容が全て正しいように見えません。
環境、エラー内容、実際にやったことなど、きちんと報告してください。
そもそもDBが読み込めなくなったってどういうことですか?

545 :NAME IS NULL:2011/09/07(水) 02:01:34.99 ID:ob/8JfxO
>>544
有難う御座います。
サイトがクラッシュし、エラーをチェックしたところ、
php のほうに、エラーでDBの呼び出し失敗の記述があり、アパッチ再起動とかも色々試したのですが、上記手順も含めて解決できなかったのです。
もう少し詳しい状況を確認してからまた書き込みます。
ハッキングとかで書き換えられたとかの可能性もあるんでしょうか。
情報漏えいとか怖いな


546 :NAME IS NULL:2011/09/07(水) 02:59:29.40 ID:???
>>545
とりえあず鯖止めたら? rootkit入ってたらもう手遅れに近い。

547 :NAME IS NULL:2011/09/07(水) 03:06:15.94 ID:???
多分ご本人も状況を把握できてない。
断片情報で一々レスしてると、却って混乱に拍車をかけるだけかも。
状況の整理が出来るまで待った方がよろしいかと。

548 :NAME IS NULL:2011/09/07(水) 03:12:45.91 ID:???
情報漏洩を心配するやつが2chで解決策を求めようとするか?


549 :NAME IS NULL:2011/09/07(水) 09:57:44.68 ID:???
バックアップを取っていなかったということなんだろね。

みなさんは、
バックアップを自動実行するツールは何をつかってますか?

550 :NAME IS NULL:2011/09/07(水) 10:11:33.53 ID:???
>>549
cron

551 :NAME IS NULL:2011/09/07(水) 23:19:02.88 ID:???
改ざん検知のソフトくらい入れろよ屑。
切り分けできない素人並みのスキルw

552 :NAME IS NULL:2011/09/08(木) 02:47:19.83 ID:???
>>551
改ざんされてるかもしれない状況で改ざん検知のソフトを入れると、問題の切り分けが可能になるの?

553 :NAME IS NULL:2011/09/08(木) 08:05:47.47 ID:???
>>552
事前に入れとけって話だろ
後の祭りだけど、後学のためにはなる

554 :NAME IS NULL:2011/09/08(木) 12:38:25.81 ID:???
まあ実際は単に設定ミスのトラブルなんだろうけど
見当違いの対策をしてわけがわからなくなってるとこだろうな

555 :NAME IS NULL:2011/09/09(金) 14:20:54.63 ID:???
>>553
だから>>551は素人以下だって話だろ

556 :NAME IS NULL:2011/09/10(土) 03:27:58.62 ID:STaf8KKW
>>555
お前、言っちゃ悪いけど馬鹿だろ

557 :NAME IS NULL:2011/09/10(土) 05:10:14.72 ID:???
起きてしまったトラブルに対して、なんでアレやってなかったの?なんていいだすやつはいらんだろ。
解決した後ならいいが。

558 :NAME IS NULL:2011/09/10(土) 05:11:45.19 ID:???
連レスすまんが、>>551は今から改ざん検知のソフトを入れることで切り分けができるって書いてんだろ。
>>553みたいに裏を読む必要はないわ。自演かと思う。

559 :NAME IS NULL:2011/09/10(土) 07:38:18.81 ID:???
>>557-558
無理やり誤解して貶めて叩いても、お前が馬鹿にしか見えないんだが。
>>553は裏読みでも何でもない、ごく普通の解釈だろ。
お前みたいに無駄に難癖つけても、それこそ何の助けにもならないぞ。
お前は一体何故そんなに必死なの?

560 :NAME IS NULL:2011/09/10(土) 10:13:43.47 ID:???
>>559が凄い勢いで必死な件

561 :NAME IS NULL:2011/09/10(土) 14:35:38.53 ID:???
次回同じ失敗を繰り返すような
ほんものの馬鹿になってほしくないから
言ってあげたのに・・・
ほんとここの連中はくずですねえ(笑)

どうせ起動しない理由も自分自身が原因の
くだらない理由なんでしょ

562 :NAME IS NULL:2011/09/10(土) 15:21:05.49 ID:???
>>561は何故ここまで上から目線になろうと必死なのか

563 :NAME IS NULL:2011/09/10(土) 15:45:15.28 ID:???
ここ以外で上から目線になれる機会が無いんだろ

564 :NAME IS NULL:2011/09/10(土) 17:14:06.72 ID:???
内容の薄いスレですね

565 :NAME IS NULL:2011/09/10(土) 19:39:14.53 ID:???
「薄い」とかやめろよ

566 :NAME IS NULL:2011/09/10(土) 20:57:57.34 ID:???
>>565
そんな言い方よせよ。>>564は「内容の薄いスレですね。これからはボクが充実したスレにします」って言ってるんだから。

567 :NAME IS NULL:2011/09/10(土) 21:00:24.29 ID:???
教えてもらう内容の薄いスレと言ってるのだ。

568 :NAME IS NULL:2011/09/10(土) 21:09:19.06 ID:???
煽ってばかりで内容が薄いですよね。

569 :NAME IS NULL:2011/09/10(土) 21:29:53.79 ID:???
おまえだろうが

570 :NAME IS NULL:2011/09/10(土) 22:55:26.97 ID:???
>>543
ざまぁw

571 :NAME IS NULL:2011/09/10(土) 23:19:35.25 ID:???
DBの話なのにアパッチ再起動とかこいつの行動意味わかんないわぁ。DB起動できなくなったらDB単体から調査していけよなぁ。普通はログ出力してるはずなのにそれすら報告しないとかないわぁ・・・客だったら顔も見たくないわぁ。

572 :NAME IS NULL:2011/09/11(日) 00:55:35.96 ID:???
某所のサーバ管理を手伝っているけど、
そこの管理者がよく >>543 >>545 みたいな
問い合わせを送ってくるから、半分キレながらエスパーしてる。
MLの怖いオジサン達の気持ちが分かったわ。
内容無くてごめんな。

573 :NAME IS NULL:2011/09/11(日) 01:22:08.90 ID:???
日本語が通じない客は困るんだよ。
小学生に聞くつもりでYESorNOの回答リスト
作ったことがあるが、>>543なんて大きな幼稚園児だよ。

574 :NAME IS NULL:2011/09/11(日) 02:55:30.25 ID:???
逆にこういうレベルが居るからお前等に仕事があるんじゃね

575 :NAME IS NULL:2011/09/11(日) 13:58:15.69 ID:???
薄いという言葉に敏感なやつがいるな

576 :NAME IS NULL:2011/09/11(日) 16:24:52.34 ID:???
まあいろいろあるけど、何かが起きた時にまず
自分がやったことを疑わないで、他のせいにしようとするから
何も調べてないうちからウイルス等を疑うようになるんだな。

577 :NAME IS NULL:2011/09/11(日) 23:58:38.47 ID:PE57i2Y8
9.1.0 来てるね。
http://www.postgresql.org/ftp/source/v9.1.0/

578 :NAME IS NULL:2011/09/12(月) 01:15:05.61 ID:???
http://www.postgresql.jp/
ここではまだだね。

579 :NAME IS NULL:2011/09/12(月) 11:10:15.45 ID:???
9.1はもうすぐですか。
レプリケーション設定などが簡単になるようで、便利ですね。
レプリの設定は苦労したからなぁ。

580 :NAME IS NULL:2011/09/12(月) 12:08:51.04 ID:8E9Cw67j
苦労って程じゃない

581 :NAME IS NULL:2011/09/12(月) 15:53:24.44 ID:???
Linux版は比較的簡単だけど、
Win版のレプリはLinux版と違うからね。
なにせ情報が少ないし。

9.1 はツールなどで簡単設定できればいいけど。

582 :NAME IS NULL:2011/09/15(木) 15:08:23.75 ID:???
石井さんのpgpoolのセミナあるよ。
無料だって。
早速 申し込みました。
ttp://www.sraoss.co.jp/event_seminar/2011/1005.php


583 :NAME IS NULL:2011/09/22(木) 03:02:14.73 ID:???
SQLを出して、タイムアウトで失敗するということはないですか?

584 :NAME IS NULL:2011/09/22(木) 04:05:25.03 ID:LaI+LSkf
はいダウト、こいつにかまうな

585 :NAME IS NULL:2011/09/22(木) 17:04:09.85 ID:???
9.1、リリースされたんだね

586 :NAME IS NULL:2011/09/22(木) 21:19:03.08 ID:???
PostgreSQL 9.1 の新機能を読んだけど理解できたのは10%未満。

587 :NAME IS NULL:2011/09/23(金) 14:15:21.71 ID:???
9.1 のレプリケーション、少しツールなどが追加になっているようだけど、
簡単設定というほど、簡単になるわけじゃないみたいだね。

588 :NAME IS NULL:2011/09/23(金) 15:15:36.37 ID:???
どうなれば簡単なんだよw
pgpooladminみたいな中途半端な管理ツールを
postgresqlでも作れと?

589 :NAME IS NULL:2011/09/23(金) 15:24:40.06 ID:???
中途半端なのじゃなくて完璧なの作れよ

590 :NAME IS NULL:2011/09/23(金) 16:20:01.98 ID:???
今のまんまでも馬鹿よけになっていいじゃない。

591 :NAME IS NULL:2011/09/23(金) 23:39:29.81 ID:???
ウィザード形式みたいな簡単設定があるといいね

592 :NAME IS NULL:2011/09/24(土) 01:46:36.72 ID:???
あとになって変更できましぇーん
とかいってここに泣きつくガキが出てくるからいや

593 :NAME IS NULL:2011/09/24(土) 19:05:27.14 ID:???
PostgreSQLは商用データベース並と言われるのはまだ劣る部分があるということ?

594 :NAME IS NULL:2011/09/24(土) 19:31:34.64 ID:???
とりあえず性能は負けてる

595 :NAME IS NULL:2011/09/25(日) 05:42:59.95 ID:???
RDBMS 本体としてはそれほど差はなくなってきていますが、周辺ツールなどの面では商用RDBMS が対応が多いというのが現状でしょう。

http://lets.postgresql.jp/documents/tutorial/rdbms-hikaku

596 :NAME IS NULL:2011/10/05(水) 23:31:43.92 ID:???
公式マニュアルの「15.4. インストール手順」の以下の記述ですが、なにかわかりますか?
http://www.postgresql.jp/document/current/html/install-procedure.html

./configure
mkdir build_dir
cd build_dir
/path/to/source/tree/configure [options go here] ←こいつ
gmake

597 :NAME IS NULL:2011/10/05(水) 23:45:15.11 ID:???
深く突っ込まない大人の優しさも大事だよ

598 :NAME IS NULL:2011/10/06(木) 05:41:12.52 ID:???
こいつがどこを指してるのか。。
[options go here]なら、ここにオプション書くんだよっていう目印

599 :NAME IS NULL:2011/10/06(木) 09:03:35.65 ID:???
本来は「here」にリンク張ってアンカーに飛ばしたかったんじゃないの?

600 :NAME IS NULL:2011/10/06(木) 12:49:35.90 ID:???
一個目のconfigureにオプションつけないように書いたんだろ

601 :596:2011/10/07(金) 00:12:52.80 ID:???
マニュアルどおりにインストールしても、
/path/to/source/tree/configureは元々ないし、作成されもしないですよね、
本家のマニュアルにも書いてあるし


602 :NAME IS NULL:2011/10/07(金) 00:45:36.89 ID:???
[options go here] も /path/to/source/tree/ も、そのものを入力するわけではないぞ?
各自の環境に合わせろということだ。

603 :NAME IS NULL:2011/10/07(金) 01:16:29.74 ID:???
ありがちだ

604 :NAME IS NULL:2011/10/07(金) 02:04:19.07 ID:???
/ソースを/展開した/場所の/パス/configure (←必要ならオプションはここで指定)
とでもすれば分かってもらえたか。
というか、ユーザが置き換えるべきところはそのように表示してほしいよね。
あと、日本語訳は原文にある VPATH ビルド云々の説明が
ごっそり抜けているので誤解を招きそう。

605 :NAME IS NULL:2011/10/07(金) 05:41:16.96 ID:???
/path/to という文化に慣れてなかったというオチか。
最初からそう書いておいてくれれば話は早かったのに、「←こいつ」って。

606 :NAME IS NULL:2011/10/07(金) 06:58:54.41 ID:???
.configureだろ

607 :NAME IS NULL:2011/10/09(日) 12:19:24.96 ID:???
./configure です

608 :NAME IS NULL:2011/10/09(日) 17:31:03.88 ID:???
MySQL の日本語マニュアルだったか、
「コンフィギャ」と書かれていて、
のけぞったことがある。

609 :NAME IS NULL:2011/10/09(日) 18:53:53.43 ID:???
なぜ?

610 :NAME IS NULL:2011/10/09(日) 19:34:01.46 ID:???
独創的な訳だと思ったギャ

611 :NAME IS NULL:2011/10/09(日) 21:27:02.38 ID:???
オプションは何付けてる?xmlぐらいか?

612 :NAME IS NULL:2011/10/18(火) 09:30:36.93 ID:???
この前ossdb silver受けて合格はしたんだが・・・
あの問題が解けたところでPostgreSQL専門
DBAとしてはあまり意味ないよな。

それは置いといて9.1で新しくバックアップコマンド
追加されたのはいいけど差分orアーカイブのオンラインバックアップも
PostgreSQLで出来るように作って欲しいね。
ツールをいろんなところが作れるのはいいが、
バックアップは本家で管理してもらえるほうが・・・ねぇpg_rmanさん・・・

613 :NAME IS NULL:2011/10/18(火) 12:59:39.24 ID:???
>>612
> 新しくバックアップコマンド

ほほぅ。

614 :NAME IS NULL:2011/10/18(火) 22:03:08.16 ID:???
>>612
Silver は開発者、DBAならGold目指せ

615 :NAME IS NULL:2011/10/19(水) 12:26:02.31 ID:???
>>612
> PostgreSQL専門
> DBA

PostgreSQLで仕事になるのですか?

616 :NAME IS NULL:2011/10/19(水) 17:52:38.16 ID:???
dumpallすると12GB分(24万レコード)のデータベースなのですが検索で時間がかかるので、
メインメモリを12GB増設して、/usr/local/pgsql/data をメモリ上で
動かすことはLinux(Ubuntu)でできるのでしょうか?

617 :NAME IS NULL:2011/10/19(水) 18:21:39.05 ID:???
できるかもだけど、その程度で遅くなるのは作り方が間違ってるか
対象が広すぎるとしか・・・

618 :NAME IS NULL:2011/10/19(水) 18:47:22.14 ID:???
1レコードあたりのサイズがなんか大きい気がするけど、その検索はlikeだったりするの?

619 :NAME IS NULL:2011/10/19(水) 20:01:57.82 ID:???
>>618
> 検索はlikeだったりするの?

SQLはマニュアルでのサンプル通りに作ってます。
http://www.postgresql.jp/document/9.1/html/textsearch-controls.html

(全文検索でRankとヘッドラインもつけて日本語検索なので)

select *,ts_rank(to_tsvector('japanese',contents) ,to_tsquery('japanese','$querytext')) AS rank ,ts_headline(keywords,to_tsquery('japanese','$querytext')) AS headline
from report where to_tsvector('japanese',keywords) @@ to_tsquery('japanese','$querytext') ORDER BY rank DESC LIMIT 100;

1回のpg_query(sql)で8分ぐらいかかっている。




620 :NAME IS NULL:2011/10/19(水) 20:16:27.70 ID:???
>>616
圧縮しないでdumpallしたら12GBになったとしても、インデックスなどを考慮すると/usr/local/pgsql/dataは12GB以上の容量があるはず。duコマンドなどでフォルダのデータ量を見ればすぐに分かる。
サーバが停止したときに、メモリの内容が消えてもよければ、tmpfs上にデータフォルダを作ってもいい。

十分なメモリがあれば、必要なデータはメモリ上にキャッシュされるはずだから、よほど更新が多いとかじゃなければ、あえてそんなことをする必要はないとおもうけど。

>>619
explainで検索プランを見ると、どうなってるの?

621 :NAME IS NULL:2011/10/19(水) 20:39:31.14 ID:???
>>620
> インデックス

「対象の列が○○バイト以上なのでインデックスが作れません。」のようなメッセージが出てインデックスを作れてません。

explain ?

622 :NAME IS NULL:2011/10/19(水) 22:00:52.31 ID:???
>>619
ああ、やっぱ普通の検索じゃなかったんだね。
ディスクIOがボトルネックになってることも判明してるんだろうし
http://itpro.nikkeibp.co.jp/article/Keyword/20070330/267007/
この辺でも見てみたらどうでしょ

623 :NAME IS NULL:2011/10/19(水) 22:04:26.41 ID:???
>>622
ありがとう。

624 :NAME IS NULL:2011/10/19(水) 22:52:30.06 ID:???
>>621
tsvectorの転置インデックスが作れていないのなら、それが低速になっている主な原因の一つだろうだから、
まずインデックスを作れない問題を解決したほうがいい気がするよ。

625 :NAME IS NULL:2011/10/20(木) 01:20:19.83 ID:???
レンジパーティション
テーブルスペース
しないとキャッシュに乗るわけなかった

626 :NAME IS NULL:2011/10/20(木) 16:51:33.39 ID:???
インデックス作成対象のtextが長いためか

ERROR: index row requires ○○ bytes, maximum size is 8191

のエラーが出てインデックスが作成できません。

これを回避する方法はあるのでしょうか?

627 :626:2011/10/20(木) 16:58:14.67 ID:???
追記です。

SQLは>>619の内容なので
検索をハッシュ値で代替するのはできないのではと思っています。

628 :NAME IS NULL:2011/10/20(木) 18:10:22.14 ID:???
>>626
reportテーブルのcontentsのような長いテキストデータに対して、
b-treeインデックスを作ろうとすると、そういうエラーがでるようだけど、
どういう内容のコマンドを入力して、インデックスを作成しようとしたの?

CREATE INDEX ○○ ON report USING gin(to_tsvector('japanese', contents));
として、GINのインデックスを作成する必要があるよ。

629 :NAME IS NULL:2011/10/20(木) 18:16:11.41 ID:???
ちがった
必要なインデックスは、
CREATE INDEX ○○ ON report USING gin(to_tsvector('japanese', keywords));
のほうだった。

630 :NAME IS NULL:2011/10/21(金) 10:22:17.61 ID:???
>>629

ありがとうございます。

無事にインデックスが作れました。

クエリーの反応時間は、すこし向上したような気がします。
8分→7分?

631 :NAME IS NULL:2011/10/21(金) 17:40:23.88 ID:???
インデックス用の列を別に用意したら、応答が4倍早くなりました。

reportdb=# alter table report add tsvector_keywords tsvector;
reportdb=# update report set tsvector_keywords = to_tsvector('japanese',keywords);
reportdb=# create index tsvector_keywords_index on report using gin (tsvector_keywords);

632 :NAME IS NULL:2011/10/21(金) 18:09:18.63 ID:???
>>631
explain analyze "619のSQL文";
を実行すると、検索の詳しい処理手順や、時間がかかっている部分が分かるのだけど…

わりと時間がかかっていることから推察すると、keywordsに該当するreport行自体がとても多いのだろうから、これ以上の高速化は難しいのかもしれない。
日本語のtsvector化に何のライブラリを使っているか知らないけど、
to_tsvector('japanese',contents)
あたりもあらかじめ変換しておくと、若干のスピードアップにはなるかも。

それ以上は、データベースをメモリに載せるとか、奇抜な手を使うくらいしか思いつかない。

633 :NAME IS NULL:2011/10/21(金) 20:06:06.03 ID:???
>>632
> データベースをメモリに載せるとか、奇抜な手を使うくらいしか思いつかない。
>>616

うん。

634 :NAME IS NULL:2011/10/22(土) 20:58:56.91 ID:???
9.1 Win版
pgAdminVで、バックアップしたファイルをリストアしようとすると
エラーになります。
対処方法不明です。

pg_restore: [アーカイバ] 入力ファイルが有効なアーカイブではないようです
プロセスは、1 のリターンコードを返しました。

対処方法がなければ、バージョンアップは要注意かな。

635 :NAME IS NULL:2011/10/22(土) 21:03:10.61 ID:???
ふーん。とだけお返しします。
自分でバックアップコマンド打ってリストアした結果くらい
書いてくれないとねーーー(棒

636 :NAME IS NULL:2011/10/22(土) 21:14:33.90 ID:???
>>634
あ、それ俺も最初なんで?って思ったけど、バックアップの時に、
形式選ぶ選択肢があったと思う。
デフォルトだと何も選択していない状態だから、何か選べばいいよ。

637 :NAME IS NULL:2011/10/22(土) 21:25:17.71 ID:???
pg_restoreはテキスト形式のファイルは元に戻せません。

テキスト出力はsqlファイルとして実行して戻し
アーカイブ方式はpg_restoreコマンドを使用しないと戻せません。

という夢を見た

638 :NAME IS NULL:2011/10/22(土) 21:49:04.37 ID:???
俺はマニュアルを読まないお前のサポートじゃないんだ。
pgAdminの何を操作したのか知らないがこいつは9.1に対応してやがるのか?
まぁ、pg_dumpなんざバージョンアップ時に必至のコマンドだから
出来ないなんてことがあってはまずい。
ほぼ100%コマンドと動作を調査して使ってないと思われるので
下を読んで、1か月ROMってください

ttp://www.postgresql.jp/document/pg904doc/html/app-pgrestore.html
*******************************************
pg_restoreは、pg_dumpによってアーカイブされた
平文形式以外のアーカイブファイルを使って
*******************************************

639 :NAME IS NULL:2011/10/24(月) 13:59:32.19 ID:???
SQL条件で抽出されたレコードのエクスポートファイル出力とインポートって、
何かコマンドありますか?

プログラムで作るしかないのかな?

640 :NAME IS NULL:2011/10/24(月) 14:01:57.49 ID:???
マニュアル読んだ後ググれカス

641 :NAME IS NULL:2011/10/24(月) 17:28:21.74 ID:???
よくわからんが \o のことかい

642 :NAME IS NULL:2011/10/24(月) 17:38:14.06 ID:???
>>639
copyのこと?

643 :NAME IS NULL:2011/10/24(月) 18:40:08.49 ID:???
>>642
copy で可能なんですね。
ありがとう。

644 :NAME IS NULL:2011/10/25(火) 14:45:19.25 ID:???
一晩かけて考えたり調べたりして、完全に詰まったので質問させてください

Ubuntuにpostgresqlをインストールして、sudo apt-get install libpg-javaでjdbcドライバをインストールした
export CLASSPATH=$CLASSPATH:/〜/postgresql-jdbc3-8.4.jarでクラスパスを設定
javac file.javaでプログラムをコンパイルしてjava fileで実行
(file.javaは既存のデータベースにテーブルを追加してデータを入力するもの)
すると
org.postgresql.util.PSQLException: FATAL: ???"postgres"???????????????
と表示されてしまう
"postgres"はpostgresqlをインストールしたときに作ったユーザで、実行しているのも"postgres"
ここからjava file成功まで、どのように進めていけばいいのかわかりません
お教えいただけると助かります

645 :NAME IS NULL:2011/10/25(火) 15:35:11.09 ID:???
>>644
LANG=C
してもう一度例外メッセージが読めるかどうか試してみては

646 :NAME IS NULL:2011/10/25(火) 15:39:37.67 ID:???
肝心なところがモザイクっていうね。

647 :>>664:2011/10/25(火) 16:01:51.91 ID:???
>>645返信ありがとうございます
例外メッセージを表示するためにpostgresql.conf内でlc_messages = 'C'に変更して再度実行してみました
その結果、以下のように読めるようになりました
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "postgres"

postgresユーザのパスワードの認証・・・?少しは進展したのでしょうか

648 :NAME IS NULL:2011/10/25(火) 16:07:14.69 ID:???
パスワードの設定してないでしょ
ローカルでpsql -U postgres で使える?
試しに、pg_hba.conf のlocalhostをtrustにして
アクセス時のサーバをlocalhostにしてみて
通るか確認してからパスワードの設定してみたらいいと思う

649 :>>644:2011/10/25(火) 16:29:29.13 ID:???
>>648ご指摘の通りで、修正したところjava fileが成功しました
まさかと思い、確認してみたところパスワードの設定が出来ていませんでした
一度、アップデート・マネージャに指摘されたアップデートを入れたところpostgresqlが起動しなくなったので削除→再インストールをしました
その時にpostgresユーザにパスワードが設定されているので(当然ですが)postgresqlのパスワードも設定されていると勘違いしていました

結果は単純なミスでしたが、昨晩から今まで色々なことを調べながら設定してきて少しは知識も増えたと感じています
ご指摘及び情報ありがとうございました
これからも精進していきたいと思います

650 :NAME IS NULL:2011/10/26(水) 13:15:24.45 ID:???
wwwワロタ
すごく失礼だけど、この程度(LANG=C)でPostgreに挑むという
>>644のチャレンジャー精神にあきれた

651 :NAME IS NULL:2011/10/26(水) 13:37:22.63 ID:???
俺も「???????????」でハマったから笑えませんわ。
ところで、最近のバージョンでも
日本語を使うならロケール無効で initdb した方が無難なの?
最近は Vine の起動スクリプトも --no-locale しなくなったみたいだけど
もう気にしなくていいのかな。

652 :NAME IS NULL:2011/10/26(水) 14:11:55.33 ID:???
>>651
/usr/local/pgsql/bin/initdb --no-locale --encoding=utf8 -D /usr/local/pgsql/data

653 :NAME IS NULL:2011/10/26(水) 16:23:01.32 ID:???
>>650
挑むとか、そんな気持ちで向き合わないといけないものかね。

割とすんなりlc_messagesに至ったり、pg_hba.confを編集したりと、ある程度の素養はある人だと思うよ。
なぜ自分で思いつけなかったのかが不思議なぐらいに。

654 :NAME IS NULL:2011/10/26(水) 23:24:13.64 ID:???
単にマニュアルすら読まない馬鹿ってことだろ。

655 :NAME IS NULL:2011/10/27(木) 00:01:37.56 ID:???
マニュアル読めって言うアドバイスなら、
小学生の自分でもできるよ。

656 :NAME IS NULL:2011/10/27(木) 00:05:09.75 ID:???
マニュアルすら読めない馬鹿は小学生以下なわけだが

657 :NAME IS NULL:2011/10/27(木) 00:57:19.15 ID:???
マニュアル読めって言うアドバイスしかしないなら、
ゴミと同じだな。

658 :NAME IS NULL:2011/10/27(木) 06:51:25.69 ID:???
そうだな。
日本の生活について問われて「民法嫁」というのと同じだな。

659 :NAME IS NULL:2011/10/27(木) 07:02:46.87 ID:???
マニュアル指摘されたくらいで過剰反応しすぎだよな。
常識なのに。

660 :NAME IS NULL:2011/10/27(木) 07:37:09.17 ID:???
ふーん
民法は日本の生活のマニュアルなんですね

661 :NAME IS NULL:2011/10/27(木) 08:07:24.88 ID:???
意味がないという意味で同じ。
人生相談に「常識」で答えるほど無意味なものはない。

662 :NAME IS NULL:2011/10/27(木) 08:44:44.40 ID:???
馬鹿が腹立てるとこんなもんだよなw

663 :NAME IS NULL:2011/10/27(木) 14:49:53.17 ID:???
我輩の辞書には、
『マニュアルを嫁』しかない。

664 :NAME IS NULL:2011/10/27(木) 14:52:03.29 ID:???
しかも、五時。

665 :NAME IS NULL:2011/10/27(木) 15:01:12.50 ID:???
>>663

おまえ、c言語のマニュアル読んでカーネル作れるか?

666 :NAME IS NULL:2011/10/27(木) 16:47:46.59 ID:???
原田大明神が
pgsql_fdwのパッチを送ってるね。
結局自分で作っちゃったんだ。
早く使いたい

667 :NAME IS NULL:2011/10/29(土) 07:22:10.44 ID:???
小学生程度の質問が人生相談だそうです

668 :NAME IS NULL:2011/10/29(土) 11:18:38.10 ID:???
我輩の辞書には、
『マニュアルを嫁』はあるが、
『マニュアルを読む』はない。

669 :NAME IS NULL:2011/10/29(土) 11:22:39.29 ID:???
>>668
そんな、俺を紹介しないでくれ

670 :NAME IS NULL:2011/10/29(土) 12:06:48.12 ID:???
oss-db gold も合格した。簡単すぎてこの資格意味ないね。
もっと掘り下げて記述式の問題にしないと実運用できない。
プラチナ作って、さらに上のマスターとかいうレベルがあってもいいくらいだよ。

そもそもPostgreSQL単体で稼働してるとこなんてないっつーのが
oracle様とは違うとこだよなwww

671 :NAME IS NULL:2011/10/29(土) 14:22:29.04 ID:???
oracleの方が金になるからね

672 :NAME IS NULL:2011/10/30(日) 03:04:01.19 ID:???
おまいひょっとしてやればできるんじゃまいか

673 :NAME IS NULL:2011/10/31(月) 00:15:17.63 ID:???
9.0のpgAdminV、バックアップするときクラッシュする。
9.1に切り替えた。

674 :NAME IS NULL:2011/11/05(土) 21:07:47.31 ID:wv2eL8wC
9.1でDBアプリを作ろうとしているのですが
5クライアントから1つのテーブルに対して頻繁にINSERTがあるDBで
さらにそのクライアントから入力した全てのレコードへの参照もある場合
CREATE VIEWを使うべきでしょうか?
それともCREATE TEMP TABLEを使うべきでしょうか?
両者ともINSERT中のレコードがあるとロックが発生するのでしょうか?


675 :NAME IS NULL:2011/11/05(土) 21:35:47.09 ID:???
>>674
PostgreSQLではMVCCと言って、ほぼロックが発生しない手法が採用されている。
http://www.postgresql.jp/document/current/html/mvcc-intro.html
なので特に何もする必要はない。

仮に一時テーブルなどの別テーブルにコピーしたとしても、別ディスクなどにテーブルスペースを作ったりしないと効果が小さいし、
Viewに至ってはselect文の別表現なので全く意味が無い。

676 :NAME IS NULL:2011/11/05(土) 22:00:20.63 ID:wv2eL8wC
>>675
わかりやすく説明していただきありがとうございました!

677 :NAME IS NULL:2011/11/06(日) 03:33:23.87 ID:???
最近のニュースはありますか?

678 :NAME IS NULL:2011/11/06(日) 18:45:17.47 ID:4Qd5Dq0Q
point順に並び替え、ランクを表示する

テーブル名 :tbl_point
フィールド名:point
name
gender

表示    :p_rank, name, gender, point

select rank() over (order by [point] desc) as [p_rank], name, point from [tbl_point];

p_rank | name | gender | point

1 | hoge | 1 | 98
2   | fuga | 2 | 80
3  | poyo | 2 | 70
4  | boke | 1 | 60

ここまではできるのですが

p_rank | mp_rank | wp_rank | name | gender | point

1 | 1 | | hoge | 1 | 98
2 | | 1 | fuga | 2 | 80
3  | | 2 | poyo | 2 | 70
4  | 2 | | boke | 1 | 60

gender毎のも表示するにはどうすればいいですか?




679 :NAME IS NULL:2011/11/06(日) 19:28:33.94 ID:???
>>678
こういうこと?
select rank() over (partition by [gender] order by [point] desc) as [p_rank], name, point from [tbl_point];

680 :NAME IS NULL:2011/11/06(日) 19:31:08.21 ID:???
>>678
ああ、実行例があったね
もう分かると思うけど、

select
rank() over (order by [point] desc) as [p_rank],
rank() over (partition by [gender] order by [point] desc) as [mp_rank],
name,
point
from [tbl_point];

681 :NAME IS NULL:2011/11/06(日) 19:33:36.29 ID:4Qd5Dq0Q
>>680
これだとmp_rank, wp_rank毎(フィールド毎)の順位が出ないですね。

682 :NAME IS NULL:2011/11/06(日) 19:33:44.26 ID:???
>>678
何度も書き込んですまないけど、
最後に
order by point desc
って付けないと、どういう順序で表示されるかは保証されないよ。

683 :NAME IS NULL:2011/11/06(日) 19:35:59.55 ID:4Qd5Dq0Q
イメージとしては
select
rank() over (order by [point] desc) as [p_rank],
rank() over (partition by [gender] where gender = 1 order by [point] desc) as [mp_rank],
rank() over (partition by [gender] where gender = 2 order by [point] desc) as [wp_rank],
name,
point
from [tbl_point];

ができればいいんですが...

684 :NAME IS NULL:2011/11/06(日) 19:36:42.95 ID:???
>>681
wp_rank(フィールド毎)ってのは、何の値で分割したグループのこと?

685 :NAME IS NULL:2011/11/06(日) 19:39:30.89 ID:???
>>683
gender=1の場合のwp_rankと、
gender=2の場合のmp_rankは、それそれぞれどうなってほしいの?


686 :NAME IS NULL:2011/11/06(日) 19:40:28.91 ID:4Qd5Dq0Q
説明不足ですいません。

p_rankが全体の順位
m_rankがgender=1グループの順位
w_rankがgender=2グループの順位

687 :NAME IS NULL:2011/11/06(日) 19:43:40.22 ID:4Qd5Dq0Q
gender=1の場合のwp_rankと、

gender=2の場合のmp_rankは、

できればNullになってほしいのですが...

688 :NAME IS NULL:2011/11/06(日) 19:48:55.31 ID:???
>>687
select
p_rank,
(case gender when 1 then gp_rank else null end) as [mp_rank],
(case gender when 2 then gp_rank else null end) as [wp_rank],
name,
point
from
(
select
rank() over (order by [point] desc) as [p_rank],
rank() over (partition by [gender] order by [point] desc) as [gp_rank],
gender,
name,
point
from [tbl_point]
) t
order by point desc;

689 :NAME IS NULL:2011/11/06(日) 20:09:36.93 ID:4Qd5Dq0Q
相関サブクエリ?の結果を使ってCASEで分岐した結果に別名付けているのですか?

できました、ありがとうございました!

690 :NAME IS NULL:2011/11/11(金) 19:12:42.13 ID:FA3LJ5nm
phpのpearにPEAR::DBというのがありますが、これを介してPostgreSQLに接続する利点、
直接pg_connectする場合に比べてのメリットはなんですか?

691 :NAME IS NULL:2011/11/11(金) 19:58:03.09 ID:???
抽象レイヤーをはさむという利点。
PDO実装以降のPHPならPearDBを使うメリットはないと思ってる

692 :NAME IS NULL:2011/11/20(日) 11:32:45.50 ID:lknyTq5F
自宅で以下の構成で作っているのですが、
JDBC と ODBC ともにクライアントからサーバーに接続出来ません。
サーバーには疎いので、ログファイルはどこを確認すればいいのかよくわかりません。
なにか設定すべきところや確認すべきところはありませんか?

○ サーバ側 (ubuntu 11.10 64bit)
postgresql.conf → 『listen_addresses = '*'』追加
pg_hba.conf → 『host all all 192.168.0.0/24 md5』追加
sudo ufw status ⇒ 『非アクティブ』確認

○ クライアント側 (winfows7 64bit)
ファイアウォール ⇒ 『OFF』に設定
Security Essentials ⇒ 『リアルタイム保護無効』に設定

○ ルータ(WZR-HP-G300NH)
とくに設定無し


693 :692:2011/11/20(日) 16:40:07.73 ID:???
解決しました。
正確な理由は不明ですが。
インストール直後では service postgresql reload が、効いてなかったのか、
pg_hba.conf の設定が間違っていて、効いていなかっただけなのかよくわかりません。



694 :NAME IS NULL:2011/11/20(日) 17:21:26.67 ID:???
クライアントのファイアウォールは戻しておいたほうがいいよ

695 :NAME IS NULL:2011/11/20(日) 17:29:07.76 ID:???
ウィルスソフトのファイアーウォールで
例外にしてあげればいいだけだろ・・・どんだけだよw
俺はpg_ctl reload派だがな。
pg_hbaはリロードで反映されるが間違っているかどうかは
ログに出力される。こんなの常識でつ。

696 :NAME IS NULL:2011/11/20(日) 18:34:28.27 ID:???
何を例外にするの?ufwの話には見えないけど。

pg_ctl reload派だとかいってるのはわがまま、頑固な人におおいね。環境に順応できないというか。

697 :NAME IS NULL:2011/11/20(日) 18:47:31.44 ID:???
serviceで起動シェル書いたことないな。
普通は絶対パスだろ

698 :NAME IS NULL:2011/11/20(日) 18:51:10.00 ID:???
おまえら自宅でやるレベルなんだから細かいこと言うなよ

699 :NAME IS NULL:2011/11/20(日) 19:23:54.05 ID:???
起動シェル使わない人って、やっぱりいつも手動で停止するの?

700 :NAME IS NULL:2011/11/20(日) 19:32:28.60 ID:???
>>697
何を言ってるかわからない
むしろ絶対パスで書かなくとも/etc/init.d配下を確実に参照してくれるserviceのほうがよくね

701 :NAME IS NULL:2011/11/20(日) 19:33:50.69 ID:???
>>698
自宅でやるからいろいろ試せるってのは相当なメリットだけどな

702 :NAME IS NULL:2011/11/22(火) 14:49:15.03 ID:???
service
環境依存。
どういう動作が定義されているかは実行される側のスクリプトによる。
そもそもOSによってこのコマンドが存在しない場合もある。

pg_ctl
posgres固有のコマンド。

どの環境でも確実に意図した動作をしてくれるのはpg_ctlだよな。
だけどserviceコマンドでもスクリプトで定義されている動作を
ちゃんと分かっているならまぁどっちでもいいわ。
絶対パス云々はコマンドにパスが通ってるかどうかの問題だから関係ないだろ。

703 :NAME IS NULL:2011/11/24(木) 22:52:39.89 ID:Ld9s4TyG
年代別集計をしたく以下のようにしていますが
結果が0でもその年代も表示したいのですができませんでしょうか?

SELECT CASE
when r.age between 0 and 9 then '0 - 9'
when r.age between 10 and 19 then '10 - 19'
when r.age between 20 and 29 then '20 - 29'
when r.age between 30 and 39 then '30 - 39'
when r.age between 40 and 49 then '40 - 49'
when r.age between 50 and 59 then '50 - 59'
when r.age between 60 and 69 then '60 - 69'
when r.age between 70 and 79 then '70 - 79'
when r.age between 80 and 89 then '80 - 89'
when r.age between 90 and 99 then '90 - 99'
when r.age >=100 then '100'
end AS "age_group"
,COUNT(CASE
when r.age between 0 and 9 then '0 - 9'
when r.age between 10 and 19 then '10 - 19'
when r.age between 20 and 29 then '20 - 29'
when r.age between 30 and 39 then '30 - 39'
when r.age between 40 and 49 then '40 - 49'
when r.age between 50 and 59 then '50 - 59'
when r.age between 60 and 69 then '60 - 69'
when r.age between 70 and 79 then '70 - 79'
when r.age between 80 and 89 then '80 - 89'
when r.age between 90 and 99 then '90 - 99'
when r.age >=100 then '100'
end) AS "age_count"
FROM rank as r
GROUP BY age_group
ORDER BY age_group;

704 :NAME IS NULL:2011/11/24(木) 23:04:19.18 ID:???
select (a-1)*10 || ' - ' || a*10-1 as range, count(age) from generate_series(1, 10) as s(a) left join table_1 on (age between (a-1)*10 and a*10-1) group by a order by a

100以上でてないけど

705 :NAME IS NULL:2011/11/24(木) 23:22:18.58 ID:Ld9s4TyG
>>704
スバラシイ

706 :NAME IS NULL:2011/11/25(金) 21:42:48.62 ID:KYZJ26CC
このスレにoledb経験のある勇者はいませんか
oledbでトランザクションを組むとコミット時に
XACT_E_NOTSUPPORTED(0x8004D00F)
が出ます
OLEDBは2006年から更新されていないのですがオワコンなのでしょうか
OLEDBで作成したオラクルアプリのコンバートを考えているので
npgsqlは出来れば避けたいのですが。

環境はPG9.1.1 OLEDB1.0.0.20 VB2008です

707 :NAME IS NULL:2011/11/26(土) 10:00:15.58 ID:???
>>706
いやもう出てるメッセージそのまんまじゃないのか。

708 :NAME IS NULL:2011/11/26(土) 13:05:07.00 ID:ydK+kBxB
え、使い方かなにかが悪いわけじゃないの?
トランザクションをサポートしてないとは
さすがに考えにくかったんだけど

709 :NAME IS NULL:2011/11/26(土) 15:03:30.10 ID:???
無料セミナーの案内きたお

710 :NAME IS NULL:2011/11/26(土) 15:09:41.59 ID:ydK+kBxB
706ですが、無理なようですのでnpgsqlにしました。
オブジェクト構成はoledbとほぼ変わらないようなので
機械的にConnection,Transaction,DataReader,Command等
のオブジェクトクラスを文字列置換するだけでそこそこいけました

ところでイケメンに聞きたいのですが、ググったら
pg8系では更新系の複数副問い合わせはサポートしていないようですが
現状も一緒でしょうか。書き方工夫すれば通りますでしょうか

UPDATE T1 SET ( F1, F2 ) = (SELECT F3, F4 FROM T2 WHERE T1.KEY=T2.KEY)

CREATE TABLE T1 (KEY NUMERIC(1),F1 NUMERIC(1),F2 NUMERIC(1));
CREATE TABLE T2 (KEY NUMERIC(1),F3 NUMERIC(1),F4 NUMERIC(1));
INSERT INTO T1 VALUES( 1,1,2 );
INSERT INTO T2 VALUES( 1,3,4 );

711 :NAME IS NULL:2011/11/26(土) 15:47:04.49 ID:???
>>710
現状とは? 9のことかいな?

712 :NAME IS NULL:2011/11/26(土) 16:15:54.21 ID:ydK+kBxB
>>711
はい、そうです。説明不足ですいません

713 :NAME IS NULL:2011/11/26(土) 16:22:43.80 ID:???
>>712
http://www.postgresql.jp/document/current/html/sql-update.html#AEN76261
「互換性」の項目をどぞ。

714 :NAME IS NULL:2011/11/26(土) 16:32:29.45 ID:fYDjQ7Qp
>>>712
>UPDATE T1 SET F1=F3, F2=F4 FROM T2 WHERE T1.KEY=T2.KEY;


715 :NAME IS NULL:2011/11/26(土) 18:02:33.83 ID:???
8.x, 9.xでも機能は増えるから、8系, 9系という情報では足りないよ。

716 :NAME IS NULL:2011/11/26(土) 18:22:24.31 ID:ydK+kBxB
>>714
おお、ありがとうございます。
初見の型式ですがFROM句があるんですね

>>713
>>715
参考になります

717 :NAME IS NULL:2011/11/28(月) 21:05:00.87 ID:???
pgsqlで

718 :NAME IS NULL:2011/11/30(水) 02:26:11.96 ID:???
最後から任意の件数を問い合わせたいのですが
select time from test order by time desc offset 0 limit 3;で
呼び出すと下記のようになりますが

time        
------------------
2011-11-28 08:20:16
2010-10-26 06:20:16
2009-09-24 04:20:16


↓のように更にソートして呼び出すにはどう書けばよいのでしょうか?
time          
------------------
2009-09-24 04:20:16
2010-10-26 06:20:16
2011-11-28 08:20:16

719 :NAME IS NULL:2011/11/30(水) 02:51:44.30 ID:???
select * from (select time from test order by time desc offset 0 limit 3) order by time;

720 :NAME IS NULL:2011/11/30(水) 03:56:42.99 ID:???
>>719
実行したのですが無理でした。
ERROR: subquery in FROM must have an alias
HINT: For example, FROM (SELECT ...) [AS] foo.


721 :NAME IS NULL:2011/11/30(水) 04:06:21.25 ID:???
HINT読もうぜ

722 :NAME IS NULL:2011/11/30(水) 04:06:33.97 ID:???
select * from (select time from test order by time desc offset 0 limit 3) you_must_read_the_error order by time;

723 :NAME IS NULL:2011/11/30(水) 10:34:51.97 ID:???
HINT通りなら
select * from (select time from test order by time desc offset 0 limit 3) foo order by time;
だなw

724 :NAME IS NULL:2011/11/30(水) 13:49:09.68 ID:???
>>723
fooにテーブル名をいれてみたらいけました。
ありがとうございます。

そしてレスをしていただいた皆様ありがとうございました。


725 :NAME IS NULL:2011/11/30(水) 15:18:28.10 ID:???
>>722うごかんの?

726 :NAME IS NULL:2011/11/30(水) 17:56:12.21 ID:???
>>725
今やったら動きました。
>>721のあとのレスだったので
悪い冗談(あなたは the_error を読まなくてはなりません。)かと思ってしまいましたw。
大変失礼しました。ありがとうございました。m( __ __ )m


727 :NAME IS NULL:2011/12/01(木) 13:40:26.33 ID:???
>fooにテーブル名をいれてみたらいけました。

いや何でもいいんだけどな。
you_must_read_the_error でも foo でもいい。

728 :NAME IS NULL:2011/12/11(日) 16:12:36.66 ID:2BDdxjrX
「俺の全文検索」のソースをアップロードした。

http://www.ne.jp/asahi/sun/patagonia/fulltext/fulltext.html

うまく全文検索できないときには掲示板に書きこんでくれ。

729 :NAME IS NULL:2011/12/12(月) 18:00:16.73 ID:tvQA515y
オークションサイト構築の課題をやっています。
SQLまわりで悩んでいます。(Postgres)

・出品物テーブル
shuppin
出品物ID(主キー),タイトル,開始時刻,終了時刻,説明・・・

・入札履歴テーブル
bid_history
入札ID(主キー),出品物ID,価格,入札ユーザー,入札日時・・・

出品物1レコードに対し、出品物IDで紐付けられた入札履歴が複数存在する形になります。

・やりたいこと:
出品物を一覧で取得する際に、出品物の各レコードに、入札件数を結合した状態で取得できるSQLを作りたいです。
「出品物テーブルにある出品物IDそれぞれについて値をカウントし、それをBID_CNTというカラム名で結合して取得する」

SELECT COUNT(*) FROM bid_history WHERE 出品物ID = '123'
このようにすれば、「出品物IDが123の件数を取得」することができます。
これを表の形式で取得したのちINNER JOINすればいいような気がしますが、
こういう複雑な処理をSQLだけで書ける方いらっしゃいましたら知恵を貸してください。

730 :NAME IS NULL:2011/12/12(月) 18:13:35.64 ID:???
select
*,
(select count(*) from bid_history where bid_history.出品物ID = shuppin.出品物ID)
from shuppin

731 :NAME IS NULL:2011/12/12(月) 18:16:04.76 ID:???
結合してからだとこうかな。
select
shuppin.*,
coalesce(bid_count_table.cnt, 0) as BID_CNT
from
shuppin left join (select 出品物ID, count(*) as cnt from bid_history group by 出品物ID) using (出品物ID)

732 :NAME IS NULL:2011/12/12(月) 18:17:12.52 ID:???
別名つけるの忘れた。。
× shuppin left join (select 出品物ID, count(*) as cnt from bid_history group by 出品物ID) using (出品物ID)
○ shuppin left join (select 出品物ID, count(*) as cnt from bid_history group by 出品物ID) bid_count_table using (出品物ID)

733 :NAME IS NULL:2011/12/12(月) 19:07:17.12 ID:tvQA515y
>>730-732
思い通りのことができるようになりました。
どうもありがとうございました!

162 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)