Class PostgresType
- Namespace
- Npgsql.PostgresTypes
- Assembly
- Npgsql.dll
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.
public abstract class PostgresType
- Inheritance
-
PostgresType
- Derived
- Inherited Members
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, uint)
Constructs a representation of a PostgreSQL data type.
protected PostgresType(string ns, string name, string internalName, uint oid)
Parameters
ns
stringThe data type's namespace (or schema).
name
stringThe data type's name.
internalName
stringThe data type's internal name (e.g. _int4 for integer[]).
oid
uintThe data type's OID.
PostgresType(string, string, uint)
Constructs a representation of a PostgreSQL data type.
protected PostgresType(string ns, string name, uint oid)
Parameters
ns
stringThe data type's namespace (or schema).
name
stringThe data type's name.
oid
uintThe data type's OID.
Properties
Array
If a PostgreSQL array type exists for this type, it will be referenced here. Otherwise null.
public PostgresArrayType Array { get; }
Property Value
DisplayName
A display name for this backend type, including the namespace unless it is pg_catalog (the namespace for all built-in types).
public string DisplayName { get; }
Property Value
FullName
The full name of the backend type, including its namespace.
public string FullName { get; }
Property Value
InternalName
The data type's internal PostgreSQL name (e.g. integer[] not _int4). See Name for a more user-friendly name.
public string InternalName { get; }
Property Value
Name
The data type's name.
public string Name { get; }
Property Value
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).
public string Namespace { get; }
Property Value
OID
The data type's OID - a unique id identifying the data type in a given database (in pg_type).
public uint OID { get; }
Property Value
Range
If a PostgreSQL range type exists for this type, it will be referenced here. Otherwise null.
public PostgresRangeType Range { get; }
Property Value
Methods
ToString()
Returns a string that represents the current object.
public override string ToString()