Appendix A. Hints list

# pg_hint_plan 1.1 Appendices

## Appendix A. Hints list

The available hints are listed below.

Group | Format | Description
--- | --- | ---
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 specfied 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 specfied indexes if any.
NoSeqScan(table) | Forces not to do sequential scan on the table.
NoTidScan(table) | Forces not to do TID scan on the table.
NoIndexScan(table) | Forces not to do index scan and index only scan (For PostgreSQL 9.2 and later) on the table.
NoIndexOnlyScan(table) | Forces not to do index only scan on the table. Available for PostgreSQL 9.2 and later.
NoBitmapScan(table) | Forces not to do bitmap scan on the table.
Join method | NestLoop(table table[ table...]) | Forces nested loop for the joins consist of the specifiled tables.
HashJoin(table table[ table...]) | Forces hash join for the joins consist of the specifiled tables.
MergeJoin(table table[ table...]) | Forces merge join for the joins consist of the specifiled tables.
NoNestLoop(table table[ table...]) | Forces not to do nested loop for the joins consist of the specifiled tables.
NoHashJoin(table table[ table...]) | Forces not to do hash join for the joins consist of the specifiled tables.
NoMergeJoin(table table[ table...]) | Forces not to do merge join for the joins consist of the specifiled 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 specfied tables. The available correction methods are absolute (#<n>), addition (+<n>), subtract (-<n>) and multiplication (*<n>). <n> should be a string that strtod() can read.
GUC | Set(GUC-param value) | Set the GUC parameter to the value while planner is running.