Документация по PostgreSQL 9.1.1 | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 56. BKI Backend интерфейс | Fast Forward | Next |
Создать таблицу с именем имя_таблицы и имеющую OID с колонками, которые указаны в скобках.
Напрямую через bootstrap.c поддерживаются следующие типы колонок: bool, bytea, char (1 byte), name, int2, int4, regproc, regclass, regtype, text, oid, tid, xid, cid, int2vector, oidvector, _int4 (array), _text (array), _oid (array), _char (array), _aclitem (array). Таким образом, невозможно создать таблицы, содержащие колонки других типов, это не может быть выполнено пока не будет содана таблица pg_type и не будет заполнена соответствующими записями. (Что фактически означает, что только эти типы колонок могут быть использованы в bootstrap таблицах, а не-bootstrap каталоги могут содержать любой встроенный тип).
Если указана опция bootstrap, таблица будет только создана на диске; для неё невозможно ничего ввести в таблицы pg_class, pg_attribute и т.д. Таким образом, эта таблица не будет доступна для обычных SQL операций пока такие записи не будут сделаны грубым способом (с помощью команды insert). Данная опция используется для создания самих таблиц типа pg_class и т.д.
Если указана опция shared_relation, то таблица создаётся как разделяемая. Она бцдет иметь колонку OID, если не указана опция without_oids. С помощью предложения rowtype_oid может быть указан необязательный OID типа строки таблицы (pg_type OID); если он не указан, данный OID будет сгенерирован автоматически. (Предложение rowtype_oid не используется, если указан bootstrap, но для документирования оно всё-равно может быть предоставлено).
Открыть таблицу с именем имя_таблицы для вставки данных. Все открытые в текущий момент таблицы закрываются.
Закрыть открытую таблицу. Имя этой таблицы может быть задано как некая перекрёстная проверка, но этого не требуется.
Вставить новую строку в открытыю таблицу, используя знаение1, значение2 и т.д., для соответствующих значений колонок и значение_oid для колонки OID. Если значение_oid равно нулю (0) или оно опущено и таблица имеет OID, то назначается следующее доступное значение OID.
Значения NULL могут быть заданы с помощью специального ключевого слова _null_. Значения, содержащие пробелы должны быть заключены в двойные кавычки.
Создать индекс с именем имя_индекса, имеющий OID oid_индекс для таблицы с именем tablename, используя метод доступа amname. Поля индекса называются имя1, имя2 и т.д., а используемые классы операторов соответственно opclass1, opclass2 и т.д. Создаётся файл индекса и для него делается соответствующие записи каталога, но содержимое индекса этой командой не инициализируется.
Создать TOAST таблицу для таблицы с именем tablename. TOAST таблице назначается OID toasttableoid и его индекс назначается OID toastindexoid. Как и с declare index, заполнение индекса откладывается.
Заполнить содержимое индекса, который был определён ранее.