73.4. Команды BKI#
73.4. Команды BKI #
-
createtablenametableoid[bootstrap] [shared_relation] [rowtype_oidoid] (name1=type1[FORCE NOT NULL|FORCE NULL] [,name2=type2[FORCE NOT NULL|FORCE NULL], ...]) Создайте таблицу с именем
tablenameи с OIDtableoid, с колонками, указанными в скобках.Следующие типы столбцов поддерживаются непосредственно
bootstrap.c:bool,bytea,char(1 байт),name,int2,int4,regproc,regclass,regtype,text,oid,tid,xid,cid,int2vector,oidvector,_int4(массив),_text(массив),_oid(массив),_char(массив),_aclitem(массив). Хотя возможно создание таблиц, содержащих столбцы других типов, это невозможно до тех пор, покаpg_typeне будет создана и заполнена соответствующими записями. (Это означает, что только эти типы столбцов могут использоваться в каталогах загрузки, но не загрузочные каталоги могут содержать любой встроенный тип).Когда указывается
bootstrap, таблица будет создана только на диске; ничего не будет введено вpg_class,pg_attributeи т. д. для нее. Таким образом, таблица не будет доступна обычными SQL-операциями, пока такие записи не будут созданы вручную (с помощью командinsert). Этот параметр используется для создания самихpg_classи т. д.Таблица создается как общая, если указан
shared_relation. OID строки таблицы (pg_typeOID) может быть опционально указан черезrowtype_oid; если не указан, для него автоматически генерируется OID. (Предложениеrowtype_oidбесполезно, если указанbootstrap, но ее все равно можно предоставить для документации).-
opentablename Откройте таблицу с именем
tablenameдля вставки данных. Любая текущая открытая таблица будет закрыта.-
closetablename Закройте открытую таблицу. Имя таблицы должно быть указано для проверки.
-
insert([oid_value]value1value2...) Вставьте новую строку в открытую таблицу, используя
value1,value2и т. д. для значений ее столбцов.NULL значения можно указать с помощью специального ключевого слова
_null_. Значения, которые не выглядят как идентификаторы или числовые строки, должны быть заключены в апострофы. (Чтобы включить апостроф в значение, напишите ее дважды. В строке также разрешены экранированные символы обратного слеша в стиле escape-string-style).-
declare[unique]indexindexnameindexoidontablenameusingamname(opclass1name1[, ...]) Создайте индекс с именем
indexname, имеющий OIDindexoid, на таблице с именемtablename, используя метод доступаamname. Поля для индексации называютсяname1,name2и т.д., а классы операторов для использования -opclass1,opclass2и т.д. Файл индекса создается, и для него создаются соответствующие записи в каталоге, но содержимое индекса не инициализируется этой командой.-
declare toasttoasttableoidtoastindexoidontablename Создайте TOAST-таблицу для таблицы с именем
tablename. TOAST-таблице присваивается OIDtoasttableoid, а ее индексу присваивается OIDtoastindexoid. Как и в случае сdeclare index, заполнение индекса откладывается.build indicesЗаполните индексы, которые были ранее объявлены.