Thread: minor issue in createdb 8.0.0beta4

minor issue in createdb 8.0.0beta4

From
Silvio Scarpati
Date:
Hi !

I discovered this particular feature in "createdb" tool 8.0.0beta4
running on Win32 Platform:

-------------------- Cut And Paste ---------------------------

c:\windows> createdb testdb;
CREATE DATABASE

c:\windows> psql testdb
psql: FATAL:  database "testdb" does not exist

c:\windows> psql testdb;
Welcome to psql 8.0.0beta4, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

Warning: Console codepage (850) differs from windows codepage (1252)
         8-bit characters will not work correctly. See PostgreSQL
         documentation "Installation on Windows" for details.

testdb;=# \l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII
 testdb;   | silvio   | SQL_ASCII
(4 rows)

testdb;=#

-------------------- Cut And Paste ---------------------------

As you can see, createddb doesn't skip the semicolon after the
database's name, so you have a db name ending with semicolon. This is
not a problem really, but this happens only in this version/platform.

Thanks you all guys.

Regards,
    Silvio Scarpati

Re: minor issue in createdb 8.0.0beta4

From
"Magnus Hagander"
Date:
> Hi !
>=20
> I discovered this particular feature in "createdb" tool=20
> 8.0.0beta4 running on Win32 Platform:


> c:\windows> createdb testdb;
> CREATE DATABASE

<snip>

> testdb;=3D# \l
>         List of databases
>    Name    |  Owner   | Encoding
> -----------+----------+-----------
>  template0 | postgres | SQL_ASCII
>  template1 | postgres | SQL_ASCII
>  testdb;   | silvio   | SQL_ASCII
> (4 rows)
>=20
> testdb;=3D#
>=20
> -------------------- Cut And Paste ---------------------------
>=20
> As you can see, createddb doesn't skip the semicolon after=20
> the database's name, so you have a db name ending with=20
> semicolon. This is not a problem really, but this happens=20
> only in this version/platform.

I don't think this is a postgresql issue, really. It's a shell issue.

sh/bash or whatever you're running on a unix platform has ; as a command
separator. The win32 command prompt does not. (For example, run "echo
foo; echo bar" and notice the differences between bash and cmd). If you
run the command under a bash interpreter (or other shell that uses
semicolon as command separator) on win32, you will se the unix like
behaviour.

Not sure if we want to add a workaround for that? It'd be needed for
every single command, so I personally don't think it's a good idea.

//Magnus

Re: minor issue in createdb 8.0.0beta4

From
Silvio Scarpati
Date:
Hi Magnus,

thanks for the answer.


On Mon, 1 Nov 2004 12:24:07 +0100, you wrote:

>
>Not sure if we want to add a workaround for that? It'd be needed for
>every single command, so I personally don't think it's a good idea.
>

Maybe discarding semicolons in database's names passing the command to
the backend should a good idea.

Regards,
    Silvio