开源项目:PostgreSQL DBA最常用SQL
注意:适用于PostgreSQL。有些功能在Greenplum Database中不可用。
TPS(Transaction Per Second,每秒事务数):
CREATE OR REPLACE PROCEDURE tps() AS $$ DECLARE v1 int8; v2 int8; BEGIN SELECT txid_snapshot_xmax(txid_current_snapshot()) INTO v1; commit; perform pg_sleep(1); SELECT txid_snapshot_xmax(txid_current_snapshot()) INTO v2; commit; raise notice 'tps: %', v2-v1; END; $$ LANGUAGE plpgsql ;
QPS(Query Per Second,每秒请求数):
CREATE VIEW qps AS WITH a AS (SELECT SUM(calls) s FROM pg_stat_statements), b AS (SELECT SUM(calls) s FROM pg_stat_statements , pg_sleep(1)) SELECT b.s-a.s FROM a,b;