PostgreSQL Naming Convention/Best Practices

Resource Name Convention

Keep the resource names in upper case in semarchy.xml even though user names, schemas and other Postgres objects tend to be lower case. Example:

JNDI Snippet
<Resource name="jdbc/SEMARCHY_REPOSITORY" auth="Container"
  factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" type="javax.sql.DataSource"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/postgres"
  username="semarchy_repository" password="semarchy_repository" 
  maxActive="8" maxIdle="8" minIdle="0" maxWait="15000" initialSize="1"
  defaultAutoCommit="false" rollbackOnReturn="true" validationQuery="select 1"
  testOnBorrow="true" timeBetweenEvictionRunsMillis="45000"
  validationInterval="60000" />

The repository data source must be all caps exactly like this:

"jdbc/SEMARCHY_REPOSITORY"

We recommend the same for other data sources:

use this:
Resource name="jdbc/SEMARCHY_RETAIL_PRODUCT_MDM"
not
Resource name="jdbc/semarchy_retail_product_mdm"