Re: Bug or intentionally under-documented "\c databasename;" behavior? - Mailing list pgsql-bugs

From Tom Lane
Subject Re: Bug or intentionally under-documented "\c databasename;" behavior?
Date
Msg-id 4059188.1669392529@sss.pgh.pa.us
Whole thread Raw
In response to Bug or intentionally under-documented "\c databasename;" behavior?  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> I expected the following to tell me: database "testdb;" does not exist
> Instead the connection attempt was successful.

> postgres=# create database testdb;
> CREATE DATABASE
> postgres=# \c testdb;
> You are now connected to database "testdb" as user "vagrant".

This is because psql_scan_slash_option was told to strip any trailing
semicolon, and did so.  If there's any rhyme or reason to which
psql metacommands pass semicolon=true and which do not, I can't
detect it :-(.  And you're right that there's nothing about it in
the documentation.

I wonder if we can get away with removing that quirk.  Or else try
to establish some policy about it, and document the policy.

A really brave person might propose nuking the OT_SQLIDHACK parsing
mode as well.  That was never supposed to be a long-term fixture.

            regards, tom lane



pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Bug or intentionally under-documented "\c databasename;" behavior?
Next
From: PG Bug reporting form
Date:
Subject: BUG #17698: On SIGTERM, psql terminates, but leaves the statement running