Creating a database in PostgreSQL is done via an SQL statement, and you need the
CREATEDB role to be able to do this. In its simplest form the SQL statement looks as follows:
CREATE DATABASE myproject;
Afterwards you may connect to the database with the meta command:
What creating a database in PostgreSQL actually does is making a copy from a template database. A template database is exactly what the name suggests it is, it serves as a template for a newly created database. PostgreSQL copies copies over the settings and data from the template to the database you create.
PostgreSQL comes with two template databases:
template1, and uses
template1 by default when you create a new database. The
template0 is supposed to be a sort of safety net, if you mess something up while customizing
template1 you can still recover it from
template0. Therefore it is advised to make all your customizations in
template1 and never change
When creating a database you can specify your preferred template database.
CREATE DATABASE myproject TEMPLATE django_template;