From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | David Christensen <david(at)endpoint(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Steve Singer <ssinger_pg(at)sympatico(dot)ca>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Patch: psql \whoami option |
Date: | 2010-07-18 17:30:00 |
Message-ID: | 12913.1279474200@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
David Christensen <david(at)endpoint(dot)com> writes:
> machack:machack:5432=# \c "foo""bar"
> You are now connected to database "foo"bar".
What this is reflecting is that backslash commands have their own weird
rules for processing double quotes. What I was concerned about was that
double quotes in SQL are normally used for protecting mixed case, and
you don't need that for \c:
regression=# create database "FooBar";
CREATE DATABASE
regression=# \c foobar
FATAL: database "foobar" does not exist
Previous connection kept
regression=# \c FooBar
You are now connected to database "FooBar".
FooBar=#
The fact that there are double quotes around the database name in the
"You are now connected..." message is *not* meant to imply that that is
a valid double-quoted SQL identifier, either. It's just an artifact of
how we set off names in English-language message style. In another
language it might look like <<FooBar>> or some such.
My opinion remains that you should just print the user and database
names as-is, without trying to inject any quoting into the mix. You're
more likely to confuse people than help them if you do that.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | David Christensen | 2010-07-18 17:33:51 | Re: Patch: psql \whoami option |
Previous Message | David Christensen | 2010-07-18 17:29:22 | Re: Patch: psql \whoami option |