Postgres_Connection.create_table
create_tabletable_name structure primary_key temporary allow_existing on_problems
Group: Output
Documentation
Creates a new empty table in the database and returns a query referencing the new table.
Arguments
table_name: the name of the table to create.structure: the structure of the table, provided as either an existingTable(no data will be copied) or aVectorofColumn_Description.primary_key: the names of the columns to use as the primary key. The first column from the table is used by default. If it is set toNothingor an empty vector, no primary key will be created.temporary: if set toTrue, the table will be temporary, meaning that it will be dropped once theconnectionis closed. Defaults toFalse.allow_existing: Defaults toFalse, meaning that if the table with the provided name already exists, an error will be raised. If set toTrue, the existing table will be returned instead. Note that the existing table is not guaranteed to have the same structure as the one provided.on_problems: the behavior to use when encountering non-fatal problems. Defaults to reporting them as warning.
Errors
- If a table with the given name already exists, then a
Table_Already_Existserror is raised. - If a column type is not supported and is coerced to a similar
supported type, an
Inexact_Type_Coercionproblem is reported according to theon_problemssetting. - If a column type is not supported and there is no replacement (e.g.
native Enso types), an
Unsupported_Typeerror is raised. - If the provided primary key columns are not present in table
structure provided,
Missing_Input_Columnserror is raised. - An
SQL_Errormay be reported if there is a failure on the database side.
Remarks
Dry Run if Output disabled
If performing output actions is disabled, only a dry run is performed
and no permanent changes occur. The operation will test for errors
(like missing columns) and if successful, return a temporary table with
a Dry_Run_Operation warning attached.