{"id":15986044,"url":"https://github.com/coderhs/postgres-utils","last_synced_at":"2026-02-02T03:35:42.801Z","repository":{"id":145141484,"uuid":"87041900","full_name":"coderhs/postgres-utils","owner":"coderhs","description":"Collection of useful PostgreSQL queries.","archived":false,"fork":false,"pushed_at":"2019-11-10T02:47:30.000Z","size":4,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T21:32:07.829Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderhs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-03T05:43:19.000Z","updated_at":"2020-03-31T23:37:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8307a49-0745-4c7a-8cb8-d4b8940c01e6","html_url":"https://github.com/coderhs/postgres-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coderhs/postgres-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderhs%2Fpostgres-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderhs%2Fpostgres-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderhs%2Fpostgres-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderhs%2Fpostgres-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderhs","download_url":"https://codeload.github.com/coderhs/postgres-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderhs%2Fpostgres-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261973727,"owners_count":23238586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T02:42:17.105Z","updated_at":"2026-02-02T03:35:42.729Z","avatar_url":"https://github.com/coderhs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Display query which are in lock, how long they have been running\n\n```sql\nSELECT a.datname,\n         c.relname,\n         l.transactionid,\n         l.mode,\n         l.GRANTED,\n         a.usename,\n         a.query,\n         a.query_start,\n         age(now(), a.query_start) AS \"age\",\n         a.pid\n    FROM  pg_stat_activity a\n     JOIN pg_locks         l ON l.pid = a.pid\n     JOIN pg_class         c ON c.oid = l.relation\n    ORDER BY a.query_start;\n```\n\n## Terminate a runing query\n\n```sql\nSELECT pid, age(now(), query_start) AS \"age\", pg_cancel_backend(pid)\nFROM pg_stat_activity\nWHERE query != '\u003cIDLE\u003e' AND query NOT ILIKE '%pg_stat_activity%' AND query ILIKE '%DELETE%';\n```\n\n*pg_cancel_backend* - accepts only one pid at a time. It returns true or false (if its executed or not) and it you should use\ncancel for an active query.\n\n## Find rows whose attribute with timestap has time between two time of the day.\n\n```sql\nSELECT *\nFROM table_name\nWHERE CAST(start_time as time) NOT BETWEEN TIME '8:30:00' AND TIME '12:30:00';\n```\n\n## Find the table (within a schema) taking maximum disk space\n\n```sql\n  SELECT pg_namespace.nspname AS schema, pg_class.relname AS relation,\n    pg_size_pretty(pg_total_relation_size(pg_class.oid::regclass)) AS size,\n    COALESCE(pg_stat_user_tables.seq_scan + pg_stat_user_tables.idx_scan, 0) AS scans\n   FROM pg_class\n   LEFT JOIN pg_stat_user_tables ON pg_stat_user_tables.relid = pg_class.oid\n   LEFT JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE pg_class.relkind = 'r'::\"char\"\n  AND pg_namespace.nspname NOT IN ('pg_catalog', 'information_schema')\n  ORDER BY pg_total_relation_size(pg_class.oid::regclass) DESC;\n```\n\n## Create a view of all the active locks\n\n```sql\n  CREATE OR REPLACE VIEW public.active_locks AS\n   SELECT t.schemaname,\n      t.relname,\n      l.locktype,\n      l.page,\n      l.virtualtransaction,\n      l.pid,\n      l.mode,\n      l.granted\n     FROM pg_locks l\n     JOIN pg_stat_all_tables t ON l.relation = t.relid\n    WHERE t.schemaname \u003c\u003e 'pg_toast'::name AND t.schemaname \u003c\u003e 'pg_catalog'::name\n    ORDER BY t.schemaname, t.relname;\n```\n\n\n## Get total number of DB Connections\n\n```sql\nselect count(*) from pg_stat_activity;\n```\n\n## Get total DB size\n\n```sql\nSELECT pg_size_pretty(pg_database_size('DB NAME'));\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderhs%2Fpostgres-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderhs%2Fpostgres-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderhs%2Fpostgres-utils/lists"}