23.2. ͳ���ռ���

PostgreSQL �� ͳ���ռ�����һ��֧���ռ��ͻ㱨��������Ծ����Ϣ����ϵͳ�� Ŀǰ������ռ������Ը��Ա�������ķ��ʼ������������̿�������Ͷ����е�� ���������жϵ�ǰ����������������ִ�е�������ʲô��

23.2.1. ͳ���ռ�������

��Ϊͳ���ռ�����ѯ����������һЩ���ȣ���������԰�ϵͳ����Ϊ�ռ���Ϣ��Ҳ��������Ϊ���ռ���Ϣ�� ����������ò������Ƶģ���Щ���ò���ͨ���� postgresql.conf �����ã����� Section 16.4 ��ȡ�й��������ò�����ϸ�ڣ���

Ҫ����ͳ���ռ������������� ���� stats_start_collector ��������Ϊ�档 ���������ȱʡ���ã�Ҳ�ǽ������ã�����������ͳ�Ʋ�����Ȥ����������й��ɶ�����ȥ�� ��ô���԰�������Ϊ�١���������ʡ�����Ķ��������ࡣ�� ��ע�����ѡ���ڷ��������е�ʱ�򲢲��ܸı䡣

���� stats_command_string�� stats_block_level���� stats_row_level ����ʵ�ʷ��͸��ռ����������� ���Ҳ�����˻������������ʱ���ȡ���Щѡ��ֱ����һ�������������Ƿ������ĵ�ǰ�����ִ��� ���̿��εķ���ͳ�ƣ��Լ��в�εķ���ͳ�Ƹ��ռ����� ͨ����Щ������ postgresql.conf �����ã� ����������������з��������̣� ��������Ҳ�����ڶ����ĻỰ���� SET ��������Ǵ򿪻��߹رա� ��Ϊ������ͨ�û������ǵĻ�Ծ�����ز�������Ա����ֻ�г����û������� SET �����޸���Щ��������

ע��: ��Ϊ���� stats_command_string�� stats_block_level���� stats_row_level ȱʡʱfalse�� ����ʵ����ȱʡ�����в��ռ��κ�ͳ����Ϣ�� ����Щ���ñ����е�һ������������������ͳ���ջ������ɵ�������Ϣ��������������������һ������ʱ������

23.2.2. �鿴�ռ�����ͳ����Ϣ

��һЩԤ�������ͼ����������ʾͳ���ռ��Ľ������ Table 23-1 ���г������⣬ ���ǿ���ʹ���²��ͳ�ƺ��������Լ��Ŀͻ�����ͼ��

��ʹ��ͳ�ƹ۲쵱ǰ��Ծ�Ե�ʱ���������ʶ����Щ��Ϣ������ʵʱ���µġ� ÿ�������ķ���������ֻ����׼�����е�ʱ������ռ��������µĿ���з��ʼ����� ������ڴ���IJ�ѯ�������񲢲�Ӱ����ʾ������������ ͬ�����ռ�������Ҳʱ���ÿ pgstat_stat_interval���� ��ȱʡ�� 500������һ���µı��档�����ʾ���������������ʵ�ʻ�� ��ǰ�IJ�ѯ��Ϣ������������ռ����ģ���������ɼ�֮ǰ����Ȼ�� pgstat_stat_interval ��Լ����

����һ����Ҫ����ָ���������ǣ������������������ʾ�κ���Щͳ����Ϣ��ʱ�� ������ץȡ�ռ������̷��������µı��档Ȼ�����ͽ�������Щ������Ϊ����ͳ����ͼ�ͺ����Ŀ��գ� ֱ������ǰ������Ľ����� ���ͳ�����㵱ǰ����ij����ڼ���ʱ����ı�ġ�����һ�����ԣ� ������һ��ë������Ϊ��������������ͳ����ִ�м�����ѯ���ҶԽ����������Եļ����ֲ��õ�����Щ���ֻᱳ����仯�� ����������뿴ÿ����ѯ���µĽ������ô��Ҫ��ס���κ���������洦����Щ��ѯ��

Table 23-1. ��׼ͳ����ͼ

