Types Wizard (PostgreSQL)

From DBArtisan
Jump to: navigation, search

Go Up to PostgreSQL Object Wizards

This wizard lets you build and submit a CREATE TYPE, creating a new data type to be used in the current database. Optionally, an ALTER TABLE statement can be generated to modify a specific type.

To create a new type using a wizard:

  1. Open a creation wizard for a type. For details, see Opening an Object Wizard.
  2. Use the following topics as a guide to setting properties and performing tasks as you pass through the wizard panels:
  3. Finally, use the Finish button to create the object.

Types (PostgreSQL) - Properties

When creating or editing a type, this tab/panel lets you work with the following settings:

Setting Description

Schema

Schema where the new data type is created.

Name

Provide a name for the data type being created.

Kind

Indicates the kind of data of the data type being created. Options are PSEUDO, BASE, RANGE, ENUM and COMPOSITE.

Types (PostgreSQL) - Range Kind

Setting Description

SubtypeSchema

Schema where the subtype is registered.

SubtypeName

Name of the element type that the range type will represent ranges of.

SubtypeOpClassFunctionSchema

Schema where the subtype operator class is registered.

SubtypeOpClassFunctionName

Name of a b-tree operator class for the subtype.

SubtypeCollationSchema

Schema where the collation is registered.

SubtypeCollationName

Name of an existing collation to be associated with a range type.

SubtypeCanonicalFunctionSchema

Schema where the canonicalization function is registered.

SubtypeCanonicalFunctionName

Name of the canonicalization function for the range type.

SubtypeDiffFunctionSchema

Schema where the difference function is registered.

SubtypeDiffFunctionName

Name of the difference function for the subtype.

Only SubtypeName is required, the other parameters are optional.

Types (PostgreSQL) - Base kind

Setting Description

InputFunctionSchema

Schema where the input function is registered.

InputFunctionName

Name of a function that converts data from the type's external textual form to its internal form.

OutputFunctionSchema

Schema where the output function is registered.

OutputFunctionName

Name of a function that converts data from the internal form of the type to its external textual form.

RecvFunctionSchema

Schema where the receive function is registered.

RecvFunctionName

Name of a function that converts data from the external binary form of the type to its internal form.

SendFunctionSchema

Schema where the Send function is registered.

SendFunctionName

Name of a function that converts data from the internal form of the type to its external binary form.

ModInFunctionSchema

Schema where the type modifier input function is registered.

ModInFunctionName

Name of a function that converts an array of modifier for the types into internal form.

ModOutFunctionSchema

Schema where the type modifier output function is registered.

ModOutFunctionName

Name of a function that converts the internal form of the type's modifier to an external textual form.

AnalyzeFunctionSchema

Schema where the Analyze function is registered.

AnalyzeFunctionName

Name of a function that performs statistical analysis for the data type.

InternalLength

Numeric constant that specifies the length in bytes of the new type's internal representation. The default assumption is that is is variable-length.

Alignment

The storage alignment requirement of the data type. If specified, it must be char, int2, int4, or double; the default is int4.

PassByValue

Indicates whether the type can be passed by value or not. By default, is set to false.

Storage

The storage strategy for the data type. If specified, it must be plain, external, extended, or main; the default is plain.

Category

The category code (a single ASCII character) for this type. The default is 'U' for "user-defined type". Other standard category codes can be found in Table 45-45. You may also choose other ASCII characters in order to create custom categories.

IsPreferred

True if this type is a preferred type within its type category, else false. The default is false. Be very careful about creating a new preferred type within an existing type category, as this could cause surprising changes in behavior.

DefaultValue

The default value for the data type. If this is omitted, the default is null.

Delimiter

The delimiter character to be used between values in arrays made of this type.

IsCollatable

Indicates whether the type can use collation information or not. By default is set to false.

ElementSchema

Schema where the element is registered.

ElementName

The type being created is an array; this specifies the type of the array elements.

Only InputFunctionName and OutputFunctionName are required, the other parameters are optional.