Description
- CREATE DATABASE creates a new PostgreSQL database.
+ CREATE DATABASE creates a new Postgres database.
The creator becomes the administrator of the new database.
Notes
- CREATE DATABASE statement is a PostgreSQL language extension.
+ CREATE DATABASE statement is a Postgres language extension.
- Refer to DROP DATABASE statement to remove a database.
+ Refer to DROP DATABASE statement to remove a database.
To create a new database:
- CREATE DATABASE lusiadas;
+
olly=> create database lusiadas;
- To create a new database in ~/private_db:
+ To create a new database in an alternate area ~/private_db:
- $ mkdir private_db
- $ initlocation ~/private_db
+
$ initlocation ~/private_db
Creating Postgres database system directory /home/olly/private_db/base
- $ chmod a+rx private_db
- $ chmod a+rwx private_db/base
- $ psql
Welcome to the POSTGRESQL interactive sql monitor:
Please read the file COPYRIGHT for copyright terms of POSTGRESQL
type \g or terminate with semicolon to execute query
You are currently connected to the database: template1
- template1=> create database elsewhere with location = '/home/olly/private_db';
+
olly=>> create database elsewhere with location = '/home/olly/private_db';
CREATEDB
Bugs
- Where an ordinary user cannot change the ownership of files to other users
- (which is correct from a security point of view), there is no easy way
- to give the postgres backend access to files in a database at a
- non-standard location without
- giving similar access to all users. The situation shown in the usage
- example makes /home/olly/private_db world-accessible.
+ There are security and data integrity issues involved with using alternate database locations
+ specified with absolute path names. See the Administrator's Guide for more information.
- If, on the other hand, the user gets the system administrator to give
- file ownership to the postgres superuser and restrict access, he will
- then be unable to delete the directory/base directory.
-
+