タグ

lets-postgresに関するnabinnoのブックマーク (282)

  • これを読めば PostgreSQL の全てが分かる!PostgreSQL ガイドブック (3) | Let's POSTGRES

    PostgreSQL の特徴 ここでは、現在の PostgreSQL が他のデータベースと比べて特徴的と思われる点を説明します。詳細は、記事「PostgreSQLの機能と他のRDBMSの比較」もご覧ください。 標準SQLへの準拠 現在の主要な RDBMSSQL インタフェースは、ISO/IEC の標準 SQL にならった実装になっています。しかし、多くのDBMSでは、標準 SQL に準拠もしくは完全対応をうたいながらも、独自の SQL 拡張が多かったり、実用上は標準 SQL の構文よりも独自構文の方が使いやすいなどの 方言があります。 PostgreSQL も独自の方言がないわけではありませんが、安易に独自の構文を導入せず、標準 SQL に従うよう配慮されています。 並列実行性能に重点 CPU 数が増えた場合のスケーラビリティが高く、接続数が増えても性能が維持されます。追記型のデータ

  • 目的別ガイド:チューニング編 — Let's Postgres

    この記事では PostgreSQL のチューニングの概要を紹介します。まずは PostgreSQL のチューニングの勘所を掴んでください。各項目についての詳細はリンク先の記事で紹介していますので、そちらをご覧下さい。 チューニングの流れ PostgreSQLのチューニングとして必要な作業には何があるのでしょうか? システムの開発状況やボトルネックによって必要な作業は変わってきますが、およそ以下の事項が挙げられます。 1. 情報収集と分析 チューニングを総当りで試すのは得策ではありません。まずは「ログ」や「稼動統計情報」を収集し、パフォーマンスのボトルネックを見つけることが先決です。特に良くあるトラブルは「トラブルシュートとチューニング」にも対処方法があります。 2. チューニングの実施 最も影響の大きなボトルネックから順にチューニングしていきます。 ボトルネックが解消されるまで、それ以外の

  • 単純なデータ処理をやってみる — Let's Postgres

    農業・品産業技術総合研究機構 近畿中国四国農業研究センター 寺元 郁博 はじめに PostGIS では、幾何関数やジオメトリ型を、PostgreSQL のクエリの中に混ぜ込むことができます。 WHERE 句に幾何関数を使ったり、INSERT, UPDATE 等で使用することができます。 ビューで扱うこともできます。 今回はごく簡単なデータ処理の例を示してみます。 広島県内の市区町村ごとの駅の数を数え上げて、多いところ少ないところを色分けして表示します。 数え上げまでを PostGIS で行います。 例での前提は次の通りです。 データベース名は pgis 格納するデータは2種類 国土数値情報 (行政区域) のうち広島県 国土数値情報 (鉄道) テーブルは3つ admarea station rail (使用しません) 全テーブルのジオメトリカラム名は the_geom (shp2pgsq

  • Cygwin版psqlを使ってみよう | Let's POSTGRES

    先回 は EnterpriseDB 社パッケージを使って PostgreSQL を導入しました。サーバといっしょに GUI の管理ツール pgAdmin がインストールされてはいますが、番環境のデータベースサーバでは、コマンドラインでの操作が必要になることも多いのではないでしょうか? せっかく PostgreSQL には、psql という高機能な CUI ツールがあるので、操作に慣れておきたいところです。ただ、Windows 版の psql は、コマンドプロンプトの制約により使い勝手が良くありません。そこで、Cygwin をインストールし、Unix/Linux 環境と同様な使いやすい psql 環境を構築します。 Cygwin のインストール www.cygwin.com から setup.exe をダウンロードします。Cygwin も、ウィザード形式でインストールが進みます。途中でイン

  • PostgreSQL 9.0 のその他の新機能 — Let's Postgres

    PostgreSQL の主要な新機能はこちらを参照してください。 SQL 構文の強化 string_agg 文字列を連結して集約する string_agg 関数が追加されました。 以前のバージョンでも array_agg + array_to_string で同じ結果が得られますが、より高速です。 他のデータベースにも同様の関数はありますが、MySQL では group_concat()、Oracle Database では listagg() と名前は異なります。 =# SELECT array_to_string(array_agg(t), '+'), string_agg(t, '+') FROM tbl; array_to_string | string_agg -----------------+------------ a+b+c | a+b+c (1 row) functio

  • PostgreSQL利用の現状 — Let's Postgres

    NTT オープンソースソフトェアセンタ 坂田 哲夫 第1回 PostgreSQL利用の現状 - データに見る現状と課題、そして展望 はじめに このサイト Let's PostgreSQL は、PostgreSQL を利用しようとする方、これから PostgreSQL を採用する方に向けて、さまざまな情報を発信することを目的として開設しました。それでは、現時点で PostgreSQL はどのように利用されているのでしょうか? また、利用を進める上で何が課題になっているのでしょうか? このレポートでは、ネット上で手に入る各種のデータをもとに、これらの問いに答えることを試みます。これから PostgreSQL を利用しようとしている企業の方には、現時点での普及や利用の状況を知ることは、利用の判断のために役立つことでしょう。すでに利用していても、まだ適用していない分野への展開や、自社の強みを分析す

  • CentOS で PostgreSQL を使ってみよう! | Let's POSTGRES

    SRA OSS, Inc. 日支社 安齋 希美 この記事は、「UbuntuでPostgreSQLを使ってみよう」の CentOS 版です。 CentOS とは、Red Hat Enterprise Linux (RHEL) と互換性のあるディストリビューションで、無償で入手して利用することができます。 PostgreSQL のマニュアルにのっている チュートリアル が全部できるようになるまでをご説明します。 なお、この文書では CentOS 5 (Update 2) を例にしています。 1. CentOS のインストール インストールは、新しい PC にでも、仮想化環境にでも構いません。詳しくは、「UbuntuでPostgreSQLを使ってみよう」でご覧いただけます。 CentOS を 公式サイト からダウンロードします。 インストールの詳細な手順は割愛します。インストール後の設定で、「

  • PGCon2010参加レポート (開発者会議編) — Let's Postgres

    NTTオープンソースソフトウェアセンタ 板垣 貴裕 カンファレンスには PostgreSQL のユーザの他、多くの開発者も参加します。 そこで、カンファレンスの前日に、開発者会議 (Developer Meeting) を開催し、PostgreSQL の主要な開発者や大きなシステムで利用しているユーザが集まりました。 丸一日ホテルの会議室を借り切って、これまでの開発の振り返りと、今後の発展について、密度の高い議論が行われました。 筆者も開発者の1人として会議に参加しましたので、その模様をお伝えします。 また、会議の詳しい議事メモは PostgreSQL Wiki (英語) にまとまっています。 PostgreSQL 9.0 の開発を振り返って 9.0もβテストに入り、開発としては一段落ついていました。 PostgreSQL 9.0 の開発では、これまでに無い試みが行われました。 「コミット

  • PostgreSQLの導入と初期設定 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 この記事は、gihyo.jp & Let's Postgres 連動企画「今こそ!PostgreSQL」の第4回記事です。「PostgreSQLの今を知る」シリーズに続き、今回から 4回に分けて PostgreSQL の使い方を解説していきます。第4回目は、PostgreSQL の導入、管理ツール類、運用を始める前に確認しておくべきポイントについて解説します。 インストール、基ツール、追加の GUI ツールについて解説します。 インストール PostgreSQL はソースコードや実行バイナリの形式で配布されています。32bit版と 64bit版がありますが、OS に併せて選ぶのが適当だと思います。(Windows では 32bit版のみ) インストールの手順は「目的別ガイド:インストール編」に一覧があります。CentOS, Ubunt

  • PostgreSQLの開発プロセス — Let's Postgres

    概要 PostgreSQLの開発プロセスは、他の典型的なオープンソースプロジェクトと同様な部分もある一方で、信頼性の高いデータベースシステムを開発する上での複雑な要求に答えるために、異なっている部分もあります。稿では、PostgreSQLの開発モデルを議論し、この開発プロセスが採用されている理由を説明します。 はじめに 1996年以来、PostgreSQLを開発するボランティアは増え続けています。世界中の非常に優秀なデータベース開発者が、インターネットを使って連絡をとりながら、このもっとも進歩したオープンソースデータベースを作っています。 従来の開発チームのやり方とは異なっているため、PostgreSQLコミュニティによる開発プロセスは分かりにくいところがあります。例えば、すべてを統括する権威者がいない、バグトラッキングシステムがない、開発におけるロードマップがない、リリース日が定められ

  • pgAgentでジョブを定期実行する | Let's POSTGRES

    はじめに pgAgentはPostgreSQLのジョブ・スケジューラです。似たような機能を持つものにMicrosoftSQL Server Agentがあります。pgAgentは、Windows, Linux, MacOS X, Solaris, FreeBSDなど、いろいろなOSで動作します。pgAgentを使うと、権限を持ったユーザが、単一または複数のSQLやシェルコマンド、バッチコマンドなどをスケジュール通りに実行できます。古いレコードをアーカイブしたり、日々のトランザクションをバッチ処理する、というようなメンテナンス用の処理を実行させるのが一般的な利用方法です。 通常は、pgAgentをデータベースが稼働している同じサーバにインストールして使いますが、複数のpgAgentを、データベースが稼働するサーバ以外のサーバにインストールする方がよい場合もあります。pgAdminを使うと

  • SQLを使ってログ解析をしよう | Let's POSTGRES

    各項目がカンマ区切りのテキストで1行を構成します。実際には下記のような内容です。 (注)幅の関係で1行のデータを2行に分けて記述しています。 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:03,1,277,DoSearch,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:04,2,115,ShowList,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:06,3,344,DoSearch,date 20100701 sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017

  • ログ解析にWindow関数を利用してみよう (遷移/離脱) | Let's POSTGRES

    夏目 伸彦 前回までで、ログデータを扱いやすい形のテーブルにしました。今回は具体的に分析を進めていきます。分析すべき内容はニーズによって様々ですが、今回は詳細ページへの遷移率、及びその他の要因との関係を見ていくことにします。 遷移と離脱 遷移率は検索画面において大切な指標になります。検索において、ユーザーが結果を見て次の画面に遷移するか離脱するかは、検索結果の品質や操作性が優れているか否かにかかっていると言えるでしょう。従って遷移率は是非知っておきたい情報です。さらに遷移したユーザとそうでないユーザを特定したとき、「それぞれがどのぐらいサイトに滞在していたか」や「サーバからのレスポンス時間がどうだったか」を調べると、検索サイトの改善ポイントが見つかるのではないかと仮定します。 まとめると、遷移したユーザと離脱したユーザがどれだけいるのか、またユーザーの遷移と相関のある要因はないか、というこ

  • ログ解析にWindow関数を利用してみよう(寄与度) | Let's POSTGRES

    Hitoshi Harada 分析の対象として前回ではセッションをターゲットに行いました。ログデータにはパラメータの情報が残されており、この情報をうまく分析できれば何か知見が得られるかもしれません。 条件パラメータの寄与度を調べる どのような条件で検索した人が詳細ページまで遷移しているかがわかれば、Webサイトの最適化の一助となるでしょう。つまり、「最初の検索で行き先を指定した人の方が詳細まで遷移しているのか?それとも日付を指定した人の方が詳細まで遷移しやすいのか?」を調べることで、よりユーザフレンドリーなWebへの改善が見込めそうです。 行を返す関数 集めたログから条件の寄与度を調べるためには条件をキーとした集計をできれば良さそうですが、ログの単位はセッションやアクセス単位になっていて、なかなか条件をキーにした形にするのは難しそうです。 ここで、条件パラメータを hstore にしておい

  • 論理バックアップ(pg_dump と pg_dumpall) | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 鈴木 幸市 3. 論理バックアップとリストア 論理バックアップを行うツールは pg_dump 及び pg_dumpall です。 pg_dump は PostgreSQL データベースクラスタの各データベース単位にバックアップを行います。pg_dumpall はターゲットのデータベースクラスタに格納してある全データベースのバックアップを行います。 pg_dump も pg_dumpall も、バックアップデータはデータベースを復元するために必要な SQL 文で構成されます。 従って、pg_dump や pg_dumpall を使うと PostgreSQL データベースの内容を別なデータベースに移行したり、特定のテーブルだけをバックアップしたりすることが可能となります。 pg_dump, pg_dumpall を使うためには特別な用意はいりませんが、

  • PostgreSQL上にMediaWiki環境を構築 (2) — Let's Postgres

    PostgreSQL のインストールに続き、MediaWiki の設定をします。日語のページを検索できるようにするため、textsearch-ja を追加します。 MediaWiki の初期設定 ブラウザで http://localhost:8080/mediaWiki/ へアクセスすると MediaWiki のページが表示されるはずです (図3)。"set up the wiki" をクリックして初期設定をしましょう。必要な項目は予め設定されているので、以下の項目を設定するだけで基的な設定は完了します。 Wiki name Contact e-mail Language (「ja - 日語」へ変更する) Wiki 管理ユーザのパスワード 図3 : MediaWiki 初期設定 緑色の文字で "Installation successful!" と表示されたらインストールは成功です。

  • PostgreSQL導入に向けての取り組み ~大規模システムへの適用を目指して~(5) — Let's Postgres

    4.3 運用面の着目点 3: DB メンテナンスの改善 データの断片化による性能低下に対処する方法として、弊社では PostgreSQL の CLUSTER コマンドを利用するようにしていました。 それは、一時的に対象の表と同程度の空き領域がディスクに必要となるものの、テーブル再編成の処理が高速に行えるためです。 しかしながら、CLUSTER はテーブルに対して ACCESS EXCLUSIVE ロックを取得します。 そのため、データベース操作(参照/更新両方)がブロックされ CLUSTER 処理中はサービスを停止する必要があります。 24 時間 365 日運用でサービス停止時間の確保が不可能な場合や、夜間に大量のバッチを実行する必要があるシステムの場合、 CLUSTER によるサービスへの影響は、PostgreSQL 適用の大きな課題の  1 つとなっています。 そのようなシステムに対し

  • 第6回 (最終回) PostgreSQLによるXML処理落ち穂拾い -XML Schema検証アプリケーションとの連携、PostgreSQL のXML名前空間対応- | Let's POSTGRES

    第6回 (最終回) PostgreSQLによるXML処理落ち穂拾い -XML Schema検証アプリケーションとの連携、PostgreSQL のXML名前空間対応- 響 楽人 1. はじめに 2009年3月に連載第一回を掲載してから早いもので半年が経ちました。PostgreSQLでのXMLサポート機能についてはこれまでの連載でほぼ網羅しましたので、最終回となる今回はまず、PostgreSQLには組み込まれていないXML Schemaによるデータチェックの方法について解説します。また、XMLの重要な概念で、PostgreSQLも対応しているXML名前空間についても説明します。 2. XML Schema検証アプリケーションとPostgreSQLとの連携 XML Schema検証アプリケーションはPostgreSQLに組み込まれていないため、現状ではXML SchemaによるXMLデータの妥当

  • PHPの内部エンコーディングでUTF-8を使う | Let's POSTGRES

    語などASCII以外の文字集合を使う場合は、そのシステムでどの文字セットをメインに使用するか、ということが最初に決めるべき事項の1つです。代表的なものにShift_JIS(SJIS、SJIS-win)、EUC-JP(eucJP-win)、UTF-8、UTF-16などがあります。 ただShift_JISなど、バックスラッシュ(≒エスケープ記号)が通常の文字の2バイト目として含まれてれる可能性のある文字エンコーディングでは、正規表現関数(preg_*** あるいは eregなど)や、マルチバイト文字列関数(mb_***)などの関数が正しく動かないケースや、各種エスケープ処理が意図した通りには動作してくれないことが多々あります。 また、PHPの内部エンコーディングをPostgreSQLで使用する文字セットと揃えておくことで、変換にかかるサーバ上のコストや変換で生じる脆弱性を低減することができ

  • Mac OS X で PostgreSQL を使ってみよう | Let's POSTGRES

    第四企画  坂井 潔 はじめに この記事では、Mac OS X の現時点(2009-05-16)での最新版であるバージョン 10.5.7 (Leopard) に、今回は EnterpriseDB 社が提供する「ワン・クリック」インストーラを使って簡単に PostgreSQL をインストールし、動かしてみたいと思います。 1. 用意するもの 1.1 Mac 筆者が使用した Macintosh は、一世代前の MacBook White です。 プロセッサ