Open the table called tablename for further manipulation.
Close the open table called tablename. It is an error if tablename is not already opened. If no tablename is given, then the currently open table is closed.
Create a table named tablename with the columns given in parentheses.
The type is not necessarily the data type that the column will have in the SQL environment; that is determined by the pg_attribute system catalog. The type here is essentially only used to allocate storage. The following types are allowed: bool, bytea, char (1 byte), name, int2, int2vector, int4, regproc, text, oid, tid, xid, cid, oidvector, smgr, _int4 (array), _aclitem (array). Array types can also be indicated by writing  after the name of the element type.
Note: The table will only be created on disk, it will not automatically be registered in the system catalogs and will therefore not be accessible unless appropriate rows are inserted in pg_class, pg_attribute, etc.
Insert a new row into the open table using value1, value2, etc., for its column values and oid_value for its OID. If oid_value is zero (0) or the clause is omitted, then the next available OID is used.
NULL values can be specified using the special key word _null_. Values containing spaces must be double quoted.
Create an index named indexname on the table named tablename using the amname access method. The fields to index are called name1, name2 etc., and the operator classes to use are opclass1, opclass2 etc., respectively.
Build the indices that have previously been declared.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.