Class PostgresDialect
- java.lang.Object
-
- org.apache.flink.connector.jdbc.dialect.AbstractDialect
-
- org.apache.flink.connector.jdbc.databases.postgres.dialect.PostgresDialect
-
- All Implemented Interfaces:
Serializable,JdbcDialect
@Internal public class PostgresDialect extends AbstractDialect
JDBC dialect for PostgresSQL.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.connector.jdbc.dialect.AbstractDialect
AbstractDialect.Range
-
-
Constructor Summary
Constructors Constructor Description PostgresDialect()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<AbstractDialect.Range>decimalPrecisionRange()Optional<String>defaultDriverName()StringdialectName()Get the name of jdbc dialect.StringgetLimitClause(long limit)Get limit clause to limit the number of emitted row from the jdbc source.JdbcRowConvertergetRowConverter(org.apache.flink.table.types.logical.RowType rowType)Get converter that convert jdbc object and Flink internal object each other.Optional<String>getUpsertStatement(String tableName, String[] fieldNames, String[] uniqueKeyFields)Postgres upsert query.StringquoteIdentifier(String identifier)Quotes the identifier.Set<org.apache.flink.table.types.logical.LogicalTypeRoot>supportedTypes()Defines the set of supported types for the dialect.Optional<AbstractDialect.Range>timestampPrecisionRange()-
Methods inherited from class org.apache.flink.connector.jdbc.dialect.AbstractDialect
getDeleteStatement, getInsertIntoStatement, getRowExistsStatement, getSelectFromStatement, getUpdateStatement, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.connector.jdbc.dialect.JdbcDialect
appendDefaultUrlProperties
-
-
-
-
Method Detail
-
getRowConverter
public JdbcRowConverter getRowConverter(org.apache.flink.table.types.logical.RowType rowType)
Description copied from interface:JdbcDialectGet converter that convert jdbc object and Flink internal object each other.- Parameters:
rowType- the given row type- Returns:
- a row converter for the database
-
getLimitClause
public String getLimitClause(long limit)
Description copied from interface:JdbcDialectGet limit clause to limit the number of emitted row from the jdbc source.- Parameters:
limit- number of row to emit. The value of the parameter should be non-negative.- Returns:
- the limit clause.
-
defaultDriverName
public Optional<String> defaultDriverName()
- Returns:
- the default driver class name, if user has not configured the driver class name, then this one will be used.
-
getUpsertStatement
public Optional<String> getUpsertStatement(String tableName, String[] fieldNames, String[] uniqueKeyFields)
Postgres upsert query. It use ON CONFLICT ... DO UPDATE SET.. to replace into Postgres.- Returns:
- The upsert statement if supported, otherwise None.
-
quoteIdentifier
public String quoteIdentifier(String identifier)
Description copied from interface:JdbcDialectQuotes the identifier.Used to put quotes around the identifier if the column name is a reserved keyword or contains characters requiring quotes (e.g., space).
- Returns:
- the quoted identifier.
-
dialectName
public String dialectName()
Description copied from interface:JdbcDialectGet the name of jdbc dialect.- Returns:
- the dialect name.
-
decimalPrecisionRange
public Optional<AbstractDialect.Range> decimalPrecisionRange()
- Overrides:
decimalPrecisionRangein classAbstractDialect- Returns:
- The inclusive range [min,max] of supported precisions for
DecimalTypecolumns. None if decimal type is not supported.
-
timestampPrecisionRange
public Optional<AbstractDialect.Range> timestampPrecisionRange()
- Overrides:
timestampPrecisionRangein classAbstractDialect- Returns:
- The inclusive range [min,max] of supported precisions for
TimestampTypecolumns. None if timestamp type is not supported.
-
supportedTypes
public Set<org.apache.flink.table.types.logical.LogicalTypeRoot> supportedTypes()
Description copied from class:AbstractDialectDefines the set of supported types for the dialect. If the dialect supportsDECIMALorTIMESTAMPtypes, be sure to overrideAbstractDialect.decimalPrecisionRange()andAbstractDialect.timestampPrecisionRange()respectively.- Specified by:
supportedTypesin classAbstractDialect- Returns:
- a set of logical type roots.
-
-