The pg_stat_activity view has one row per server process, showing information related to the current activity of that process.
pg_stat_activity view
Column | Type | Description |
---|---|---|
datid | oid | OID of the database this backend is connected to |
datname | name | Name of the database this backend is connected to |
pid | integer | Process ID of this backend |
usesysid | oid | OID of the user logged into this backend |
usename | name | Name of the user logged into this backend |
application_name | text | Name of the application that is connected to this backend |
client_addr | inet | IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum. |
client_hostname | text | Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled. |
client_port | integer | TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used |
backend_start | timestamp with time zone | Time when this process was started, i.e., when the client connected to the server |
xact_start | timestamp with time zone | Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column. |
query_start | timestamp with time zone | Time when the currently active query was started, or if state is not active, when the last query was started |
state_change | timestamp with time zone | Time when the state was last changed |
waiting | boolean | True if this backend is currently waiting on a lock |
state | text | Current overall state of this backend. Possible values are:
|
query | text | Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. |
For example, you can use the following query to see the state, text, and running period of your statement.
SELECT pid, usename, query, state, age(clock_timestamp(), query_start)
FROM pg_stat_activity
WHERE usename = '<your database login>';
If you want to see if your query is holding or waiting on any locks, you can run the query below.
SELECT a.pid, a.state, L.mode, L.locktype, L.granted
FROM pg_stat_activity a
INNER JOIN pg_locks L on a.pid = L.pid
WHERE a.usename = '<your database login>'
order by L.granted desc;
References:
-----------------------------------------------------------------------------------------------------------------
Watch the blessing and loving online channel: SupremeMasterTV live
If you have ever asked yourself these questions, this is the book for you. What is the meaning of life? Why do people suffer? What is in control of my life? Why is life the way it is? How can I stop suffering and be happy? How can I have a successful life? How can I have a life I like to have? How can I be the person I like to be? How can I be wiser and smarter? How can I have good and harmonious relations with others? Why do people meditate to achieve enlightenment? What is the true meaning of spiritual practice? Why all beings are one? Read the book for free here.
No comments:
Post a Comment