Defining PostgreSQL Tables

The following properties are applicable to a PostgreSQL Table object.

Tab

Section

Property

Description

Additional Information

 

 

Physical Name Specifies the physical name of the table  
 

 

Schema Specifies the schema options for the schema generation Select the schema from the drop-down list or click New icon in property editors to create a new object to create a new object
 

 

Foreign Table Specifies foreign tables defined in the current database Only those foreign tables are shown that to which the current user has access.
 

 

Create Table As Specifies whether the table should be created based on the results of a SELECT statement This enables the fields to appear on the Select tab of the Table editor. You can specify the SQL SELECT statement to use.
 

 

If Not Exists Specifies that if the table already exists, no exception is thrown, and no action happens  
 

 

Physical Only Specifies whether the table appears in a physical model only  

 

 

Data Vault 2.0 Component

Specifies the Data vault 2.0 Component Type

Available only when Data Vault 2.0 is enabled in the model properties.

To convert existing models to Data Vault models, refer to the Converting Models to Data Vault Models topic.

 

 

Generate Specifies whether a SQL statement for the table is generated during forward engineering  
General

Name

Name Specifies the name of the table  
Physical Name Specifies the physical name of the table  
Harden Strategy Specifies several parameters and practices aimed at enhancing security and reliability

Inherit: Specifies to inherit the table physical name, column name, or Physical Only setting

Override: Specifies to override inheritance for the table physical name, column name, or Physical Only setting

Harden: Specifies to harden the table physical name.

General Options

Table Type

Specifies the type of the table

Temporary: Temporary tables are tables that are visible and accessible only within the session in which you create them.

Global Temporary: Accepts two hash values "##" as the prefix when created. They are visible to all connections of SQLServer and only destroyed when the last connection referencing the table is closed

Local Temporary: The tables are created using a single hash value "#" and are visible only to the connection that created them and are deleted when the connection is closed.

Unlogged: Prioritize write speed by skipping data logging, enhancing write performance. However, this sacrifices data durability and replication, risking data loss in system failures.

Access Method Specifies the access method for the table  
Storage Parameter Specifies optional storage parameters for a table or index.  
Without OIDS Using this syntax, you can declare a table WITHOUT OIDS. You can't create a table WITH OIDS using this syntax.  
Commit Type Specifies the type of commit

Delete Rows: At the end of each transaction block, the temporary table automatically deletes all its rows. Essentially, it performs a TRUNCATE operation at each commit. However, this operation is not cascaded to the partitions of a partitioned table when used on one.

Preserve Rows: The default behavior is to take no special action at the end of transactions.

Drop: The temporary table will drop at the end of the current transaction block. When you use it on a partitioned table, this action drops its partitions, and when you use it on tables with inheritance children, it drops the dependent children.

Tablespace Specifies a tablespace for the table  

Other Options

Inherit Table List Specifies a list of tables from which the new table automatically inherits all columns  
Of Type Creates a typed table, which takes its structure from the specified composite type (name optionally schema-qualified). A typed table is tied to its type, for example, the table will be dropped if the type is dropped (with DROP TYPE ... CASCADE).  
Parent Table Specifies columns, constraints, and indexes that are common across a set of child tables  

Foreign Table Options

 

Server Specifies foreign servers defined in the current database Available only when the Foreign Table check box is selected
Options Specifies the options defined for foreign servers in the current database Available only when the Foreign Table check box is selected
Partitions

 

 

 

 

 

 

 

Partition By

Partition Type Specifies the type of partitions

Range: This type of partitioning assigns rows to partitions based on column values falling within a given range

List: The table is partitioned by explicitly listing which key value(s) appear in each partition.

Hash: To partition the table, you specify a modulus and a remainder for each partition. Each partition holds the rows where dividing the hash value of the partition key by the specified modulus produces the specified remainder

Partition Columns

 

 

Column Specifies the name of the partition column  

Collation

Assign a collation to the column (which must be of a collatable data type). If not specified, it uses the default collation of the column's data type.

 

OpClass

Specifies that a particular operator family applies to a particular indexable column data type

 

Partition Expression

 

 

Expression Specifies the name of the column name or expression  
Collation

Specifies the name of the collation

 
OpClass Specifies an index access method operator classes.  

Partitions

 

 

 

 

 

From Partition Bound Expression Specifies the range partition  

To Partition Bound Expression

