From: | Steve Crawford <scrawford(at)pinpointresearch(dot)com> |
---|---|
To: | Jerry Sievers <gsievers19(at)comcast(dot)net> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Feature request: make cluster_name GUC useful for psql prompts |
Date: | 2016-05-06 21:28:17 |
Message-ID: | CAEfWYyz+NmcLTGhHOKUMZmecty06z29aSAsgJxq-VocAb-tt+w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Although this is getting slightly off the original topic, rereading .psqlrc
is a potential can of worms. What triggers a reread? What portions of
.psqlrc are re-read?
For example, say I have just set tuples-only, extended-display, or output
file. Would they all get reset just because I changed connections?
You can use variables to approximate the behavior of aliases so you can
hack an alias that includes the reconnect and re-read. Or just \i ~/.psqlrc
as you deem necessary.
Cheers,
Steve
On Fri, May 6, 2016 at 12:50 PM, Jerry Sievers <gsievers19(at)comcast(dot)net>
wrote:
> Steve Crawford <scrawford(at)pinpointresearch(dot)com> writes:
>
> > That is almost identical to the solution I suggested a week or two ago
> to someone tackling the issue and the hack works on initial connection.
> >
> > Connect to a different cluster with "\c", however, and it will leave the
> prompt showing you connected to the original database which is not good.
>
> True and I've always thought of it as a possible misfeature of psql that
> it scans .psqlrc only once.
>
> > Cheers,
> > Steve
> >
> > On Fri, May 6, 2016 at 11:42 AM, Jerry Sievers <gsievers19(at)comcast(dot)net>
> wrote:
> >
> > Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> writes:
> >
> > > On 5/5/16 9:21 PM, Steve Crawford wrote:
> > >
> > >> Adding an escape sequence that references cluster_name would
> enable
> > >> prompts to identify the cluster in a manner that is both
> consistent and
> > >> distinct regardless of access path.
> > >
> > > I think that would be a good idea. You could probably design it so
> > > that any server parameter reported to the client can be put in a
> psql
> > > prompt.
> >
> > The OP can easily work around that lack of support with something
> such as follow...
> >
> > Add this to ~/.psqlrc[-optional version stuff]
> >
> > select setting as cluster_name from pg_settings where name =
> 'cluster_name' -- do not simicolon terminate this line
> > \gset
> >
> > \set PROMPT1 :cluster_name ': how cool is this:'
> >
> > >
> > >> Potential issues/improvements:
> > >>
> > >> What should the escape-sequence display if cluster_name is not
> set or
> > >> the cluster is a pre-9.5 version. %M? %m?
> > >>
> > >> In future server versions should there be a default for
> cluster_name if
> > >> it is not set? If so, what should it be? Would the server
> canonical
> > >> hostname + listen-port be reasonable?
> > >
> > > Those are good questions. I don't really like the proposed
> answers,
> > > because that could cause confusion in practical use.
> > >
> > > --
> > > Peter Eisentraut http://www.2ndQuadrant.com/
> > > PostgreSQL Development, 24x7 Support, Remote DBA, Training &
> Services
> >
> > --
> > Jerry Sievers
> > Postgres DBA/Development Consulting
> > e: postgres(dot)consulting(at)comcast(dot)net
> > p: 312.241.7800
> >
>
> --
> Jerry Sievers
> e: jerry(dot)sievers(at)comcast(dot)net
> p: 312.241.7800
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2016-05-06 21:29:58 | Re: Reviewing freeze map code |
Previous Message | Tom Lane | 2016-05-06 21:20:42 | Re: Initial release notes created for 9.6 |