Инициализация файловой системы
В случае успешного завершения команда initdb создает кластер баз данных в заданном каталоге. Созданный кластер может использоваться PostgreSQL для хранения баз данных.
В листинге 9.7 приведен пример инициализации кластера в каталоге /usr/local/psql/booktown.
Листинг 9.7. Инициализация нового кластера.
[postgres@booktown – ]$ initdb /usr/local/pgsql/booktown This database system will be initialized with username "postgres". This user will own all the data files and must also own the server process. Creating directory /usr/local/pgsql/booktown Creating directory /usr/local/pgsql/booktown/base Creating directory /usr/local/pgsql/booktown/global Creating directory /usr/local/pgsql/booktown/pg_xlog Creating tempiatel database in /usr/local/pgsql/booktown/base/1 DEBUG: database system was shut down at 2001-08-27 16:51:07 PDT DEBUG: Checkpoint record at (0. 8) DEBUG: Redo record at (0, 8); Undo record at (0. 8): Shutdown TRUE DEBUG: Next Transaction: 514: NextOid: 16384 DEBUG: database system is in production state Creating global relations in /usr/local/pgsql/booktown/global DEBUG: database system was shut down at 2001-08-27 16:51:14 PDT DEBUG: Checkpoint record at (0. 108) DEBUG: Redo record at (0. 108): Undo record at (0. 0): Shutdown TRUE DEBUG: NextTransactionld: 514: NextOid: 17199 DEBUG: database system is in production state Initializing pg_shadow. Enabling unlimited row width for system tables. Creating system views. Loading pg_description. Setting lastsysoid. Vacuuming database. Copying tempiatel to tempiateO. Success. You can now start the database server using: /usr/local/pgsql/bin/postmaster – D /usr/local/pgsql/booktown or /usr/local/pgsql/bin/pg_ctl – D /usr/local/pgsql/booktown – 1 logfile start
Инициализация вторичного каталога
Если вы не хотите создавать новый кластер, а всего лишь хотите переместить базу данных в другой каталог, воспользуйтесь программой initlocation. Эта программа создает каталоги, необходимые для вторичного хранения баз данных. За дополнительной информацией о создании баз данных во вторичных каталогах обращайтесь к разделу "Создание и удаление баз данных" этой главы. Синтаксис команды initlocation:
initlocation каталог
Параметр каталог содержит путь к новому вторичному каталогу. Команда initlocation должна выполняться пользователем, запустившим процесс postmaster, чтобы он имел необходимые права для созданного каталога.
В листинге 9.8 приведен пример инициализации вторичной области хранения баз данных в каталоге /usr/local/pgsql/booktown2.
Листинг 9.8. Инициализация вторичного каталога.
[postgres@booktown – ]$ initlocation /usr/local/pgsql/booktown2