26
1 PostgreSQL on Windows Magnus Hagander [email protected] PostgreSQL Global Development Group

PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander [email protected] PostgreSQL Global Development Group

  • Upload
    others

  • View
    42

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

1

PostgreSQL on Windows

Magnus [email protected]

PostgreSQL Global Development Group

Page 2: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

2

アジェンダ

なぜ PostgreSQL on Windows?WindowsユーザのためのPostgreSQLPostgreSQLユーザのためのWindows

Page 3: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

3

アジェンダ

なぜ PostgreSQL on Windows?WindowsユーザのためのPostgreSQLPostgreSQLユーザのためのWindows

Page 4: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

4

なぜPostgreSQL on Windows?

Linuxの方がより良いのでは?しばしば。しかし常に良いわけではありません。

いくつかの筋書き

開発者用ノートPCデスクトップデータベース

移植の筋書き

企業方針

Page 5: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

5

アジェンダ

なぜ PostgreSQL on Windows?WindowsユーザのためのPostgreSQLPostgreSQLユーザのためのWindows

Page 6: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

6

WindowsユーザのためのPostgreSQL

Unixからの継承マルチスレッドではなく、マルチプロセス

共有メモリ

「新版」windows が必要(2000+, FATはだめ)コマンドライン!psql, pg_dump, pg_dumpall, etcpgAdmin3 による救済!

Page 7: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

7

WindowsユーザのためのPostgreSQL

環境変数

構成ファイルレジストリなし

好みのテキストエディタで編集(例:notepad)pgAdmin3で編集テキストファイルの継続使用

再ロードはサーバにシグナル(休止サービス)

セキュリティ管理者権限による起動の禁止

Page 8: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

8

アジェンダ

なぜ PostgreSQL on Windows? WindowsユーザのためのPostgreSQLPostgreSQLユーザのためのWindows

Page 9: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

9

PostgreSQLユーザのためのWindows

It’s a brave new world勇ましい新世界通常のツールがない

ps ×

kill ×

top ×

cron ×

Windows組み込みツールは一般的に不利

Page 10: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

10

構造的な差異

サービスとして稼動

Windows版のデーモン「サービス管理マネージャ」による起動

独自のログイン

ファイルへのログ、もしくはeventlog起動エラーは常にeventlog

fork()ではなく、CreateProcess() 接続プール使用に際する特別な重要性

Page 11: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

11

PostgreSQLのインストール

MSIを使用外部言語にはPATHが通っていること

Perl, python, tcl などPathはユーザごと、もしくはシステムごともしくは、ソースからインストール

複雑、非標準なビルド環境

複数インスタンス

Page 12: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

12

構成パラメータ

共有メモリ作業量(Workload)依存より小さいは、より良いこと?

fsyncメソッドopen_datasyncfsync_writethrough

log_destinationlc_xyz

Page 13: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

13

PostgreSQLの管理

適正なツールの入手!http://www.microsoft.com/technet/sysinternals

Process Explorer (Win32用ツール)pstoolsProcess monitor (デバッグ用)Junction (テーブル空間, xlogの場所)

Page 14: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

14

何処に行った – ps title?

Unix:

Page 15: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

15

何処に行った – ps title?

Win32:

Page 16: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

16

何処に行った – strace

Unix:

Page 17: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

17

何処に行った – strace

Win32:

Page 18: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

18

PostgreSQLの監視

実際に変更がなかった数項目

pg_stat_xyz全く変更なし

PostgreSQLの各種ログpg_data¥*.logeventlogを忘れないように!

Page 19: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

19

PostgreSQLの監視

パフォーマンス監視Windows標準のモニタを依然適用!サーバ全体の監視

個別バックエンドに注意

Page 20: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

20

PostgreSQLの監視

パフォーマンス監視Windows標準のモニタを依然適用!サーバ全体の監視

個別バックエンドに注意

Page 21: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

21

PostgreSQLの監視

パフォーマンス監視Windows標準のモニタを依然適用!サーバ全体の監視

個別バックエンドに注意

クラスタ全体に注意

Page 22: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

22

Monitoring PostgreSQL

パフォーマンス監視Windows標準のモニタを依然適用!サーバ全体の監視

個別バックエンドを注視

クラスタ全体を注視

Page 23: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

23

Monitoring PostgreSQL

パフォーマンス監視Windows標準のモニタを依然適用!サーバ全体の監視

個別バックエンドに注意

クラスタ全体に注意

Page 24: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

24

見張っていると興味をひくカウンター

プロセスの数

新規プロセスの生成

ページ数 /秒メモリ消費 (private bytes, working set)I/O 操作数 / 秒I/O バイト数 / 秒物理ディスクキューの長さディスクに書かれる前のキャッシュにあるもの

Page 25: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

25

Process Explorerによる監視

特別なカラムの追加

Private bytesローカルバックエンドメモリ

WS Shareable / WS Shared共有バッファ + 共有コード

Virtual Size(仮想メモリ容量)余裕があるかどうかだけの参照

Context switch deltaWindowsでは高価!

Page 26: PostgreSQL on Windows - hagander.net · 1 PostgreSQL on Windows Magnus Hagander magnus@hagander.net PostgreSQL Global Development Group

26

ありがとうございました!

ご質問?