2012-03-26 2 views
7

Я пытаюсь создать базу данных PG в указанном месте. Согласно документам here, я должен использовать флаг LOCATION. Однако, когда я бегу CREATE DATABASE (from the pgsql CLI), я получаю следующее предупреждение:postgresql: создание базы данных в указанном месте

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

Однако документация PG на TABLESPACES не показывает, как он может быть использован для создания базы данных в определенном каталоге. Каков требуемый синтаксис для этого?

+2

Книга с 2002 года, не используйте ее в качестве ссылки. –

+0

Вы можете найти команду 'CREATE TABLESPACE' в прекрасном руководстве здесь http://www.postgresql.org/docs/9.1/static/sql-createtablespace.html, а не создавать datbase: http: // www. postgresql.org/docs/9.1/static/sql-createdatabase.html, ссылаясь на это местоположение – wildplasser

ответ

10

Вы должны были бы сделать это в 2 этапа:

  1. Create Tablespace примеры, для которых вы можете увидеть в ссылке
  2. Create Database

При создании табличного пространства вы установили его местонахождение и то вы можете создать несколько баз данных в том же табличном пространстве, если захотите.

1

CREATE TABLESPACE fastspace LOCATION '/ mnt/sda1/postgresql/data';

См. Главу о tablespaces в руководстве.

+0

Как я уже сказал, эта ссылка не показывает, как использовать табличные пространства в ** команде CREATE DATABASE ** –

+1

Фактически это [делает] (http : //www.postgresql.org/docs/current/static/sql-createdatabase.html). –

+0

CREATE DATABASE имя TABLESPACE = табличное пространство или вы можете установить табличное пространство по умолчанию, чтобы все созданное было в таком табличном пространстве: SET default_tablespace = tablespace; – johnshen64

Смежные вопросы