Thread: 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 ! >=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
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