Show / Hide Table of Contents

Class PostgresType

Represents a PostgreSQL data type, such as int4 or text, as discovered from pg_type. This class is abstract, see derived classes for concrete types of PostgreSQL types.

Inheritance
System.Object
PostgresType
PostgresArrayType
PostgresBaseType
PostgresCompositeType
PostgresDomainType
PostgresEnumType
PostgresRangeType
UnknownBackendType
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Npgsql.PostgresTypes
Assembly: Npgsql.dll
Syntax
public abstract class PostgresType
Remarks

Instances of this class are shared between connections to the same databases. For more info about what this class and its subclasses represent, see https://www.postgresql.org/docs/current/static/catalog-pg-type.html.

Constructors

PostgresType(String, String, String, UInt32)

Constructs a representation of a PostgreSQL data type.

Declaration
protected PostgresType(string ns, string name, string internalName, uint oid)
Parameters
Type Name Description
System.String ns

The data type's namespace (or schema).

System.String name

The data type's name.

System.String internalName

The data type's internal name (e.g. _int4 for integer[]).

System.UInt32 oid

The data type's OID.

PostgresType(String, String, UInt32)

Constructs a representation of a PostgreSQL data type.

Declaration
protected PostgresType(string ns, string name, uint oid)
Parameters
Type Name Description
System.String ns

The data type's namespace (or schema).

System.String name

The data type's name.

System.UInt32 oid

The data type's OID.

Properties

Array

If a PostgreSQL array type exists for this type, it will be referenced here. Otherwise null.

Declaration
public PostgresArrayType Array { get; }
Property Value
Type Description
PostgresArrayType

DisplayName

A display name for this backend type, including the namespace unless it is pg_catalog (the namespace for all built-in types).

Declaration
public string DisplayName { get; }
Property Value
Type Description
System.String

FullName

The full name of the backend type, including its namespace.

Declaration
public string FullName { get; }
Property Value
Type Description
System.String

InternalName

The data type's internal PostgreSQL name (e.g. integer[] not _int4). See Name for a more user-friendly name.

Declaration
public string InternalName { get; }
Property Value
Type Description
System.String

Name

The data type's name.

Declaration
public string Name { get; }
Property Value
Type Description
System.String
Remarks

Note that this is the standard, user-displayable type name (e.g. integer[]) rather than the internal PostgreSQL name as it is in pg_type (_int4). See InternalName for the latter.

Namespace

The data type's namespace (or schema).

Declaration
public string Namespace { get; }
Property Value
Type Description
System.String

OID

The data type's OID - a unique id identifying the data type in a given database (in pg_type).

Declaration
public uint OID { get; }
Property Value
Type Description
System.UInt32

Range

If a PostgreSQL range type exists for this type, it will be referenced here. Otherwise null.

Declaration
public PostgresRangeType Range { get; }
Property Value
Type Description
PostgresRangeType

Methods

ToString()

Returns a string that represents the current object.

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()
In This Article
Back to top Generated by DocFX