code: @Override
    public Map<String, JdbcType> retrieveDateColumns(String database, String table)
        throws SQLException {
      Map<String, JdbcType> targetDataTypes =
          ImmutableMap.<String, JdbcType>builder().put("DATE", JdbcType.DATE).put("TIME WITH TIME ZONE", JdbcType.TIME)
              .put("TIME WITHOUT TIME ZONE", JdbcType.TIME).put("TIMESTAMP WITH TIME ZONE", JdbcType.TIMESTAMP)
              .put("TIMESTAMP WITHOUT TIME ZONE", JdbcType.TIMESTAMP).build();
  
      ImmutableMap.Builder<String, JdbcType> dateColumnsBuilder = ImmutableMap.builder();
  
      try (PreparedStatement pstmt = this.conn
          .prepareStatement(INFORMATION_SCHEMA_SELECT_SQL_PSTMT, ResultSet.TYPE_SCROLL_INSENSITIVE,
              ResultSet.CONCUR_READ_ONLY)) {
        pstmt.setString(1, database);
        pstmt.setString(2, table);
        log.info("Retrieving column type information from SQL: " + pstmt);
        try (ResultSet rs = pstmt.executeQuery()) {
          if (!rs.first()) {
            throw new IllegalArgumentException("No result from information_schema.columns");
          }
          do {
            String type = rs.getString("data_type").toUpperCase();
            JdbcType convertedType = targetDataTypes.get(type);
            if (convertedType != null) {
              dateColumnsBuilder.put(rs.getString("column_name"), convertedType);
            }
          } while (rs.next());
        }
      }
      return dateColumnsBuilder.build();
    }
docs: https://documentation.progress.com/output/DataDirect/DataDirectCloud/index.html#page/queries/postgresql-data-types.html
  {@inheritDoc}
  @see org.apache.gobblin.writer.commands.JdbcWriterCommands#retrieveDateColumns(java.sql.Connection, java.lang.String)