minor issue in createdb 8.0.0beta4
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
Hi !
I discovered this particular feature in "createdb" tool
8.0.0beta4 running on Win32 Platform:
c:\windows> createdb testdb;
CREATE DATABASE
<snip>
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.
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
Import Notes
Resolved by subject fallback
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