Skip to content

Instantly share code, notes, and snippets.

@ardentperf
Created May 8, 2019 16:47
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ardentperf/52bd418e44b1be26d7b63af21331cece to your computer and use it in GitHub Desktop.
Save ardentperf/52bd418e44b1be26d7b63af21331cece to your computer and use it in GitHub Desktop.
ardentperf psqlrc
-- Jeremy Schneider's psqlrc http://ardentperf.com
--
-- see also https://www.citusdata.com/blog/2017/07/16/customizing-my-postgres-shell-using-psqlrc/
--
\set QUIET 1
select case when count(*)=0 then 'select ''not-aurora'' as avers'
else 'select aurora_version() as avers'
end as aurora_version_query
from pg_settings where name='rds.extensions' and setting like '%aurora_stat_utils%' \gset
prepare detect_aurora as :aurora_version_query;
execute detect_aurora \gset
deallocate detect_aurora;
with
pgvers as (
select current_setting('server_version') as v
), allvers as (
select 1 priority, 'aurora-'||v||'-'||:'avers' as version from pgvers
where :'avers' <> 'not-aurora'
union all
select 2, 'rds-'||v from pgvers, pg_settings s
where s.name like 'rds.%'
union all
select 3, 'pg-'||v from pgvers
)
select first_value(version) over (order by priority) as server_version
from allvers limit 1 \gset
select case when pg_is_in_recovery() then 'ro' else 'rw' end as standby_mode \gset
\pset null '[NULL]'
\set PROMPT1 '%[%033[1m%]%:server_version: %:standby_mode: %n@%/%R%[%033[0m%]%# '
\set PROMPT2 '[more] %R > '
\timing
\x off
\set VERBOSITY verbose
\set HISTCONTROL ignorespace
\set HISTFILE ~/.psql_history- :DBNAME
\set HISTSIZE 5000
\set COMP_KEYWORD_CASE upper
\pset pager off
\unset QUIET
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment