PG_HINT_PLAN: Appendix A. Hints list

GroupFormatDescription
Scan method SeqScan(table) Forces sequential scan on the table
TidScan(table) Forces TID scan on the table.
IndexScan(table[ index...]) Forces index scan on the table. Restricts to specified indexes if any.
IndexOnlyScan(table[ index...]) Forces index only scan on the table. Rstricts to specified indexes if any. Index scan may be used if index only scan is not available. Available for PostgreSQL 9.2 and later.
BitmapScan(table[ index...]) Forces bitmap scan on the table. Restoricts to specified indexes if any.
NoSeqScan(table) Forces not doing sequential scan on the table.
NoTidScan(table) Forces not doing TID scan on the table.
NoIndexScan(table) Forces not doing index scan and index only scan (For PostgreSQL 9.2 and later) on the table.
NoIndexOnlyScan(table) Forces not doing index only scan on the table. Available for PostgreSQL 9.2 and later.
NoBitmapScan(table) Forces not doing bitmap scan on the table.
Join method NestLoop(table table[ table...]) Forces nested loop for the joins consist of the specified tables.
HashJoin(table table[ table...]) Forces hash join for the joins consist of the specified tables.
MergeJoin(table table[ table...]) Forces merge join for the joins consist of the specified tables.
NoNestLoop(table table[ table...]) Forces not doing nested loop for the joins consist of the specified tables.
NoHashJoin(table table[ table...]) Forces not doing hash join for the joins consist of the specified tables.
NoMergeJoin(table table[ table...]) Forces not doing merge join for the joins consist of the specified tables.
Join order Leading(table table[ table...]) Forces join order as specified.
Leading(<join pair>) Forces join order and directions as specified. A join pair is a pair of tables and/or other join pairs enclosed by parentheses, which can make a nested structure.
Row number correction Rows(table table[ table...] correction) Corrects row number of a result of the joins consist of the specified tables. The available correction methods are absolute (#<n>), addition (+<n>), subtract (-<n>) and multiplication (*<n>). <n> should be a string that strtod() can read.
Parallel query configuration Parallel(table <# of workers> [soft|hard]) Enforce or inhibit parallel execution of specified table. <# of workers> is the desired number of parallel workers, where zero means inhibiting parallel execution. If the third parameter is soft (default), it just changes max_parallel_workers_per_gather and leaves everything else to the planner. Hard means enforcing the specified number of workers.
GUC Set(GUC-param value) Set the GUC parameter to the value while planner is running.