2012-01-01から1年間の記事一覧

xpath関数の問題はWindows版固有じゃなかった件

背景 先日のWindows版PostgreSQLで正しいはずのXPathが正しく評価されない問題をLinux版PostgreSQL 9.1.3でも確認した。 検証結果 結論からいうとWindows版の問題じゃなくて、PostgreSQL xpath関数または背後のlibxml2の問題っぽい。 つーか、なんで今までこ…

PostgreSQL 9.2 beta release

pgsql-announce の記事から 9.2のbeta版がリリースされましたね。 PostgreSQL: PostgreSQL 9.2 Beta 1 Available for Testing PostgreSQL: Documentation: 9.2: Release 9.2 とりあえず見てみた。 今回は以前のカンファレンスでも聞いたように、性能向上/ス…

SQLXML型+PostgreSQL JDBCドライバ

どうやらPostgreSQL JDBCドライバのType3だとSQLXML型はサポートしてないようだ。 Type4ドライバだと問題なし。ちぃ、覚えた! つーか、ドキュメントにそんなこと書いてあったけなあ・・・

Windows版PostgreSQLのxpath関数のバグ?

Windows版PostgreSQLのxpath関数にバグらしき問題がある。どういうことかというと、日本語を含むパスを正しく評価できないときがある。 結果 クエリ 正常 SELECT xpath('/クラシック演奏会/名称', data) FROM sample エラー SELECT xpath('/クラシック演奏会…

xml_fdwふたたび

もしかすると次回のJPUG勉強会で進捗を聞かれるかもしれないので、そろそろ準備をしておかないとまずいか。 TODO再整理 とりあえずTODOを再整理しておこう。 ソースの公開 githubとかでいいのかな?こういうのやったことないから・・・ XPathがヒットしない…

Windows版PostgreSQL+pgAdmin3のロケール

久々にWindows版のPostgreSQL+pgAdmin3を使ってデータベースを生成したときに気づいたんだけど、何も考えずにデータベースを生成するとロケール(照合順序)がCではなくJapanese.Japan.932(SJIS?)になるのな。 ロケールをCで作成したい場合には、作成時に「…

plpgsql関数の中でplpgsql関数を作成する

背景 今まであんまり真面目にplpgsqlを使ったことがなかったんだけど、今やっている仕事の一環として、デバッグ用のスクリプトをplpgsqlで組んでいて、ちょっと困ったことになっていた。 構造は同じなんだけど、テーブル名が異なるテーブル群に対して、1つの…

特定のルート要素名と名前空間をもつXMLを特定する

要素名や名前空間を条件にしたいとき xml型に任意のスキーマを持つ(ルート要素も異なる)文書を放り込むような使い方をする場合には、ルート要素が何かというのを特定しなくちゃいけないが、要素名そのものや名前空間を条件にするのは、ちょっと面倒だったり…

tuplock extension

しばらく本業その他にかまけていてPostgreSQL関連のwatchをなんにもしてなかった・・・。 で、一週間くらい前にANNOUNCEのMLに流れていたんだけど、tuplockなるextensionがあるらしい。 tuplockとは? ざっと斜め読みした感じでは、ロック用のタプルをテーブ…

ExpressでPostgreSQLアプリ(1)

はじめに(あるいは言い訳) 今月は検討や年度末のあれこれで、それなりに忙しいけれど、そんなときこそ息抜き的なプロジェクトをやるべし。昨年末に素のnode + node-postgresでWebアプリ、なんてやろうとしたけど、この方法はあんまりだという気もしたので、…

PGCon2012

ちょっと遅くなったけどPGCon2012のレポっす。ということで今年もPostgreSQL Conference 2012 | 日本PostgreSQLユーザ会へ行ってきました。場所は昨年と同様に品川APの会議室。 9:30に到着したら既にエレベータホール前に大行列!ここでK俣君と合流。 入場し…

xml_fdw(JPUG しくみ分科会発表用)

そういえばこっちに貼っておくの忘れてた。 先週末(1/20)にあった、しくみ分科会の発表資料。 Google スライド - オンラインでプレゼンテーションを作成/編集できる無料サービスです JPUGのページに公開されているのはPDF版でちょっとフォントの関係で表示が…

pgbenchでUNLOGGEDの効果を再確認(接続数=1)

測定環境/方式の変更 前回の検証結果が微妙だったので、永安様のコメント(shared_buffersの増加)と、autovacuum=offの設定を追加して、再度pgbenchの通常テーブル版とUNLOGGEDテーブル版の差異を確認してみた。 shared_buffers 2GB checkpoint_segments 100 …

バイナリ形式COPY文の怪

ちょっと仕事の関係でバイナリフォーマットをCOPYしようと思って気がついたこと。 (環境はPostgreSQL 9.1.2)PostgreSQLのCOPY文ではOPTIONでFOMATの指定が可能なのだが、text, csvは普通に記述できるけど、binaryを書くとsyntaxエラーになってしまう。(´・ω…

url形式ドメイン(不完全版)

PostgreSQLにURL型みたいなのないの?と聞かれたので、正規表現でチェックするようななドメイン作ってあげればなんとかなるんじゃない?と答えておく。とりあえずサンプルを作ってみる。本当はRFC 1738 - Uniform Resource Locators (URL)をきちんと読んで、…

テーブルがUNLOGGEDで作られたものか調べたい

先日のpgbench UNLOGGEDの調査をしていて思ったんだけど、今のpsqlの\dコマンドでは、どのテーブルがUNLOGGEDになっているのかが一覧からは分からない・・・。foo=# \d List of relations Schema | Name | Type | Owner - public | foo | table | pgxml publ…

pgbenchでUNLOGGEDの効果を見てみたが・・・

先日、COPY操作に関するUNLOGGEDの効果は確認できたんだけど、ベンチマークではどうなんだろう?と思って、とりあえず簡単に試せそうなpgbenchで試してみようと思ったのだが・・・ pgbenchの改造 PostgreSQL 9.1のcontrib/pgbenchが-iオプションで作成するテ…

DROP EXTENSION追跡(途中)

先日、PostgreSQL 9.1から導入されたパッケージ管理機能、EXTENSIONを使ってパッケージ化をしてみた。で、ふと思ったこと。そういえば今まではアンインストール用のスクリプトファイルを別に用意して、そこにDROP FUNCTIONやらをいろいろ書いていたのに、今…