タグ

ブックマーク / lets.postgresql.jp (6)

  • xlogdumpによるトランザクションログの解析 — Let's Postgres

    アップタイム・テクノロジーズ合同会社 永安 悟史 この記事は、PostgreSQL Advent Calendar #13の12月13日の記事です。 今回は、「PostgreSQL内部解析の強化期間」ということですので、普段はあまり覗くことのないトランザクションログの中を覗いてみる方法を解説します。 もっとも、普段あまり気にすることはなくとも、PostgreSQLのトランザクションログはアーカイブログとして保存してリカバリに使われたり、または(ファイル単位ではなくレコード単位ですが)レプリケーションの際の通信にも使われるものですので、知っておいて損はないでしょう。 普段、ほとんど気にせず使っている機能の内部がどのようなデータ形式になっているのか、その理解の一助になれば幸いです。 はじめに PostgreSQLは、データを障害から保護するために、データへの更新情報を時系列にトランザクションロ

    tksmd
    tksmd 2012/01/27
    xlogdump (WAL の解析ツール) -s とか -n あたりで、大体どんな事したのか分かりやすくなってる。
  • 稼動統計情報を活用しよう(2) — Let's Postgres

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 稼動統計情報を取得してみよう では、実際に稼動統計情報を取得してみましょう。稼動統計情報は、PostgreSQLのテーブルやビューの形で提供されています。pg_stat_* という名称のテーブル/ビューがそれらに当たります。そのため、取得にはSQLを用います。なお、psqlの\dコマンドなどでpg_stat_*のビュー定義を見てみると、pg_stat_get_*() 関数で各種情報が取得されていることが分かると思います。稼動統計情報を直接取得するには関数を使うのですが、それをビュー経由でユーザが閲覧できるようになっています。項では、pg_stat_*で提供されているビューを読み解いていくことにします。 それでは、前ページの冒頭で紹介した情報について具体的に解説していきます。下記は稼動統計情報の中でも多用される情報ですので、覚えておくと

    tksmd
    tksmd 2011/07/21
    PostgreSQL の統計情報
  • PostgreSQLのトラブルシュートとチューニング — Let's Postgres

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 この記事は、gihyo.jp & Let's Postgres 連動企画「今こそ!PostgreSQL」の第6回記事です。第6回目は、PostgreSQLのエラーメッセージや内部情報を見て、発生している問題の特定とその対策となるチューニングを紹介します。なお、トラブルの発生・予兆を適切に捕捉するためにも、ログの設定や稼動統計情報の監視をしておきましょう。 エラーメッセージについて トラブルと対策の前にエラーメッセージのレベルについて説明しておきます。PostgreSQLは複数のエラーレベルを影響範囲や深刻度によって使い分けています。エラーレベルそれぞれの解釈の仕方を下記の表にまとめてみました。 データベース管理者は、深刻な状況である PANIC と、性能情報を含む LOG レベルのメッセージに注意しましょう。一方、アプリケーション開発者

    tksmd
    tksmd 2011/07/21
    PostgreSQL のトラブルシューティング
  • ストリーミング・レプリケーション | Let's POSTGRES

    ストリーミング・レプリケーション (Streaming Replication) は、PostgreSQL 9.0 以降で利用できる、体組み込みのレプリケーション機能です。参照/更新が可能な1つのマスタDBへの更新操作を、参照のみが可能な複数のスタンバイDBへ転送することで、データベースを複製することができます。スタンバイDBに更新結果が反映されるまでには若干の遅延がありますが、比較的 遅延は少なく、マスタDBへの影響も小さいレプリケーション方式です。 用途 ストリーミング・レプリケーションには以下の用途があります。 多数の参照クエリのサーバ間分散 マスタDB異常時の迅速なフェイルオーバー (切り替え) マスタDBのディスク故障に備えたリアルタイム・バックアップ PostgreSQL 9.1 での強化点 バージョン 9.0 の目玉機能として登場したレプリケーション機能ですが、9.1 では

    tksmd
    tksmd 2011/06/29
    9.1 のストリーミングレプリケーションの方法。pg_basebacup が便利そう。
  • pg_upgrade | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 はじめに PostgreSQLでは、定期的なバージョンアップが行われます。バージョンアップには2種類あり、バージョン名 (x.y.z) の x または y が変化するメジャーリリース (8.3 → 8.4) と、z が変化するマイナーリリース (8.3.6 → 8.3.7) です。メジャーバージョンがアップするとDBクラスタの互換性がなくなるため、pg_dump等によるダンプを行い、新版のDBクラスタにデータをリストアする処理が必要です。 このダンプの取得とリストアは、非常に大きなデータを持つシステムでは長時間かかるため厄介でした。この作業が面倒で、古いバージョンを使い続けている方も多いのではないでしょうか?このようなダンプやリストア処理を不要にし、使用中のDBクラスタをそのまま新しいバージョンのPostgreSQLでも使い続けられるよ

    tksmd
    tksmd 2011/03/31
    pg_upgrade の紹介。リンクモードだとかなり短い停止時間で切り替えれる模様
  • ロケール(国際化と地域化) — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 PostgreSQL でロケール (国際化と地域化) の設定を行うと、データベース内での文字列処理、日付や通貨の表示、メッセージの言語などを変更することができます。特に PostgreSQL 8.4 では、日語のメッセージ・カタログが追加されたため、エラーメッセージを日語化したい場合にはロケールを設定する必要があります。 ただし、C ロケール以外を設定すると、インデックスが使われないなどの性能への影響がある場合もあります。また、特に古いバージョンの PostgreSQL では、誤った設定によりサーバが正しく動作しなくなるケースもありました。 この記事では、ロケール設定の効果を結果例を交えて解説すると共に、トラブルへの対応方法を示します。PostgreSQL で日語を扱う際に、ロケール設定を決める時の参考にして下さい。 Postgr

    tksmd
    tksmd 2009/10/01
    8.4 ロケール
  • 1