Ускорить создание PostGreSQL? - PullRequest
6 голосов
/ 12 марта 2010

Есть ли способ ускорить команду createb в PostgreSQL?

Обычно мне все равно, но при модульном тестировании в Django база данных создается каждый раз, и это занимает около 5 секунд.

Я использую 64-битную версию openSUSE 11.2, PostgreSQL 8.4.2

Ответы [ 2 ]

5 голосов
/ 12 марта 2010

Теперь это не поможет, но в PostgreSQL 9.0 была проделана определенная работа.

В качестве обходного пути вы можете попробовать запустить с помощью fsync = off. Конечно, даже не думайте делать это, если у вас есть фактические данные в вашей базе данных, но если они работают только в тестовой системе, это заставит вашу CREATE DATABASE работать на lot быстрее.

1 голос
/ 12 марта 2010
  • Если Django поддерживает схемы postgres , то вы можете просто удалить рассматриваемую схему и воссоздать ее, вместо того чтобы уничтожить всю базу данных.
  • Вы по-прежнему можете использовать DROP OWNED BY ... CASCADE, чтобы отбросить все объекты, созданные любым пользователем, настроенным в Django, и вернуть базу данных в первоначальное состояние. Посмотрите, насколько это быстрее.
  • Вы можете выключить Postgres, а затем распаковать существующую холодную резервную копию базы данных вместо запуска initdb. Посмотрите, насколько это быстрее.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...