How to Drop/Create Database name that has upper-case letter?
postgresql, psql
Solution
SQL identifiers that are case-sensitive need to be enclosed in double quotes:
DROP DATABASE "Ajp";
Not sure if they are properly preserved on Windows if you pass them through the commandline though.
You might need to put that into a SQL script and pass the script name to psql.
For details on valid identifiers please see the manual: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
Problem
for example my `Postgresql` database name is `Ajp` i cannot drop/create the db with this name ie. `Ajp` my scripts for drop is ``` cd /D D:\\Apps cd RSTAR PGSQL DOTCONNECT cd bin cd Debug cd PG psql -U postgres -d postgres -c "DROP DATABASE Ajp " ``` while executing this i got this error D:\Apps\RSTAR PGSQL DOTCONNECT\bin\Debug\PG>psql -U postgres -d postgres -c "DR OP DATABASE Ajp " ERROR: database "ajp" does not exist i tried `psql -U postgres -d postgres -c "DROP DATABASE 'Ajp' "` (db name within quotes) again got error ERROR: syntax error at or near "'Ajp'" LINE 1: DROP DATABASE 'Ajp' how fix this problem ?? (please don't comment that `change your dbname to lower-case`) `using : "PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit"` the solution for this problem is below - Sholud use escape character `\` `psql -U postgres -d postgres -c "DROP DATABASE \"Ajp\";"` see the below comment