Download - Pgconf asia-201612203-pg reversi-ja
11
Viewer スクリプトSELECT get_turn_boad_status() AS status;\o /dev/nullSELECT x AS " ", y, CASE WHEN status = 1 THEN '●' WHEN status = -1 THEN '○' ELSE ' ' END AS statusFROM boad ORDER BY x;\o\crosstabview " " y status y
SELECT 結果を /dev/null に送るのが肝
17
機能emit_log_hook を使って pg_reversiアプリケーションからのログを抑止。
static voidpg_reversi_emit_log_hook(ErrorData *data) { const char* appname = application_name;
if (appname == NULL || *appname == '\0') { /* applicatoin_name is no set */ return ; }
if (!strcmp(appname, "pg_reversi")) { /* When application_name is pg_reversi, output to the server log is suppressed. */ data->output_to_server = false; } return ;}
18
PostgreSQL の設定 "preload_shared_libraries'.
preload_shared_libraries = 'pg_reversi'
psql ではなく、pg_reversi (psql copy) を使う。
$ pg_reversi -U postgres pg_reversi
19
“application_name” の内容$ psql -U postgres pg_reversi -c "SHOW application_name" application_name ------------------ psql(1 row)
$ pg_reversi -U postgres pg_reversi -c "SHOW application_name" application_name ------------------ pg_reversi(1 row)
21
Standard Edition
PostgreSQLPostgreSQL サーバログにサーバログにSQLSQL ログが出てしまうので、ログが出てしまうので、
DBADBA にバレるにバレる↓↓
上司に怒られる!上司に怒られる!
22
Enterprise Edition
SQLSQL がログ出力されないがログ出力されない↓↓
DBA DBA も上司も気づかない。も上司も気づかない。みんな幸せ。みんな幸せ。Win-Win!Win-Win!