Skip to content

Commit 278fe7c

Browse files
committed
Merge commit 'b85941e2131b8a9b12473474eb40ba8c3644bd51' into REL_13_STABLE
2 parents 6ecd6d3 + b85941e commit 278fe7c

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

README.md

+15-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ complicated queries.
99
## Installation
1010

1111
The module works with PostgreSQL 9.6 and above.
12+
To avoid compatibility issues, the following branches in the git-repository are allocated:
13+
* `stable9_6`.
14+
* `stable11` - for PG v10 and v11.
15+
* `stable12` - for PG v12.
16+
* the `master` branch of the AQO repository correctly works with PGv13 and the PostgreSQL `master` branch.
1217

1318
The module contains a patch and an extension. Patch has to be applied to the
1419
sources of PostgresSQL. Patch affects header files, that is why PostgreSQL
@@ -28,7 +33,7 @@ make check # check whether it works
2833
```
2934

3035
Tag `version` at the patch name corresponds to suitable PostgreSQL release.
31-
For PostgreSQL 10 use aqo_pg10.patch; for PostgreSQL 11 use aqo_pg11.patch and so on.
36+
For PostgreSQL 9.6 use the 'aqo_pg9_6.patch' file; PostgreSQL 10 use aqo_pg10.patch; for PostgreSQL 11 use aqo_pg11.patch and so on.
3237
Also, you can see git tags at the master branch for more accurate definition of
3338
suitable PostgreSQL version.
3439

@@ -50,7 +55,7 @@ of per-database.
5055

5156
The typical case is follows: you have complicated query, which executes too
5257
long. `EXPLAIN ANALYZE` shows, that the possible reason is bad cardinality
53-
estimnation.
58+
estimation.
5459

5560
Example:
5661
```
@@ -127,16 +132,16 @@ When the plan stops changing, you can often observe performance improvement:
127132
(23 rows)
128133
```
129134

130-
The settings system in AQO works with normalized queries, i. e. queries with
131-
removed constants. For example, the normalized version of
135+
The settings system in AQO works with normalised queries, i. e. queries with
136+
removed constants. For example, the normalised version of
132137
`SELECT * FROM tbl WHERE a < 25 AND b = 'str';`
133138
is
134139
`SELECT * FROM tbl WHERE a < CONST and b = CONST;`
135140

136-
So the queries have equal normalization if and only if they differ only
141+
So the queries have equal normalisation if and only if they differ only
137142
in their constants.
138143

139-
Each normalized query has its own hash. The correspondence between normalized
144+
Each normalised query has its own hash. The correspondence between normalised
140145
query hash and query text is stored in aqo_query_texts table:
141146
```
142147
SELECT * FROM aqo_query_texts;
@@ -174,6 +179,10 @@ if the data tends to change significantly), you can do
174179
`UPDATE SET aqo_learn=false WHERE query_hash = <query_hash>;`
175180
before commit.
176181

182+
The extension includes two GUC's to display the executed cardinality predictions for a query.
183+
The `aqo.show_details = 'on'` (default - off) allows to see the aqo cardinality prediction results for each node of a query plan and an AQO summary.
184+
The `aqo.show_hash = 'on'` (default - off) will print hash signature for each plan node and overall query. It is system-specific information and should be used for situational analysis.
185+
177186
The more detailed reference of AQO settings mechanism is available further.
178187

179188
## Advanced tuning

0 commit comments

Comments
 (0)