PostgreSQL

Slony-IでレプリケーションしているDBに対して、停止せずにテーブルを追加する方法

Slony-IはPostgreSQL用の非同期のシングルマスタレプリケーションソフト。 意外と簡単にPostgreSQLのレプリケーションをすることが可能です。 今回は、一旦運用を開始したレプリケーションしているDBに対して、機能追加等でテーブルの追加が必要になった場合…

pg_statsinfoを使用する際の注意点

pg_statsinfoは、PostgreSQLやOSのリソース情報、統計情報をスナップショットとして取得するためのツールで、 複数のスナップショット間の差分をレポートとして出力できます。 これによって、DBで行われた活動状況の確認や性能ボトルネックの発見、また問題…

PostgreSQL8.3.7にLudia1.5.2をインストールする

2009/04/07時点の最新版であるPostgreSQL8.3.7+Ludia1.5.2をRHEL5.2にインストールしていたところ、 Ludiaのmake時に以下のようなエラーが発生した。 pgsenna2.c: In function 'pgs2build0': pgsenna2.c:613: warning: passing argument 4 of 'IndexBuildHea…

CREATE INDEXを使いこなす

検索時には大変お世話になっているインデックス。 使われなくても文句も言わずに更新され続けるインデックス。 ずっと放置して運用しているといつの間にか肥大化しているインデックス。 今回は、そんなインデックスを再構築する際に気をつけることをまとめて…

遅いSQLの見つけ方

OracleでSQLのチューニングをそこそこしていた人がPostgreSQLで同じことをやろうとした場合に 問題になるのはチューニング対象のSQLを探す作業だと思う。 Oracleであれば、SQL traceを仕掛けたり、$sql_textなどから引っ張ってきたり、Statspackのレポート読…

使用していないインデックスを見つける

普段は検索性能向上のために黙々と頑張ってくれているインデックス。 だが、中にはこっそりサボっているインデックスもいる。 アプリケーションの設計変更やデータ量、値の偏り、バージョンアップによる実行計画の変更等、 色々なケースでインデックスを使用…

PostgreSQLしくみ勉強会に行ってきた

産業技術大学院大学で開催されたPostgreSQLしくみ勉強会に参加してきました。 使用した資料も全て公開されているので興味のある方は読んでみると幸せになれます。きっと。 pgpool-IIのオンラインリカバリ、およびPITRの概要 PITRについては普段から運用で使…

共有システムカタログのインデックス破損時のリカバリ

ついカッとなって、PostgreSQLの共有システムカタログのインデックスを壊してリカバリすることにしてみた。マニュアルに一応、やり方は書いてあるのですが実際にやった人のブログ等ないので、やって見ます。 1.共有システムカタログ(今回は、pg_database)…

PostgreSQLチューニング〜SQL編〜

社内の勉強会用にPostgreSQLのチューニングについての資料を書いてみました。 どうせなんで、公開してみます。PostgreSQLには触ったことあるけど、チューニングについては初心者の方をターゲットにしてます。内容的には、胡散臭いところが数箇所ありますので…