Die meisten Benutzer werden nach der Installation der Datenbank zuallererst eine Datenbank anlegen. In PostgreSQL gibt es dafür den Shell-Command 'createdb', der die folgende Syntax aufweist:
[hs@athlon test]$ createdb --help createdb creates a PostgreSQL database. Usage: createdb [OPTION]... [DBNAME] [DESCRIPTION] Options: -D, --tablespace=TABLESPACE default tablespace for the database -E, --encoding=ENCODING encoding for the database -O, --owner=OWNER database user to own the new database -T, --template=TEMPLATE template database to copy -e, --echo show the commands being sent to the server -q, --quiet don't write any messages --help show this help, then exit --version output version information, then exit Connection options: -h, --host=HOSTNAME database server host or socket directory -p, --port=PORT database server port -U, --username=USERNAME user name to connect as -W, --password prompt for password By default, a database with the same name as the current user is created. Report bugs to <pgsql-bugs@postgresql.org>.
Alle Programme, die mit PostgreSQL ausgeliefert werden, stellen die Option -help bereit, um sich einen Überblick über die Syntax zu verschaffen. Auch die Commandline Parameter -host, -port, -username und -password sind bei allen Tools zu finden. Es ist mit createdb somit auch möglich, Datenbanken auf einer entfernten Maschine anzulegen (sofern Sie dafür die notwendigen Rechte haben).
Eine einfache Datenbank kann wie folgt angelegt werden:
[hs@athlon hs]$ createdb test CREATE DATABASE
Sofern dieser Befehl keinen Fehler ausgibt, werden wir von 'psql -l' den folgenden Output erwarten können:
[hs@athlon hs]$ psql -l
List of databases
Name | Owner | Encoding
-----------+-------+-----------
postgres | hs | SQL_ASCII
template0 | hs | SQL_ASCII
template1 | hs | SQL_ASCII
test | hs | SQL_ASCII
(4 rows)
Bevor wir uns zur Datenbank verbinden, um dort Operationen durchzuführen, wollen wir uns ansehen, was createdb eigentlich tut: Wird createdb ohne die Option -template aufgerufen, wird die Datenbank namens 'template1' geklont. Wenn Sie also Testdaten oder dergleichen in template1 einfügen, werden diese Daten in die neu zu erstellende Datenbank übernommen.
Beim Anlegen von Datenbanken ist auch das Encoding von essentieller Bedeutung: Defaultmässig wird das Encoding der zu klonenden Datenbank übernommen. Mit Hilfe der Option '-E' ist es allerdings möglich, diese Einstellung zu überschreiben. Das hier angegebene Encoding gilt dann für die gesamte Datenbank - aus diversen Gründen ist es nicht möglich, das Encoding auf Tabellen- oder gar auf Spaltenebene zu definieren.
http://www.postgresql.at