Thread: Creating a new database with a TEMPLATE did not work
Hi, I am new to PostgreSQL. I have an empty PostgreSQL DB containing tables but no data. I issued the following command in PGADMIN SQL editor: CREATE DATABASE "NewDefault" WITH OWNER = postgres ENCODING = 'UTF8' TEMPLATE = Default TABLESPACE = pg_default LC_COLLATE = 'English_United States.1252' LC_CTYPE = 'English_United States.1252' CONNECTION LIMIT= -1; Although it created the NewDefault DB, it does not contain any of the tables in Default. Default was disconnected when I executed this command. What am I doing something wrong? Thanks, Murali -- View this message in context: http://postgresql.1045698.n5.nabble.com/Creating-a-new-database-with-a-TEMPLATE-did-not-work-tp5746627.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
On 02/25/2013 02:49 PM, mkumbale wrote: > Hi, I am new to PostgreSQL. I have an empty PostgreSQL DB containing tables > but no data. I issued the following command in PGADMIN SQL editor: > > CREATE DATABASE "NewDefault" > WITH OWNER = postgres > ENCODING = 'UTF8' > TEMPLATE = Default > TABLESPACE = pg_default > LC_COLLATE = 'English_United States.1252' > LC_CTYPE = 'English_United States.1252' > CONNECTION LIMIT = -1; > > Although it created the NewDefault DB, it does not contain any of the tables > in Default. Default was disconnected when I executed this command. > > What am I doing something wrong? So you have a database named Default? Probably not a good name because: http://www.postgresql.org/docs/9.2/interactive/sql-createdatabase.html template The name of the template from which to create the new database, or DEFAULT to use the default template (template1). So at a guess you are actually creating the new database from template1. > > Thanks, > Murali > > > > -- > View this message in context: http://postgresql.1045698.n5.nabble.com/Creating-a-new-database-with-a-TEMPLATE-did-not-work-tp5746627.html > Sent from the PostgreSQL - sql mailing list archive at Nabble.com. > > -- Adrian Klaver adrian.klaver@gmail.com
Quoth adrian.klaver@gmail.com (Adrian Klaver): > On 02/25/2013 02:49 PM, mkumbale wrote: > > Hi, I am new to PostgreSQL. I have an empty PostgreSQL DB containing tables > > but no data. I issued the following command in PGADMIN SQL editor: > > > > CREATE DATABASE "NewDefault" > > WITH OWNER = postgres > > ENCODING = 'UTF8' > > TEMPLATE = Default > > TABLESPACE = pg_default > > LC_COLLATE = 'English_United States.1252' > > LC_CTYPE = 'English_United States.1252' > > CONNECTION LIMIT = -1; > > > > Although it created the NewDefault DB, it does not contain any of the tables > > in Default. Default was disconnected when I executed this command. > > > > What am I doing something wrong? > > So you have a database named Default? > > Probably not a good name because: > http://www.postgresql.org/docs/9.2/interactive/sql-createdatabase.html > > template > The name of the template from which to create the new database, or > DEFAULT to use the default template (template1). > > So at a guess you are actually creating the new database from template1. Also, SQL names are folded to lowercase unless they are quoted, so TEMPLATE = Default would refer to a database called "default" (if it weren't special syntax for template1), but TEMPLATE = "Default" should find a database created with CREATE DATABASE "Default". Ben
Adrian: Thanks for the prompt reply. I was able to create a new DB by renaming Default to another name. This was a carry over from our project which was previously using SQLExpress. Thanks again for the reply. Regards, Murali -- View this message in context: http://postgresql.1045698.n5.nabble.com/Creating-a-new-database-with-a-TEMPLATE-did-not-work-tp5746627p5746706.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.