![]() Otherwise, replay starting from that checkpoint might find unexpected data in the supposedly-removed pages, possibly causing replay failure.įix unsafe toast-data accesses during temporary object cleanup (Andres Freund) TRUNCATE must ensure that the table's disk file is truncated before the checkpoint is allowed to complete. The checkpoint forced by DROP TABLESPACE could sometimes fail to remove all dead files from the tablespace's directory, leading to a bogus “ tablespace is not empty” error.įix possible trouble in crash recovery after a TRUNCATE command that overlaps a checkpoint (Kyotaro Horiguchi, Heikki Linnakangas, Robert Haas) The table would be rebuilt with the correct data, but in an order having little to do with the index order.įix race condition between DROP TABLESPACE and checkpointing (Nathan Bossart) The parallelism property change was lost if the same command also updated the function's SET clause.įix mis-sorting of table rows when CLUSTERing using an index whose leading key is an expression (Peter Geoghegan, Thomas Munro) This was fairly harmless because it didn't actually do anything with the bogus values, but it fell foul of a recently-added error check that rejected such a plan.įix query-lifespan memory leak in an IndexScan node that is performing reordering (Aliaksandr Kalenik)įix ALTER FUNCTION to support changing a function's parallelism property and its SET-variable list in the same command (Tom Lane) The previous coding could try to read non-returnable columns in addition to the returnable ones. The xmlschema output for these types included a malformed regular expression.Īvoid core dump in parser for a VALUES clause with zero columns (Tom Lane)įix planner errors for GROUPING() constructs that reference outer query levels (Richard Guo, Tom Lane)įix plan generation for index-only scans on indexes with both returnable and non-returnable columns (Tom Lane) Then the variable is of type record to begin with and there's no issue.įix incorrect output for types timestamptz and timetz in table_to_xmlschema() and allied functions (Renan Soares Lopes) In cases where it's important to be able to relabel such columns, a workaround is to introduce an extra level of sub- SELECT, so that the whole-row variable is referring to the sub- SELECT's output and not to a plain table. Previous attempts to deal with that inconsistency had bad results up to and including storing unreadable data on disk, so just give up on the whole idea. But that's semantically dubious, because really then the output of the variable is not at all of the composite type it claims to be. We'd previously attempted to make them track any column aliases that had been applied to the FROM entry the variable refers to. The column names in tuples produced by a whole-row variable (such as tbl.* in contexts other than the top level of a SELECT list) are now always those of the associated named composite type, if there is one. Stop using query-provided column aliases for the columns of whole-row variables that refer to plain tables (Tom Lane) The PostgreSQL Project thanks Alexander Lakhin for reporting this problem. ![]() A user having permission to create non-temporary objects within a database could define an object that would execute arbitrary SQL code with superuser permissions the next time that autovacuum processed the object, or that some superuser ran one of the affected commands against it. Confine additional operations within “ security restricted operation” sandboxes (Sergey Shinderuk, Noah Misch)Īutovacuum, CLUSTER, CREATE INDEX, REINDEX, REFRESH MATERIALIZED VIEW, and pg_amcheck activated the “ security restricted operation” protection mechanism too late, or even not at all in some code paths.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |