Class PostgresExtensions
Feature extensions for PostgreSQL
Inheritance
PostgresExtensions
Assembly: FluentMigrator.Extensions.Postgres.dll
Syntax
public static class PostgresExtensions
Fields
Concurrently
Declaration
public const string Concurrently = "PostgresConcurrently"
Field Value
IncludesList
Declaration
public const string IncludesList = "PostgresIncludes"
Field Value
IndexAlgorithm
Declaration
public const string IndexAlgorithm = "PostgresIndexAlgorithm"
Field Value
IndexAutosummarize
Declaration
public const string IndexAutosummarize = "PostgresBrinautosummarize"
Field Value
IndexBuffering
Declaration
public const string IndexBuffering = "PostgresGiSTBuffering"
Field Value
IndexColumnNullsDistinct
Declaration
public const string IndexColumnNullsDistinct = "PostgresIndexColumnNullsDistinct"
Field Value
IndexFastUpdate
Declaration
public const string IndexFastUpdate = "PostgresGinFastUpdate"
Field Value
IndexFillFactor
Declaration
public const string IndexFillFactor = "PostgresFillFactor"
Field Value
IndexFilter
Declaration
public const string IndexFilter = "PostgresIndexFilter"
Field Value
IndexGinPendingListLimit
Declaration
public const string IndexGinPendingListLimit = "PostgresGinPendingListLimit"
Field Value
IndexPagesPerRange
Declaration
public const string IndexPagesPerRange = "PostgresBrinPagesPerRange"
Field Value
IndexTablespace
Declaration
public const string IndexTablespace = "PostgresTablespace"
Field Value
IndexVacuumCleanupIndexScaleFactor
Declaration
public const string IndexVacuumCleanupIndexScaleFactor = "PostgresBTreeVacuumCleanupIndexScaleFactor"
Field Value
NullsSort
Declaration
public const string NullsSort = "PostgresNulls"
Field Value
Only
Declaration
public const string Only = "PostgresOnly"
Field Value
OverridingIdentityValues
Declaration
public const string OverridingIdentityValues = "PostgresOverridingIdentityValues"
Field Value
Properties
IdentityGeneration
Column identity generation ability for PostgreSQL 10 and above
Declaration
public static string IdentityGeneration { get; }
Property Value
IdentityModificationType
Column identity modification type for PostgreSQL 10 and above
Declaration
public static string IdentityModificationType { get; }
Property Value
Methods
AddIdentity(IAlterColumnOptionSyntax, PostgresGenerationType)
Adds a generated identity to the column
Declaration
public static IAlterColumnOptionSyntax AddIdentity(this IAlterColumnOptionSyntax expression, PostgresGenerationType generation)
Parameters
Returns
Remarks
AsConcurrently(ICreateIndexOptionsSyntax)
When this option is used, PostgreSQL will build the index without taking any locks that prevent concurrent inserts, updates, or deletes on the table
Whereas a standard index build locks out writes (but not reads) on the table until it's done.
There are several caveats to be aware of when using this option
Declaration
public static ICreateIndexOptionsSyntax AsConcurrently(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
AsConcurrently(ICreateIndexOptionsSyntax, bool)
When this option is used, PostgreSQL will build the index without taking any locks that prevent concurrent inserts, updates, or deletes on the table
Whereas a standard index build locks out writes (but not reads) on the table until it's done.
There are several caveats to be aware of when using this option
Declaration
public static ICreateIndexOptionsSyntax AsConcurrently(this ICreateIndexOptionsSyntax expression, bool isConcurrently)
Parameters
Returns
AsOnly(ICreateIndexOptionsSyntax)
Indicates not to recurse creating indexes on partitions, if the table is partitioned.
Declaration
public static ICreateIndexOptionsSyntax AsOnly(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
AsOnly(ICreateIndexOptionsSyntax, bool)
Indicates not to recurse creating indexes on partitions, if the table is partitioned.
Declaration
public static ICreateIndexOptionsSyntax AsOnly(this ICreateIndexOptionsSyntax expression, bool isOnly)
Parameters
Returns
DropIdentity(IAlterColumnOptionSyntax, bool)
Drops an existing identity on the column
Declaration
public static IAlterColumnOptionSyntax DropIdentity(this IAlterColumnOptionSyntax expression, bool ifExists)
Parameters
Type |
Name |
Description |
IAlterColumnOptionSyntax |
expression |
|
bool |
ifExists |
If true and the column is not an identity column, no error is thrown. In this case a notice is issued instead.
|
Returns
Remarks
Fillfactor(ICreateIndexOptionsSyntax, int)
The fillfactor for an index is a percentage that determines how full the index method will try to pack index pages.
Declaration
public static ICreateBTreeIndexOptionsSyntax Fillfactor(this ICreateIndexOptionsSyntax expression, int fillfactor)
Parameters
Returns
Filter(ICreateIndexOptionsSyntax, string)
Declaration
public static ICreateIndexOptionsSyntax Filter(this ICreateIndexOptionsSyntax expression, string filter)
Parameters
Returns
Identity<TNext, TNextFk>(IColumnOptionSyntax<TNext, TNextFk>, PostgresGenerationType)
Sets the column's identity generation attribute. To change or remove an existing one, use Alter.Column instead of Alter.Table.AlterColumn
Declaration
public static TNext Identity<TNext, TNextFk>(this IColumnOptionSyntax<TNext, TNextFk> expression, PostgresGenerationType generation) where TNext : IFluentSyntax where TNextFk : IFluentSyntax
Parameters
Returns
Type |
Description |
TNext |
The next step
|
Type Parameters
Name |
Description |
TNext |
|
TNextFk |
|
Include(ICreateIndexOnColumnSyntax, string)
Declaration
public static ICreateIndexNonKeyColumnSyntax Include(this ICreateIndexOnColumnSyntax expression, string columnName)
Parameters
Returns
Include(ICreateIndexOptionsSyntax, string)
Declaration
public static ICreateIndexOptionsSyntax Include(this ICreateIndexOptionsSyntax expression, string columnName)
Parameters
Returns
Nulls(ICreateIndexMoreColumnOptionsSyntax, NullSort)
Specifies that nulls sort before non-nulls.
Declaration
public static ICreateIndexMoreColumnOptionsSyntax Nulls(this ICreateIndexMoreColumnOptionsSyntax expression, NullSort sort)
Parameters
Returns
NullsDistinct(ICreateIndexColumnUniqueOptionsSyntax, bool)
Column should have unique values. Only one row with null value should be accepted (default for most known database engines).
Declaration
public static ICreateIndexColumnUniqueOptionsSyntax NullsDistinct(this ICreateIndexColumnUniqueOptionsSyntax expression, bool nullsAreDistinct = true)
Parameters
Returns
NullsDistinct(ICreateIndexMoreColumnOptionsSyntax, bool)
Column should have unique values. Only one row with null value should be accepted (default for most known database engines).
Declaration
public static ICreateIndexOnColumnSyntax NullsDistinct(this ICreateIndexMoreColumnOptionsSyntax expression, bool nullsAreDistinct = true)
Parameters
Returns
NullsFirst(ICreateIndexMoreColumnOptionsSyntax)
Specifies that nulls sort before non-nulls. This is the default when DESC is specified.
Declaration
public static ICreateIndexMoreColumnOptionsSyntax NullsFirst(this ICreateIndexMoreColumnOptionsSyntax expression)
Parameters
Returns
NullsLast(ICreateIndexMoreColumnOptionsSyntax)
Specifies that nulls sort after non-nulls. This is the default when DESC is not specified.
Declaration
public static ICreateIndexMoreColumnOptionsSyntax NullsLast(this ICreateIndexMoreColumnOptionsSyntax expression)
Parameters
Returns
NullsNotDistinct(ICreateIndexColumnUniqueOptionsSyntax)
Column should have unique values, but multiple rows with null values should be accepted.
Declaration
public static ICreateIndexColumnUniqueOptionsSyntax NullsNotDistinct(this ICreateIndexColumnUniqueOptionsSyntax expression)
Parameters
Returns
NullsNotDistinct(ICreateIndexMoreColumnOptionsSyntax)
Column should have unique values, but multiple rows with null values should be accepted.
Declaration
public static ICreateIndexOnColumnSyntax NullsNotDistinct(this ICreateIndexMoreColumnOptionsSyntax expression)
Parameters
Returns
SetIdentity(IAlterColumnOptionSyntax, PostgresGenerationType)
Alters the strategy for an existing generated identity on the column
Declaration
public static IAlterColumnOptionSyntax SetIdentity(this IAlterColumnOptionSyntax expression, PostgresGenerationType generation)
Parameters
Returns
Remarks
Tablespace(ICreateIndexOptionsSyntax, string)
The tablespace in which to create the index. If not specified, default_tablespace is consulted, or temp_tablespaces for indexes on temporary tables.
Declaration
public static ICreateIndexOptionsSyntax Tablespace(this ICreateIndexOptionsSyntax expression, string tablespace)
Parameters
Returns
UniqueNullsDistinct(ICreateIndexOptionsSyntax, bool)
Index should have unique values. Only one row with null value should be accepted (default for most known database engines).
Declaration
public static ICreateIndexOnColumnSyntax UniqueNullsDistinct(this ICreateIndexOptionsSyntax expression, bool nullsAreDistinct = true)
Parameters
Type |
Name |
Description |
ICreateIndexOptionsSyntax |
expression |
The expression to set this option for
|
bool |
nullsAreDistinct |
true when nulls should be distinct
|
Returns
UniqueNullsNotDistinct(ICreateIndexOptionsSyntax)
Index should have unique values, but multiple rows with null values should be accepted.
Declaration
public static ICreateIndexOnColumnSyntax UniqueNullsNotDistinct(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
Using(ICreateIndexOptionsSyntax, Algorithm)
Declaration
public static ICreateIndexMethodOptionsSyntax Using(this ICreateIndexOptionsSyntax expression, Algorithm algorithm)
Parameters
Returns
Using(ISupportAdditionalFeatures, Algorithm)
Declaration
public static void Using(this ISupportAdditionalFeatures additionalFeatures, Algorithm algorithm)
Parameters
UsingBTree(ICreateIndexOptionsSyntax)
Declaration
public static ICreateBTreeIndexOptionsSyntax UsingBTree(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
UsingBrin(ICreateIndexOptionsSyntax)
Declaration
public static ICreateBrinIndexOptionsSyntax UsingBrin(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
UsingGin(ICreateIndexOptionsSyntax)
Declaration
public static ICreateGinIndexOptionsSyntax UsingGin(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
UsingGist(ICreateIndexOptionsSyntax)
Declaration
public static ICreateGiSTIndexOptionsSyntax UsingGist(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
UsingHash(ICreateIndexOptionsSyntax)
Declaration
public static ICreateHashIndexOptionSyntax UsingHash(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
UsingSpgist(ICreateIndexOptionsSyntax)
Declaration
public static ICreateSpgistIndexOptionsSyntax UsingSpgist(this ICreateIndexOptionsSyntax expression)
Parameters
Returns
WithOverridingSystemValue(IInsertDataSyntax)
Adds an OVERRIDING SYSTEM VALUE clause in the current IInsertDataSyntax expression.
This enables the system-generated values to be overriden with the user-specified explicit values (other than DEFAULT
)
for identity columns defined as GENERATED ALWAYS
Declaration
public static IInsertDataSyntax WithOverridingSystemValue(this IInsertDataSyntax expression)
Parameters
Returns
WithOverridingUserValue(IInsertDataSyntax)
Adds an OVERRIDING USER VALUE clause in the current IInsertDataSyntax expression.
Any user-specified values will be ignored and the system-generated values will be applied
for identity columns defined as GENERATED BY DEFAULT
Declaration
public static IInsertDataSyntax WithOverridingUserValue(this IInsertDataSyntax expression)
Parameters
Returns