Specifies the range partition

 

In Partition Bound Expression

Specifies list partition

 

Modulus Value

Specifies each partition of the table, which must be a positive integer

 

Remainder Value

Specifies each partition of the table, which must be a non-negative integer less than the modulus

 

Is Default

Specify DEFAULT to make the table the default partition of the parent table

 

Like Table

 

Like Table Options Specifies a table from which the new table automatically copies all column names, their data types, and their not-null constraints

Name: Specifies the name of the table

Including Comments: Copies columns, constraints, and indexes.

Including Compression: Copies compression method of columns.

Including Constraints: Copies CHECK constraints from the original table to the new one. Also, it always copies not-null constraints to the new table.

Including Defaults: Copies default expressions for the copied column definitions.

Including Generated: Copies any generation expressions from the original column definitions to the new table. By default, the new columns will be standard base columns.

Including Identity: Copies identity specifications from the original column definitions to the new table. It creates a new sequence for each identity column in the new table, different from those linked to the old table.

Including Indexes: Copies indexes, PRIMARY KEY, UNIQUE, and EXCLUDE constraints from the original table to the new table

Including Statistics: Copies extended statistics to the new table.

Including Storage: Copies the STORAGE settings for the copied column definitions.

Including All: Includes all available individual options

Excluding Comments: Removes columns, constraints, and indexes.

Excluding Compression: Removes compression method of columns.

Excluding Constraints: Removes CHECK constraints from the original table and moves them to the new one. Also, it always copies not-null constraints to the new table.

Excluding Defaults: Removes default expressions for the copied column definitions.

Excluding Generated: Removes any generation expressions from the original column definitions to the new table. By default, the new columns will be standard base columns.

Excluding Identity: Removes any identity specifications from the original column definitions to the new table. It creates a new sequence for each identity column in the new table, different from the sequences linked to the old table.

Excluding Indexes: Removes indexes, PRIMARY KEY, UNIQUE, and EXCLUDE constraints from the original table to the new table.

Excluding Statistics: Removes extended statistics to the new table.

Excluding Storage: Removes the STORAGE settings for the copied column definitions.

Excluding All: Excludes all available individual options

Select

Options

 

With Clause

Defines properties for the table creation

With No Data: Specifies whether the query should copy the table structure into the new table

With Data: Specifies whether the query should copy the produced data into the new table.

Select Statement Specifies the select statement to select tables and columns This tab is available only when the Create Table As option is selected
Statistics

 

Name Specifies the statistics applicable to the table  

Business Term Mapping

 

 

 

 

 

 

Name

Specifies the name of the business term

 

 

Definition

Specifies the definition of the business term

 

 

Description

Specifies the description of the business term

 

 

SDI

Specifies whether the asset is sensitive

 

 

SDI Classification

Specifies the SDI classification of the asset

 

 

Path

Specifies the asset path

 

Object Creation Order

 

 

 

 

Script Template

Specifies to display the available script templates for which you can change the creation order

 

 

Name

Specifies the name of the script template. Change the name of the script template in this field.

 

 

Generate As

Specifies to generate the script template pre-creation or post-creation.

 

 

Type

Specifies to generate the script template for a model or a table

 

Nullability

 

Nullable Members

 

Columns

Specifies whether a table column has null values and is nullable

 

Null Option

Specifies that NULL values are allowed in nullable columns.

 

  1. Click the Volumetrics to specify volumetric information for a table.
  2. Work with the other tabs in the editor to access additional design features, for example:
    • Specify validation rules in the Validation tab.
    • Preview the forward engineering script for a table in the SQL tab.
    • Work with style sheets to format the font used in the display of the table in the Style tab.
    • Specify the icon style to use for the table in the Icon tab and to specify an image properties, refer to the Specify Image Properties topic.
  3. (Optional) Click the Comment tab and enter any comments you want to associate with the object.
  4. (Optional) Click the Where Used tab to view where the object is used within the model.
  5. (Optional) Click the UDP tab to work with user-defined properties for the object.
  6. (Optional) Click the History tab to view the history information for the object.
  7. (Optional) Click the Notes tab to view and edit user notes.
  8. (Optional) Click the Extended Notes tab to view or edit user notes.
  9. Click Close.

    The table is defined and the PostgreSQL Table Editor closes.

For more information on table properties, refer to PostgreSQL documentation.