1read 100read
2011年12月1期データベース23: PostgreSQL Part.8 (727) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
24: 個人情報保護法、どうする? (125)
25: nullはヌル?ナル? (333)
26: 【麻呂投入】民主党研究第458弾【犬HKも非常事態】 (103)
27: [大文字/小文字]SQLの正しい書式[改行/インデント] (41)

PostgreSQL Part.8


1 :11/01/10 〜 最終レス :11/12/01
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 :
●過去スレ
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 :
おつ

4 :
9.1 get

5 :
>>4
まだalphaなのジャマイカ

6 :
6

7 :
select count(*) from このスレ;
count
------
7

8 :
数えてる最中は>>7のスレは存在しないはずだがw

9 :
スレじゃねーレス

10 :
環境は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 :
chcpせずに client_encoding=SJIS することが多いんじゃないかな。

12 :
>>10
デフォルトでインストールされるPgAdminIIIを使ってもOKだぞ。
GUIなので、たぶんpsqlよりPostgreSQLを学習しやすいと思うよ。

13 :
>>11-12
client_encoding=SJISはやっていたんですが
12さんの方法で管理出来ました、ありがとうございました

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

15 :
公式サイトのドキュメントに、BNF形式の定義あったかな。
テキスト形式は、文字コードによって違うので、ソースみたらいいと思う。

16 :
これからパフォーマンスチューニングの勉強を始めるにあたって、オススメの本やサイトはありますか?

17 :
俺も知りたい。
マンモス本しか頼りにするものを知らない。

18 :
slideshareにあがってたかな、、
勉強会での8系の説明や設定値変更した場合の資料があったはず
@ITとかのは、少し前かな
http://www.google.co.jp/search?q=postgresql+8+チューニング&ie=UTF-8&oe=UTF-8&hl=ja

19 :
Conference 2011 Tokyo 参加者はいないのかな

20 :
参加したよ。
1つめの基調講演、ありゃなんなんだよ。

21 :
ためになったかい

22 :
>>16
公式のLets!のblogが結構良かった

23 :
>>16
パフォーマンスチューニングは、改善としては10〜30%位しか望めないけど
改悪の場合は底なしなので注意してね。と先日言われました。

24 :
>>20
事例紹介ではなかったの?

25 :
事例紹介だったが、ほとんど得るものなし。
プレゼンもヘタクソの極み。

26 :
>>18
まだ読んでないけどこれかや?
http://www.slideshare.net/kwappa/20090107-postgre-sqlsql-presentation
>>22
読んでみるさんくす
http://lets.postgresql.jp/

27 :
PostgreSQL (ぽすとぐれすきゅーえる)って(ぐれ)がなくて
PostSQL (ぽすとえすきゅーえる)だったらもっと普及したかもしれないって思った
ぐれ っていらないだろって

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

29 :
pgpoolのことってここでいいのかな?

30 :
PoSQL(ぽすきゅーえる)で良いだろ

31 :
名前の経緯は、
ingres →postgres →postgresql
postgresは、ingresの次の意味
その後、問合せ言語の標準化があり、対応版にsqlが付く
MySQLに合わせて、PgSQLとかならいいけど、
OSS-DBはちょっと無い

32 :
>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 :
(´・ω・`)

34 :
>>32
もし知ってたら教えてほしいんだけど
pgpoolで、デッドロックの対処とかsqlのキャンセルとかしたいときって
どういうやり方が一般的なのかな。

35 :
オンラインリカバリの説明見てて気になったんだけど
マスタとスレーブでアーカイブモードをONにする理由ってあるの?
マスタだけアーカイブONにしてスレーブにWAL持っていけばいいのでは?

36 :
そもそも可能なの?

37 :
where句にヒットしたデータのみダンプする方法ってありますか?

38 :
>>37
一旦テーブルに保存してpg_dump

39 :
>>37
COPY (SELECT ... WHERE ...) TO 'file'.

40 :
直接PostgreSQLには関係ないのですが、全文検索用のテーブルは他のテーブルとは別DBなりに分けたほうがいいものなんでしょうか?

41 :
なんていうか、ググレカスっていいたくなる質問が多いな。
全く考えてない。

42 :
ポスグレカス

43 :
googleSQLってデータベースを検索しろ、ってことか

44 :
でしょうね

45 :
>>40
postgresqlみたいにインデックスとして全文検索データ持ってる設計思想の場合を除いて、
一般的な全文検索エンジンは、別管理の場合が多い。
と、思ってるだけなので、違ってたらご指摘ください。

46 :
要件による。タダで答える気はない。
並の知能があればどうしたほうが良いかは思いつく。

47 :
全文検索ってXMLDBのほうが向いてんじゃないの

48 :
ぷ、全文検索する為にxml形式サポートしたようなもんじゃん

49 :
>>46
お前には答えてない

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

51 :
>>47
monetdb含めてxmldbは、XqueryのようなDOM構造の枝を検索するため出来ているので、
単純な全文検索に特化している訳ではない。

52 :
>>51
そんなこと言うならDB使う前に単純なファイルを正規表現で検索すればいい話

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

54 :
Windows版って、ちゃん動くのぉー
バグは減ったかな??

55 :
おすすめのレンタルサーバーってどこ?
MySQLオンリーのとこが多いねぇ(´・ω・`)ショボーン

56 :
どうしても専鯖とかVPSになっちゃうよね
あれこれしようと思うと共有サーバじゃどうしようもないことあるし

57 :
where句を使っていながら
すべてのレコードを抽出する書き方教えて

58 :
where 0 = 0

59 :
where true

60 :
まさかのインジェクション?