��ͼ��������
pg_stat_activityÿ������������һ�У���ʾ����ID�����ݿ⣬�û�����ǰ��ѯ�͵�ǰ��ѯ��ʼִ�е�ʱ�䡣 ֻ���ڴ� stats_command_string ������ʱ�� ���ܵõ����浱ǰ��ѯ�������Ϣ�ĸ����ֶΡ� ���⣬���Ǽ����Щ�ֶε��û��dz����û�������ӵ�����ڻ㱨�Ľ��̵�ͬһ���û�������������ʾΪ�ա� ����ע����Ϊ�ռ����ı����ӳ٣���ǰ��ѯֻ�ǶԳ�ʱ�����еIJ�ѯ��ʱ���¡���
pg_stat_databaseÿ�����ݿ�һ�У���ʾ����ĺ�˵��������ύ�����������Լ��ڸ����ݿ��лؾ���Ŀ�������� ��ȡ�Ĵ��̿���������Լ����������е�������Ҳ����������Ҫ�Ŀ��Ѿ��ڻ��������ҵ����Ӷ������˶�ȡ��Ķ�������
pg_stat_all_tables��ǰ���ݿ���ÿ����һ�У�������˳��ɨ�������ɨ��������� ÿ�����͵�ɨ�践�ص�Ԫ��������Լ�Ԫ����룬���£���ɾ����������
pg_stat_sys_tables��pg_stat_all_tablesһ����ֻ����ֻ��ʾϵͳ��
pg_stat_user_tables��pg_stat_all_tablesһ����ֻ����ֻ��ʾ�û���
pg_stat_all_indexes��ǰ���ݿ��ÿ������һ�У�����ʹ���˸�����������ɨ�������� ����Ԫ���ȡ�������Լ��ɹ�ץȡ�Ķ�Ԫ�����Ŀ�������Щ������¼ָ����ڵĶ�Ԫ�飬��ô�����Ŀ������һЩ����
pg_stat_sys_indexes��pg_stat_all_indexesһ����ֻ����ֻ������Щ��ʾΪϵͳ���ϵ�������
pg_stat_user_indexes��pg_stat_all_indexesһ����ֻ����ֻ������Щ��ʾΪ�û����ϵ�������
pg_statio_all_tables��ǰ���ݿ���ÿ����һ�У������Ӹñ��ж�ȡ�Ĵ��̿������� ���������е��������ڸñ������������Ĵ��̿��ȡ�ͻ��������������� �ڸñ�ĸ��� TOAST ��(�������)�ϵĴ��̿��ȡ�ͻ��������������� �Լ� TOAST ��������Ĵ��̿��ȡ�ͻ���������������
pg_statio_sys_tables��pg_statio_all_tablesһ����ֻ����ֻ��ʾϵͳ��
pg_statio_user_tables��pg_statio_all_tablesһ����ֻ����ֻ��ʾ�û���
pg_statio_all_indexes��ǰ���ݿ���ÿ������һ�У������������Ĵ��̿��ȡ�ͻ��������е���Ŀ��
pg_statio_sys_indexes��pg_statio_all_indexesһ����ֻ����ֻ��ʾϵͳ��
pg_statio_user_indexes��pg_statio_all_indexesһ����ֻ����ֻ��ʾ�û���
pg_statio_all_sequences��ǰ���ݿ���ÿ�����ж���һ�������������д��̶�ȡ�ͻ��������е���Ŀ��
pg_statio_sys_sequences��pg_statio_all_sequencesһ����ֻ����ֻ��ʾϵͳ���С� ��׼ȷ��˵������û�ж���ϵͳ���У����������ͼ���ǿյġ���
pg_statio_user_sequences��pg_statio_all_sequencesһ����ֻ����ֻ��ʾ�û����С�

ÿ������ͳ�ƶ����ж��ĸ������õ�ʹ���Լ����ǵ�Ч���dz����á�

pg_statio_ ϵ����ͼ���жϻ����Ч����ʱ���ر����á� ��ʵ�ʴ��̶�ȡԶ��������С��ʱ�����Ǿ�֪�������������������ж�Ҫ����˲���Ҫ�����ں˵��á� ���ǣ���Щͳ�Ʋ�δ����������Ϣ������ PostgreSQL ������̵ķ�ʽ������ PostgreSQL ��������������ݿ�����Ȼפ�����ں˵� I/O �����У� �����Ȼ���ܲ����������ȡ��ץȡ�� �Ի�ȡ PostgreSQL �� I/O ��Ϊ�ĸ���ϸ�ڸ���Ȥ���û����Խ��ʹ�� PostgreSQL ��ͳ���ռ����Ϳ��Է����ں� I/O ����IJ���ϵͳ��������ȡ����ϸ�ڡ�

