-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdot_psqlrc
22 lines (17 loc) · 1.32 KB
/
dot_psqlrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\set QUIET 1
\set PROMPT1 '%[%033[1m%][%`date "+%H:%M"`]( %m@%/ )%[%033[0m%] | '
\set PROMPT2 '%R%# '
\set HISTCONTROL ignoredups
\set HISTFILE ~/.local/state/psql_history-:DBNAME
\set HISTSIZE 2000
\pset null '[NULL]'
-- exec with :<name>
\set extensions 'SELECT * FROM pg_available_extensions;'
\set long_running 'SELECT pid, now() - pg_stat_activity.xact_start AS duration, query, state FROM pg_stat_activity WHERE (now() - pg_stat_activity.xact_start) > interval ''5 minutes'' ORDER by 2 DESC;'
\set unused_indexes 'SELECT schemaname || ''.'' || relname AS table, indexrelname AS index, pg_size_pretty(pg_relation_size(i.indexrelid)) AS index_size, idx_scan as index_scans FROM pg_stat_user_indexes ui JOIN pg_index i ON ui.indexrelid = i.indexrelid WHERE NOT indisunique AND idx_scan < 50 AND pg_relation_size(relid) > 5 * 8192 ORDER BY pg_relation_size(i.indexrelid) / nullif(idx_scan, 0) DESC NULLS FIRST, pg_relation_size(i.indexrelid) DESC;'
\set table_sizes 'SELECT c.relname AS name, pg_size_pretty(pg_table_size(c.oid)) AS size FROM pg_class c LEFT JOIN pg_namespace n ON (n.oid = c.relnamespace) WHERE n.nspname NOT IN (''pg_catalog'', ''information_schema'') AND n.nspname !~ ''^pg_toast'' AND c.relkind=''r'' ORDER BY pg_table_size(c.oid) DESC;'
\x auto
\pset linestyle unicode
\unset QUIET
-- Include a local file
\i ~/.psqlrc.work