1
私が監視しているPostgresデータベースの1つは、膨大な量のUPDATESに襲われています。私のインスタンス内のどのテーブル(複数可)がこれらのDMLリクエストの大部分を取得しているかを簡単に特定するには、Postgresの最良の方法は何ですか?Postgres DBの更新されたUPDATESのテーブルソースを見つける
私が監視しているPostgresデータベースの1つは、膨大な量のUPDATESに襲われています。私のインスタンス内のどのテーブル(複数可)がこれらのDMLリクエストの大部分を取得しているかを簡単に特定するには、Postgresの最良の方法は何ですか?Postgres DBの更新されたUPDATESのテーブルソースを見つける
あなたはここのように、それのためにpg_stat_all_tables
を使用することができます。
t=# create table t19 (i int);
CREATE TABLE
t=# insert into t19 select 1;
INSERT 0 1
t=# select schemaname,relname,n_tup_upd from pg_stat_all_tables order by n_tup_upd desc limit 2;
schemaname | relname | n_tup_upd
------------+-----------------+-----------
pg_catalog | pg_operator | 0
pg_catalog | pg_auth_members | 0
(2 rows)
t=# update t19 set i=2;
UPDATE 1
t=# update t19 set i=2;
UPDATE 1
t=# select schemaname,relname,n_tup_upd from pg_stat_all_tables order by n_tup_upd desc limit 2;
schemaname | relname | n_tup_upd
------------+-------------+-----------
public | t19 | 2
pg_catalog | pg_operator | 0
(2 rows)