75.4. BKI Commands
- 
    
     createtablenametableoid[bootstrap] [shared_relation] [rowtype_oidoid] (name1=type1[FORCE NOT NULL|FORCE NULL] [ ,name2=type2[FORCE NOT NULL|FORCE NULL], ... ])
- 
    Create a table named tablename, and having the OIDtableoid, with the columns given in parentheses.The following column types are supported directly by 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). Although it is possible to create tables containing columns of other types, this cannot be done until afterpg_typehas been created and filled with appropriate entries. (That effectively means that only these column types can be used in bootstrap catalogs, but non-bootstrap catalogs can contain any built-in type.)When bootstrapis specified, the table will only be created on disk; nothing is entered intopg_class,pg_attribute, etc., for it. Thus the table will not be accessible by ordinary SQL operations until such entries are made the hard way (withinsertcommands). This option is used for creatingpg_classetc. themselves.The table is created as shared if shared_relationis specified. The table's row type OID (pg_typeOID) can optionally be specified via therowtype_oidclause; if not specified, an OID is automatically generated for it. (Therowtype_oidclause is useless ifbootstrapis specified, but it can be provided anyway for documentation.)
- 
    
     opentablename
- 
    Open the table named tablenamefor insertion of data. Any currently open table is closed.
- 
    
     closetablename
- 
    Close the open table. The name of the table must be given as a cross-check. 
- 
    
     insert([oid_value]value1value2...)
- 
    Insert a new row into the open table using value1,value2, etc., for its column values.NULL values can be specified using the special key word _null_. Values that do not look like identifiers or digit strings must be single-quoted. (To include a single quote in a value, write it twice. Escape-string-style backslash escapes are allowed in the string, too.)
- 
    
     declare[unique]indexindexnameindexoidontablenameusingamname(opclass1name1[ , ... ])
- 
    Create an index named indexname, having OIDindexoid, on the table namedtablename, using theamnameaccess method. The fields to index are calledname1,name2etc., and the operator classes to use areopclass1,opclass2etc., respectively. The index file is created and appropriate catalog entries are made for it, but the index contents are not initialized by this command.
- 
    
     declare toasttoasttableoidtoastindexoidontablename
- 
    Create a TOAST table for the table named tablename. The TOAST table is assigned OIDtoasttableoidand its index is assigned OIDtoastindexoid. As withdeclare index, filling of the index is postponed.
- 
    
     build indices
- 
    Fill in the indices that have previously been declared.