Skip to content

ERROR: Execution of implicit cross joins is not permitted

Error:
Execution of implicit cross joins is not permitted

Cause:
While running a query with joins you may get this error when ENABLE_CROSSJOIN_CONTROL parameter in /nz/data/postgresql.conf is set to ON (default value is OFF). If this parameter is set to ON then the system will prohibit implicit cross join.

Resolution:
1) Check the current setting for this parameter.
SYSTEM(ADMIN)=> show enable_crossjoin_control;
NOTICE: ENABLE_CROSSJOIN_CONTROL is on

2) Check if this entry exists in postgres.conf file and is set to ON. If it exists then either comment that or set it to OFF.

NOTE: If this entry exists then it will be there for some reason. Make sure you ar not causig any other issue by just changing this setting for one trouble query.

3) Restart NPS (will need outage) or easy way (no outage needed and runs in seconds) is to run “pkill -HUP postmaster” at Unix promt for the above change to take effect.

4) Check the setting again for this parameter to make sure its set to OFF.
SYSTEM(ADMIN)=> show enable_crossjoin_control;
NOTICE: ENABLE_CROSSJOIN_CONTROL is off

5) Try running the query again.