61 :
mysqlとpgsql共通化するなら、
trueのみのパターンだとmysqlが駄目だった気がする
昔試したのでmysql4.0の頃かもしれないが

62 :
query = "where 1=1 ";
if (foo) query += " and col1 = 〜 ";
if (bar) query += " and col2 = 〜 ";
というときに、常に真となる条件がよく使われるかも。

63 :
>>62
これってCかなんかの記法ですか?

64 :
プログラム内で検索条件組み立てるときの例

65 :
何でレンタルサーバーでPostgreSQL使えるところが少ないの?
せめてサクラで使えるようにして欲しい

66 :
>>65
まあ、時代はこちらだから。そのうち良くなるよ。

67 :
>>63
ただの擬似コードだよ

68 :
JavaScript なら通るな。

69 :
C#でも通ると思う。けど、まぁ、擬似コードなんでどれでも

70 :
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 :
serial型を主キーにしたテーブルにレコードをinsertし、
そのレコードの主キーを得たいです。
max関数では、insert直後に他者がinsertした場合、不正な
値になってしまいますよね。
どうしたらよいでしょうか?

72 :
RETURNING句を使う

73 :
もしくはcurrval関数を使う

74 :
>>73
解決になってない。
排他制御しろと思うかもしれないが、それならもともと大丈夫

75 :
>>74
同じ接続プールを他人と共有しているなら話は別だが、
そうでない場合は、currval関数の戻り値はセッションごとに独立だよ。
http://www.postgresql.jp/document/current/html/functions-sequence.html
を参照。
試してみるとよくわかる。
当然だが、接続を他人と共有しているなら、同じ接続の中では排他制御できない。

76 :
>>72,73,74,75
素早い回答ありがとうございました。
RETURNING句、currval関数とも、正しい解決策であること
をPostgreSQLの日本語マニュアルで理解しました。
今回の場合RETURNING句で実装することにしますが、
currval関数を知ったことは大きな収穫です。
ありがとうございました。

77 :
>>70
今時、UAC悪さしてるとか?
64bitが悪さしてるとか?
なんだろう

78 :
>77
お返事ありがとうございます。
WinServerでAdministratorでログインしてるので、
UACはスルーして常に管理者権限で動作しています。
64bitについては、postgreSQLもMecabも32bit版をインストールしてるので、
関係ないと思ってるのですが...
よくわかりませんね...

79 :
全文検索エンジン今Ludia使ってますが
textsearch_sennaに乗り換えたほうがいいですかね?
PG8.3以上を使える以外にメリットありますか?

80 :
AdministratorだからといってUACが完全に回避されるわけじゃないんだけど。
UAC切ってるってことなら話は別ね。
みんな当たり前のようにAdministratorでWindowsを使うようになってるから、Administratorにも制限を設けた。それがUACの本質。

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

82 :
chroot的なことされてるってことはないのかな

83 :
>80,81,82
ありがとうございます。
UACをOFFにしたり、
postgresとEveryone両方にフルコントロール権限あげたり、
〜/PostgreSQL/bin フォルダにパスを通してみたり、
PostgreSQLとMeCabを再インストール/インストールパスの変更 してみたり、
してみましたが、依然解決してません...
あきらめて textsearch_senna に変えてみましたが、
同様のエラーでインストールできませんでした。
libmecab.dll / libsenna.dll へのアクセスが失敗してるんだろうなぁという
予想はできるので、たぶん同様の原因で失敗してると思うのですが、
アクセス権限周りってほかに設定変更すべきところありますでしょうか。

84 :
32bitOSで64bitDLLを使おうとしてるとか

85 :
PG8.2をサーバエンコードをutf8でインストールしたんですが
psqlはsjisなので
psql起動のたびにクライアントエンコードをsjisに変更するのがめんどくさいです。
何か解決策があったら教えてください

86 :
$HOME/.psqlrc に SET CLIENT_ENCODING='SJIS'; ってのはどう?

87 :
ありがとうございます。自己解決しました。
環境変数
PGCLIENTENCODING

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

88 :
テーブル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 :
自己解決しました
INSERT INTO testtbl(date, name) VALUES(NOW(), '{DATA}')と書いたら動きました

90 :
LudiaのパフォーマンスチューニングのTipsあったら教えてください

91 :
OSの再インストールを含むいろいろやってみましたが、
どうにもならなかったので結局MySQL+Sennaでとりあえず作業するようにしました。
Postgres9.1がNGram対応らしいので
正式リリースしたときに戻ってきます。
いろいろありがとうございました。

92 :
おれはtextsearch_sennaで同様の症状が出た。
PCによってうまくいったり行かなかったりで安定しない
パスは合ってるはずだし何が悪いのかわからない

93 :
何でPostgreSQLiってないのですか?
MySQLiはあるのに

94 :
必要と思う人がいないからだろ

95 :
必要と思う人が作ればみんな幸せ

96 :
>>70, 92
MSVC C++ 2010 ランタイムがインストールされていないのでは。

97 :
>>96
サソクス
そんな前提条件があったのか。。
それ入れてみてやってみます。
それとは関係ないけど
RDBで数百万以上の文書に対する検索をするのは
ムリかなと思うこのごろ。
Solrやnosqlでの実装を考えようと思っています。

98 :
日付、id、名前、コメント、IP
この5つの項目をデータベースに入れたいのですが
どのようにテーブルを設計したらよいでしょうか?
全部1つのデータベースに入れないほうがいいですかね?

99 :
ほっほっほ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
24: 個人情報保護法、どうする? (125)
25: nullはヌル?ナル? (333)
26: 【麻呂投入】民主党研究第458弾【犬HKも非常事態】 (103)
27: [大文字/小文字]SQLの正しい書式[改行/インデント] (41)