-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpsqlrc
More file actions
60 lines (49 loc) · 1.56 KB
/
psqlrc
File metadata and controls
60 lines (49 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
\set QUIET 1
-- References to colors, used in :environment
\set red '%[%033[40;31m%]'
\set green '%[%033[40;32m%]'
\set yellow '%[%033[40;33m%]'
\set blue '%[%033[40;34m%]'
\set purple '%[%033[40;35m%]'
\set cyan '%[%033[40;36m%]'
\set orange '%[%033[38;5;208m%]'
-- Prompt Components
\set c_default '%[%033[0m%]'
\set c_bar '%[%033[49;38;5;237m%]'
\set c_fillers '%[%033[48;5;237;38;5;27m%]'
\set c_database '%[%033[48;5;237;38;5;82m%]'
\set c_main_bar '%[%033[48;5;237;38;5;250m%]'
\set c_transaction '%[%033[48;5;237;38;5;1m%]'
-- Set the environment name and color
WITH environment AS(
SELECT
CASE
WHEN inet_server_addr() IN ('127.0.0.1', '::1') THEN ARRAY['LOCAL', :'cyan']
WHEN inet_server_addr() <<= '172.17.0.0/16' THEN ARRAY['CONTAINER', :'yellow']
WHEN inet_server_addr() IS NULL THEN ARRAY['REDSHIFT', :'orange']
ELSE ARRAY['REMOTE', :'red']
END AS env
) SELECT
env[1] AS env_name,
env[2] AS env_color
FROM environment \gset
-- Initializing PROMPT1 to ''
\set PROMPT1
\set PROMPT1 :PROMPT1 :c_bar '▌'
\set PROMPT1 :PROMPT1 :env_color '「✦ ' :env_name' ✦ 」'
\set PROMPT1 :PROMPT1 :c_main_bar ' %n@%m '
\set PROMPT1 :PROMPT1 :c_fillers 'in '
\set PROMPT1 :PROMPT1 :c_database '⛁ %/ '
\set PROMPT1 :PROMPT1 :c_transaction '%x%x%x'
\set PROMPT1 :PROMPT1 :c_bar '\n'
\set PROMPT1 :PROMPT1 :c_default '⚡ '
\set PROMPT2 :c_bar ' ➥ ' :c_default
\pset null 'NULL'
\pset pager always
--\timing
\x auto
\set HISTSIZE 100000000
\set HISTCONTROL ignoredups
\set COMP_KEYWORD_CASE upper
--\pset linestyle unicode
--\conninfo