Postgresql/Oracleワー
キングセットサイズ
の違いについて
岸本拓也
Postgresqlのプロセス生成の仕組み
• PostmasterがClientからの接
続要求を5432portで待機
• Postmasterが子プロセスを生
成
• それぞれのプロセスがクライ
アントからのSQL要求を実行
Oracleのメモリ空間=単独プロセスで実行
• Oracleはバックグランドプロ
セスもそれぞれのセッション
も同一プロセス、マルチス
レッドで実行される
• Windowsでは同一プロセス内
の仮想メモリアドレスは共有
可能
Postgresql/Oracleメモリ空間の違い
Postgresql Oracle
実行リソース プロセス スレッド
DBメモリ空間
shared_buffers + wal_buffers
+ 各プロセス
SGA + PGA
総ワーキングセッ
トサイズ
大 小
メモリ参照の仕組
み
複数プロセスが同一メモリ空間をそ
れぞれ参照
単独プロセス内のスレッドが同
一メモリ空間を参照

Postgresqlのワーキングセットが大きくなる現象について