PostgreSQL Usage Notes

Case Sensitivity

PostgreSQL is case sensitive with regards to all database identifiers (table names, schema names, column names, etc.) In addition, PostgreSQL has a distinct preference for all identifiers being in all lower case letters. If you use all lower case identifiers for PostgreSQL, then MyBatis Generator will find tables and write correct SQL with no additional consideration. If you used mixed cased, or upper case, identifiers you will need to configure MyBatis Generator appropriately:

  • Use the delimitIdentifiers option if your table or schema is mixed case or all upper case.
  • For each mixed case or upper case column you could specify a <columnOverride> element to specifically delimit the column, or you could specify the delimitAllColumns attribute to delimit all column names.

Examples:

  <table schema="HR" tableName="Employees"
      delimitIdentifiers="true" delimitAllColumns="true"/>

Or...

  <table schema="HR" tableName="Employees" delimitIdentifiers="true" >
    <columnOverride column="EmployeeId" delimitedColumnName="true" />
    <columnOverride column="EmployeeName" delimitedColumnName="true" />
  </table>