27.8. pga_column Metadata Table #

This metadata table contains information about columns of analytical tables.

Column Name

Column Type

Constraint

Description

column_id

BIGINT

Primary key

The column ID.

If the initial Parquet file contains the field_id column ID, this ID is used as the column_id value. The ID is not updated until the column is deleted.

column_id values must be unique.

begin_snapshot

BIGINT

Foreign key, NOT NULL

The snapshot from the pga_snapshot metadata table associated with the column creation date and time.

end_snapshot

BIGINT

Foreign key

The snapshot from the pga_snapshot metadata table associated with the column deletion date and time.

If the value is NULL, the column is not deleted.

table_id

BIGINT

Foreign key, NOT NULL

The ID of the analytical table from the pga_table metadata table where the column is created.

column_order

BIGINT

NOT NULL

The sequence number of the column.

column_order values must be unique. However, their sequence can be interrupted, i.e., empty values are possible.

column_name

VARCHAR

NOT NULL

The column name, for example, my_column.

column_name values are not UNIQUE because pgpro_metastore does not delete metadata of columns. Deleted columns are rather associated with end_snapshot values to indicate that these columns can no longer be used.

If column_name values were UNIQUE, you would not be able to create a new column with the same name as a previously deleted column.

column_type

VARCHAR

NOT NULL

The column type corresponding to one of the supported pgpro_metastore data types.

initial_default

VARCHAR

-

The initial column value after its creation, for example, after executing ALTER TABLE.

It can be NULL.

default_value

VARCHAR

-

The default column value used in upsert operations.

It can be NULL.

nulls_allowed

BOOLEAN

-

Specifies whether the column can contain NULL values.

Possible values:

  • true

  • false

is_uniq

BOOLEAN

-

Specifies whether the column can contain repeating values for different rows.

Possible values:

  • true

  • false