Name resolution of SQL objects
Informix®
database[@dbservername]:][{owner|"owner"}.]identifier
The ANSI convention is to use double quotes for identifier delimiters (For example:
"customer"."cust_name"
).
Informix database object names are not case-sensitive in non-ANSI databases. When using double-quoted identifiers, Informix becomes case sensitive.
SELECT ... FROM customer WHERE ...
- The table name must include "owner", unless the connected user is the owner of the database object.
- The database server shifts the owner name to uppercase letters before the statement executes, unless the owner name is enclosed in double quotes.
PostgreSQL
[[database.]schema.]identifier
You can define a list of schemas to be searched when the database object is not qualified. The
list of schemas to look in is specified with SET search_path TO
schema-1,schema-2,...
for an SQL session (it can also
be defined at the database level and user definition level).
When creating a table without a schema prefix, the table is created in the
"public
" schema. This schema is listed in the search path by default.
Solution
As a general rule, to write portable SQL, it is recommended that you only use simple database object names without any database, server or schema/owner qualifier and without quoted identifiers.
dbi.database.stores.pgs.schema = "\"$user\",public,stock"
For more details see PostgreSQL specific FGLPROFILE parameters.