org.springframework.jdbc.core.metadata

## Class PostgresTableMetaDataProvider

- java.lang.Object
- - org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider
  - - org.springframework.jdbc.core.metadata.PostgresTableMetaDataProvider

- All Implemented Interfaces:
    TableMetaDataProvider

      public class PostgresTableMetaDataProvider
      extends GenericTableMetaDataProvider

  The PostgreSQL specific implementation of the `TableMetaDataProvider`. Suports a feature for retreiving generated keys without the JDBC 3.0 getGeneratedKeys support.
  Since:
    2.5
  Author:
    Thomas Risberg

- - ### Field Summary

    - ### Fields inherited from class org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PostgresTableMetaDataProvider(DatabaseMetaData databaseMetaData)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getSimpleQueryForGetGeneratedKey(String tableName, String keyColumnName)` Get the simple query to retrieve a generated key
    `boolean` | `isGetGeneratedKeysSimulated()` Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported `DatabaseMetaData.supportsGetGeneratedKeys()`

    - ### Methods inherited from class org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider

      `catalogNameToUse, getDatabaseVersion, getDefaultSchema, getNativeJdbcExtractor, getTableParameterMetaData, initializeWithMetaData, initializeWithTableColumnMetaData, isGeneratedKeysColumnNameArraySupported, isGetGeneratedKeysSupported, isStoresLowerCaseIdentifiers, isStoresUpperCaseIdentifiers, isTableColumnMetaDataUsed, metaDataCatalogNameToUse, metaDataSchemaNameToUse, schemaNameToUse, setGeneratedKeysColumnNameArraySupported, setGetGeneratedKeysSupported, setNativeJdbcExtractor, setStoresLowerCaseIdentifiers, setStoresUpperCaseIdentifiers, tableNameToUse`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PostgresTableMetaDataProvider

          public PostgresTableMetaDataProvider(DatabaseMetaData databaseMetaData)
                                        throws SQLException

      Throws:
        `SQLException`

  - ### Method Detail

    - #### isGetGeneratedKeysSimulated

          public boolean isGetGeneratedKeysSimulated()

      Description copied from interface: `TableMetaDataProvider`
      Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported `DatabaseMetaData.supportsGetGeneratedKeys()`
      Specified by:
        `isGetGeneratedKeysSimulated` in interface `TableMetaDataProvider`
      Overrides:
        `isGetGeneratedKeysSimulated` in class `GenericTableMetaDataProvider`

    - #### getSimpleQueryForGetGeneratedKey

          public String getSimpleQueryForGetGeneratedKey(String tableName,
                                                String keyColumnName)

      Description copied from interface: `TableMetaDataProvider`
      Get the simple query to retrieve a generated key
      Specified by:
        `getSimpleQueryForGetGeneratedKey` in interface `TableMetaDataProvider`
      Overrides:
        `getSimpleQueryForGetGeneratedKey` in class `GenericTableMetaDataProvider`