On 6/13/22 1:38 PM, Tom Lane wrote:
> "Jonathan S. Katz" <jkatz@postgresql.org> writes:
>> Please review for technical accuracy and omissions.
>
> A few minor thoughts:
>
>> The PostgreSQL Global Development Group has released PostgreSQL 14.4 to fix an
>> issue that could cause silent data corruption when using the
>> [`CREATE INDEX CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-createindex.html)
>> and [`REINDEX CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-reindex.html)
>> commands.
>
> Maybe s/and/or/ ?
Fixed.
>> PostgreSQL 14.4 fixes an issue with the
>> [`CREATE INDEX CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-createindex.html)
>> and [`REINDEX CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-reindex.html)
>> that could cause silent data corruption of indexes.
>
> Either leave out "the" or add "commands". That is, "the FOO and BAR
> commands" reads fine, "the FOO and BAR" less so.
Yeah, that was likely an edit-o. Fixed.
> Also, I'm inclined
> to be a bit more specific and say that the problem is missing index
> entries, so maybe like "... fixes an issue that could cause the [CIC]
> and [RIC] commands to omit index entries for some rows".
Agreed. Edited in attached.
>> Once you upgrade your system to PostgreSQL 14.4, you can fix any silent data
>> corruption using `REINDEX CONCURRENTLY`.
>
> Perhaps it is also worth mentioning that you can use REINDEX without
> CONCURRENTLY, even before upgrading.
I'm hesitant on giving too many options. We did put out the "warning"
announcement providing this as an option. I do think that folks who are
running CIC/RIC are sensitive to locking, and a plain old "REINDEX" may
be viable except in an emergency.
>> * Report implicitly-created operator families (`CREATE OPERATOR CLASS`) to event
>> triggers.
>
> Maybe "(generated by `CREATE OPERATOR CLASS`)"? As-is, the parenthetical
> comment looks more like a mistake than anything else.
Fixed.
> The rest looks good.
Thanks for the review! Next version attached.
Jonathan