Advertisement
sroller

.psqlrc

Feb 7th, 2020
600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -----------------------------------------
  2. -- psqlrc file to set psql preferences --
  3. -- Author : Prashanth Goriparthi       --
  4. -----------------------------------------
  5.  
  6. \set QUIET ON
  7.  
  8. \set PROMPT1 '%[%033[1;32;40m%]%M: %n@%/%[%033[0m%]% # '
  9. \set PAGER OFF
  10. \set HISTFILE ~/.psql_history-:DBNAME
  11. \set HISTSIZE 2000
  12. \set ECHO_HIDDEN ON
  13. \set COMP_KEYWORD_CASE upper
  14.  
  15. \timing
  16. \encoding unicode
  17.  
  18. \pset null 'NULL'
  19. \pset border 2
  20.  
  21. \set QUIET OFF
  22.  
  23. \echo '\nCurrent Host Server Date Time : '`date` '\n'
  24.  
  25. \echo 'Administrative queries:\n'
  26. \echo '\t\t\t:settings\t-- Server Settings'
  27. \echo '\t\t\t:conninfo\t-- Server connections'
  28. \echo '\t\t\t:activity\t-- Server activity'
  29. \echo '\t\t\t:locks\t\t-- Lock info'
  30. \echo '\t\t\t:waits\t\t-- Waiting queires'
  31. \echo '\t\t\t:dbsize\t\t-- Database Size'
  32. \echo '\t\t\t:tablesize\t-- Tables Size'
  33. \echo '\t\t\t:uselesscol\t-- Useless columns'
  34. \echo '\t\t\t:uptime\t\t-- Server uptime'
  35. \echo '\t\t\t:menu\t\t-- Help Menu'
  36. \echo '\t\t\t\\h\t\t-- Help with SQL commands'
  37. \echo '\t\t\t\\?\t\t-- Help with psql commands\n'
  38.  
  39. \echo 'Development queries:\n'
  40. \echo '\t\t\t:sp\t\t-- Current Search Path'
  41. \echo '\t\t\t:clear\t\t-- Clear screen'
  42. \echo '\t\t\t:ll\t\t-- List\n'
  43.  
  44. -- Administration queries
  45.  
  46. \set menu '\\i ~/.psqlrc'
  47.  
  48. \set settings 'select name, setting,unit,context from pg_settings;'
  49.  
  50. \set locks  'SELECT bl.pid AS blocked_pid, a.usename AS blocked_user, kl.pid AS blocking_pid, ka.usename AS blocking_user, a.query AS blocked_statement FROM pg_catalog.pg_locks bl JOIN pg_catalog.pg_stat_activity a ON bl.pid = a.pid JOIN pg_catalog.pg_locks kl JOIN pg_catalog.pg_stat_activity ka ON kl.pid = ka.pid ON bl.transactionid = kl.transactionid AND bl.pid != kl.pid WHERE NOT bl.granted;'
  51.  
  52. \set conninfo 'select usename, count(*) from pg_stat_activity group by usename;'
  53.  
  54. \set activity 'select datname, pid, usename, application_name,client_addr, client_hostname, client_port, query, state from pg_stat_activity;'
  55.  
  56. \set waits 'SELECT pg_stat_activity.pid, pg_stat_activity.query, pg_stat_activity.waiting, now() - pg_stat_activity.query_start AS \"totaltime\", pg_stat_activity.backend_start FROM pg_stat_activity WHERE pg_stat_activity.query !~ \'%IDLE%\'::text AND pg_stat_activity.waiting = true;'
  57.  
  58. \set dbsize 'SELECT datname, pg_size_pretty(pg_database_size(datname)) db_size FROM pg_database ORDER BY db_size;'
  59.  
  60. \set tablesize 'SELECT nspname || \'.\' || relname AS \"relation\", pg_size_pretty(pg_relation_size(C.oid)) AS "size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN (\'pg_catalog\', \'information_schema\') ORDER BY pg_relation_size(C.oid) DESC LIMIT 40;'
  61.  
  62. \set uselesscol 'SELECT nspname, relname, attname, typname, (stanullfrac*100)::int AS null_percent, case when stadistinct >= 0 then stadistinct else abs(stadistinct)*reltuples end AS \"distinct\", case 1 when stakind1 then stavalues1 when stakind2 then stavalues2 end AS \"values\" FROM pg_class c JOIN pg_namespace ns ON (ns.oid=relnamespace) JOIN pg_attribute ON (c.oid=attrelid) JOIN pg_type t ON (t.oid=atttypid) JOIN pg_statistic ON (c.oid=starelid AND staattnum=attnum) WHERE nspname NOT LIKE E\'pg\\\\_%\' AND nspname != \'information_schema\' AND relkind=\'r\' AND NOT attisdropped AND attstattarget != 0 AND reltuples >= 100 AND stadistinct BETWEEN 0 AND 1 ORDER BY nspname, relname, attname;'
  63.  
  64. \set uptime 'select now() - pg_postmaster_start_time() AS uptime;'
  65.  
  66. -- Development queries:
  67.  
  68. \set sp 'SHOW search_path;'
  69. \set clear '\\! clear;'
  70. \set ll '\\! ls -lrt;'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement