特徴・機能 様々なデータベースへの接続 Oracle Database へはOCI接続(オラクルクライアント経由)、直接接続(オラクルクライアント不要)で接続出来ます。 PostgreSQL, MySQLへは直接接続(クライアントライブラリ不要)で接続出来ます。 Microsoft SQL Server へは NativeClient 経由で接続できます。 それ以外のデータベースへはADO(OLE DB)または、ODBCで接続出来ます。 SQL入力支援機能 Ctrl+SpaceでSQL文を解析しテーブル名やテーブルカラム名の入力補完が行えます。 共通表式や副照会も解析する強力な機能です。 GUIでのクエリーの設計と分析機能 GUIを使いクエリーの設計と分析を使ってクエリーを作成することができます。 実行計画取得機能 RDBMSがSQLを実行する際の実行計画(アクセスプラン)を表示します。
Postgresql 9.3でJSON関連のサポートが強化されている。 JSON型 (>=9.2) JSON演算子 (読み込み専用アクセッサ) JSONサポート関数 (JSON データ変換) 9.3リリースの目玉機能だが、使ってみた人が少ないのか一向に情報が上がってこない。 ドキュメントを見てもなんだか面倒くさそうで自分から使う気は起きない。 実際の使い勝手はどうなのか、たまたま開発で触る機会があったのでまとめておく。 PostgreSQL自体そんなに詳しいわけではないので、間違いがあったら突っ込んでほしい。 追記: PostgreSQL 9.4 のリリースで jsonb の登場するなど状況がかなり変わっている。 9.4 ついてもフォローしたので参考にしてほしい。 PostgreSQL 9.4 の JSON サポートについて PostgreSQL JSON の応用メモ テーブルデータをJS
PostgreSQL 9.2より追加されたJSON型だが、特徴を理解して適切に使わないと色々な副作用に悩まされることになる。その問題点を挙げると共に、どのような場合に使うべきかの指針を示す。 PostgreSQLは、データ型としてjsonをサポートしています。しかし、やりたいことがある時に何でもかんでもjson型を使ってしまうというのはやめるべきです。これは、hstoreや新しく登場したjsonb型にも同じことが言えます。これらの型は必要な時には便利なツールになりますが、PostgreSQLでデータのモデリングを行う際に最初に検討すべきものではありません。 なぜなら、データを呼び出したり操作したりするのが難しくなってしまうためです。 何もかも同じところに入れてしまおうとすることによるアンチパターンをご存知の読者もいるでしょう。EAVアンチパターンは、長らくデータベーススキーマにおける必要悪
主にPostgreSQLで、アプリケーションがスケールしていくことを考慮に入れずに後で困ることになりがちな設計のポイント。今後巨大にスケールする必要が分かりきっている際には特に注意すべき点。 開発者として仕事を始める時には、参ってしまうほど覚えなくてはいけないことがあります。まず最初に言語自体、それから使っているフレームワーク特有のクセ、さらにその後(あるいはその前)にフロントエンド開発を織り交ぜ、そしてその先でデータをどこに保存するかを決めなくてはなりません。 最初の頃は、素早く身につけるべきことが多すぎて、アプリケーションのデザインにおいてデータベースは後から付け足すものになりがちです(おそらくこれはエンドユーザーエクスペリエンスに影響がないからでしょう)。その結果、データベースが動き始めてから直さなくてはならない数々の悪い習慣が存在しています。ここでは、そのうちのいくつかについて概要
また、PostgreSQL にはいわゆる CLOB, BLOB のような巨大データ専用の型は存在せず、1GB までであれば text や bytea 型をそのまま使えます。1GB を超える場合はラージオブジェクトも利用できますが、アクセスや管理の方法にクセがあるためお奨めできません。数MBまでは text や bytea を使い、それを超えるようなら外部ファイルとして保持したほうが、むしろ安心して運用できるかと思います。 char と varchar, text の比較 PostgreSQL の文字列は以下のような特徴があります。 1. char(n) や varchar(n) の 'n' は「文字数」を表す 他のデータベースではバイト数を表すものもあるので注意しましょう。 2. char(n) は n 文字になるように末尾に空白を追加して保持する n 文字ぴったりで無い限り、末尾の空白の
板垣 貴裕 テキスト検索にもさまざまな方法があります。大量のテキストを検索するにはインデックスを使って検索したいところですが、どんな検索にも応えられるインデックスというものは、さすがに存在しません。それぞれのアプリケーションの条件に適したテキスト検索方法やインデックスの張り方を選んで行きましょう。 今回説明するテキスト検索の方法の一覧を以下に挙げます。PostgreSQL ユーザが「全文テキスト検索」というと「単語単位の検索」を指すことが多いようです。また、「中間一致検索」が「あいまい検索」と呼ばれることもあるようです。用語が厳密な意味で使われないことも多いようなので、文脈には注意して解釈してください。 「単語単位の検索」と「中間一致検索」では、追加のモジュールを導入することで日本語全文検索が可能なインデックスを作成できます。こちらは説明の後半で紹介します。以下、本記事の内容です。 テキス
PostgreSQLアンカンファレンス@東京(2015/5/30)でPostgreSQLの日本語全文検索まわりについて紹介しようかとたくらんでいます。しかし、現時点(2015-05-25)でキャンセル待ちで、当日参加できないかもしれないので紹介しようと用意している内容をここにまとめます。 内容 この資料の目的は、PostgreSQLで使える次の3つの方法の特性を紹介し、ユーザーが適切な方法を選択するための材料を提供することです。 LIKE pg_bigm PGroonga(ぴーじーるんが) LIKE LIKEのメリット・デメリットは次の通りです。 メリット 標準で使える インデックス作成不要(= データ更新が遅くならない) データが少なければ十分速い デメリット データ量に比例して遅くなる ユーザーがLIKEを使うかどうかの判断基準は「十分速いかどうか」(= 「データが少ないかどうか」)で
調べた経緯 データベースの内容を全文検索したいという要望は定期的にあるので、常に情報は探しているんだけど、PostgreSQLに関しては調べたことなかったので色々調べてみた。 Senna Senna 組み込み型全文検索エンジン - Senna 組み込み型全文検索エンジン これがスタンダードだった時期もあるんだろうけど、結局PostgreSQL9.x系にインストール出来なかった。 textsearch_sennaを使って動かそうとしたんだけど、そもそも公式サイトで配布されている圧縮ファイルをダウンロードしても、ちゃんとインストール出来ない。 CVSでソースコードをダウンロードして・・・という手順だと動くとMLに書かれていたので、チャレンジしてみたけど結局ダウンロード出来なかった。 ダウンロード出来たとしても、Senna本体が2010年からリリースされてないみたいだから、はっきりいって今更感が
VACUUMとVACUUM FULL VACUUMコマンドと関連する自動バキュームプロセスはPostgreSQLのMVCCの膨張化を制御する手段です。 VACUUMには大きく2つの形式があります。通常のVACUUMとVACUUM FULLです。 これらの2コマンドは実際には大きく異なるものですので、混乱してはいけません。 VACUUMはテーブルをスキャンし、新しく挿入または更新されるデータで上書きすることができるように、不要となったタプルに空き領域印を付けます。 この詳細についてはIntroduction to VACUUM, ANALYZE, EXPLAIN, and COUNTとPostgreSQLの文書MVCCを参照してください。 適切に設定されていればautovacuumが代わりに面倒をみますので、最近のPostgreSQLデータベースでは直接VACUUMコマンドの使用が必要になる
NTT オープンソースソフトウェアセンタ 板垣 貴裕 Windows Vista へ PostgreSQL をインストールし、データベースを利用するための環境を整えます。インストールには EnterpriseDB 社のバイナリ・パッケージを使います。解説の最後で、初期設定やデータの移動に関する、よくある質問についても補足します。 インストールの流れ 最初にインストールが何を行うのかと、インストールされるファイルを整理しておきます。PostgreSQL サーバ本体に関しては、ウィザードに従えば一括でインストールされます。 ダウンロード バージョン 8.4 では、Windows 用のパッケージは EnterpriseDB 社によりメンテナンスされています。コミュニティのダウンロードページから辿れるインストーラを利用するのが手軽です。postgresql-8.4.0-1-windows.exe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く