2012-03-26 9 views
7

Ich versuche, eine PG-DB an einem angegebenen Speicherort zu erstellen. Gemäß der Dokumentation here muss ich das LOCATION-Flag verwenden. Allerdings, wenn ich CREATE DATABASE (from the pgsql CLI) laufen, erhalte ich die folgende Warnung:Postgresql: Erstellen von Datenbank an einem angegebenen Speicherort

WARNING: LOCATION is not supported anymore 
HINT: Consider using tablespaces instead. 

jedoch die PG-Dokumentation auf TABLE nicht zeigen, wie es verwendet werden kann, eine Datenbank in einem bestimmten Verzeichnis zu erstellen. Was ist die erforderliche Syntax dafür?

+2

Das Buch ist aus dem Jahr 2002, vermeiden Sie es als Referenz verwenden. –

+0

Sie könnten den 'CREATE TABLESPACE'-Befehl im Handbuch hier http://www.postgresql.org/docs/9.1/static/sql-createtablespace.html nachschlagen, und dann erstellen Sie eine Datenbank: http: // www. postgresql.org/docs/9.1/static/sql-createdatabase.html bezieht sich auf diesen Ort – wildplasser

Antwort

10

Sie müssten dies in einem 2-Schritte tun:

  1. Create Tablespace Beispiele für die Sie in den Link
  2. Create Database

sehen Wenn Sie Tabellen erstellen Sie setzen seine Lage und Dann können Sie mehrere Datenbanken in demselben Tablespace erstellen, wenn Sie dies wünschen.

1

CREATE TABLESPACE FastSpace ORT '/ mnt/sda1/postgresql/data';

Siehe das Kapitel über tablespaces im Handbuch.

+0

Wie ich schon sagte, zeigt dieser Verweis nicht, wie man Tablespaces in einem ** CREATE DATABASE ** -Befehl verwendet –

+1

Eigentlich [tut] (http : //www.postgresql.org/docs/current/static/sql-createdatabase.html). –

+0

CREATE DATABASE Name TABLESPACE = Tablespace oder Sie können einen Standard-Tablespace festlegen, so dass alles, was erstellt wird, in diesem Tablespace ist: SET default_tablespace = Tablespace; – johnshen64

Verwandte Themen