�����鿴ͳ�Ƶķ�������ͨ����дʹ���²�ͳ�Ʒ��ʺ����IJ�ѯ�����ã���Щ�²�ͳ�Ʒ��ʺ����ͱ�׼��ͼ��ʹ�õ���һ���ġ� ��Щ������Table 23-2 ���г��� ��ij���ݿ���з��ʵĺ�������һ�����ݿ� OID Ϊ��������ʶ��Ҫ�����ĸ����ݿ⡣ ��ij�����ij�������з��ʵĺ�������һ������������� OID�� ����ע����Щ����ֻ�ܿ����ڵ�ǰ���ݿ���ı���������� ��ij��˽��з��ʵĺ�������һ����� ID �ţ��䷶Χ��һ����ǰ��Ծ��˵���Ŀ��

Table 23-2. ͳ�Ʒ��ʺ���

����������������
pg_stat_get_db_numbackends(oid)integer �������ݿ�Ļ�Ծ�ĺ�˽�����Ŀ��
pg_stat_get_db_xact_commit(oid)bigint ���ݿ������ύ����������
pg_stat_get_db_xact_rollback(oid)bigint ���ݿ��лؾ����������
pg_stat_get_db_blocks_fetched(oid)bigint ���ݿ��д��̿�ץȡ��������
pg_stat_get_db_blocks_hit(oid)bigint Ϊ���ݿ��ڻ��������ҵ��Ĵ��̿�ץȡ��������
pg_stat_get_numscans(oid)bigint ���������һ������ô���ǽ��е�˳��ɨ�����Ŀ�� �����һ����������ô��������ɨ�����Ŀ��
pg_stat_get_tuples_returned(oid)bigint ���������һ������ô����˳��ɨ���ȡ��Ԫ����Ŀ�� �����һ����������ô��������Ԫ�����Ŀ
pg_stat_get_tuples_fetched(oid)bigint ���������һ������ô����˳��ɨ��ץȡ����Ч��δ���ڣ��ı�Ԫ����Ŀ�� �����һ����������ô�������������ץȡ����Ч��Ԫ����Ŀ
pg_stat_get_tuples_inserted(oid)bigint ������е�Ԫ������
pg_stat_get_tuples_updated(oid)bigint �ڱ����Ѹ��µ�Ԫ������
pg_stat_get_tuples_deleted(oid)bigint �ӱ���ɾ����Ԫ������
pg_stat_get_blocks_fetched(oid)bigint ����������Ĵ��̿�ץȡ���������
pg_stat_get_blocks_hit(oid)bigint �ڻ��������ҵ��ı���������Ĵ��̿�������Ŀ
pg_stat_get_backend_idset()set of integer ��ǰ��Ծ��� ID �ļ��ϣ��� 1 ����Ծ��˵���Ŀ���� �����ı��е�ʹ��������
pg_backend_pid()integer �����ڵ�ǰ�Ự�ϵĺ�˽��� ID
pg_stat_get_backend_pid(integer)integer �����ĺ�˽��̵Ľ��̺�
pg_stat_get_backend_dbid(integer)oid ָ����˽��̵����ݿ� ID
pg_stat_get_backend_userid(integer)oid ָ����˽��̵��û� ID
pg_stat_get_backend_activity(integer)text ��˽��̵ĵ�ǰ��Ծ��ѯ����������߲��dz����û������߲����뱻��ѯ�ĻỰͬһ���û��� ����û�д� stats_command_string ��Ϊ NULL��
pg_stat_get_backend_activity_start(integer)timestamp with time zone ָ����˽��̵�ǰ����ִ�еIJ�ѯ����ʼʱ�䣨�����ǰ�û����dz����û������� �����뱻��ѯ�ĻỰͬһ���û�������û�д� stats_command_string ��Ϊ NULL��
pg_stat_reset()boolean �������е�ǰ�ռ���ͳ�ơ�

ע��: pg_stat_get_db_blocks_fetched ��ȥ pg_stat_get_db_blocks_hit ����Ϊ�ñ������������ݿ� ������ read() �ں˵��õ���Ŀ������ʵ�ʵ������ȡ����Ŀͨ���Ƚϵͣ� ��Ϊ�����ں˼��Ļ��塣

���� pg_stat_get_backend_idset �ṩ��һ��Ϊÿ����Ծ��˽�������һ�еı�ݵķ����� ���磬Ҫ��ʾ���к�˵�PID�����ǵĵ�ǰ��ѯ��

SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
       pg_stat_get_backend_activity(s.backendid) AS current_query
    FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;