Software-update: PostgreSQL 9.5.25 / 9.6.21 / 10.16 / 11.11 / 12.6 / 13.2

PostgreSQL logo (75 pix) Er zijn updates verschenen voor alle nog ondersteunde versies van PostgreSQL. Dit populaire 'opensource relational database management system' draait op een groot aantal besturingssystemen en is daardoor uitstekend inzetbaar in diverse omgevingen. Het is een afgeleide van Ingres, nadat de hoofdontwikkelaar daarvan voor zichzelf is begonnen en deze database van opensource closedsource werd. De release notes voor deze uitgave kunnen hieronder worden gevonden.

PostgreSQL 13.2, 12.6, 11.11, 10.16, 9.6.21, and 9.5.25 Released!

The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 13.2, 12.6, 11.11, 10.16, 9.6.21, and 9.5.25. This release closes two security vulnerabilities and fixes over 80 bugs reported over the last three months. Additionally, this is the final release of PostgreSQL 9.5. If you are running PostgreSQL 9.5 in a production environment, we suggest that you make plans to upgrade.

For the full list of changes, please review the release notes.

Security Issues
  • CVE-2021-3393: Partition constraint violation errors leak values of denied columns

    Versions Affected: 11 - 13.
    A user having an UPDATE privilege on a partitioned table but lacking the SELECT privilege on some column may be able to acquire denied-column values from an error message. This is similar to CVE-2014-8161, but the conditions to exploit are more rare.
    The PostgreSQL project thanks Heikki Linnakangas for reporting this problem.

  • CVE-2021-20229: Single-column SELECT privilege enables reading all columns

    Versions Affected: 13.
    A user having a SELECT privilege on an individual column can craft a special query that returns all columns of the table.
    Additionally, a stored view that uses column-level privileges will have incomplete column-usage bitmaps. In installations that depend on column-level permissions for security, it is recommended to execute CREATE OR REPLACE on all user-defined views to force them to be re-parsed.
    The PostgreSQL project thanks Sven Klemm for reporting this problem.

Bug Fixes and Improvements

This update fixes over 80 bugs that were reported in the last several months. Some of these issues only affect version 13, but could also apply to other supported versions.

Some of these fixes include:

  • Fix an issue with GiST indexes where concurrent insertions could lead to a corrupt index with entries placed in the wrong pages. You should REINDEX any affected GiST indexes.
  • Fix CREATE INDEX CONCURRENTLY to ensure rows from concurrent prepared transactions are included in the index. Installations that have enabled prepared transactions should REINDEX any concurrently-built indexes.
  • Fix for possible incorrect query results when a hash aggregation is spilled to disk.
  • Fix edge case in incremental sort that could lead to sorting results incorrectly or a "retrieved too many tuples in a bounded sort" error.
  • Avoid crash when a CALL or DO statement that performs a transaction rollback is executed via extended query protocol, such as from prepared statements.
  • Fix a failure when a PL/pgSQL procedure used CALL on another procedure that has OUT parameters that executed a COMMIT or ROLLBACK.
  • Remove errors from BEFORE UPDATE triggers on partitioned tables for restrictions that no longer apply.
  • Several fixes for queries with joins that could lead to error messages such as "no relation entry for relid N" or "failed to build any N-way joins".
  • Do not consider parallel-restricted or set-returning functions in an ORDER BY expressions when trying to parallelize sorts.
  • Fix ALTER DEFAULT PRIVILEGES to handle duplicate arguments safely.
  • Several fixes in behavior when wal_level is set to minimal, including when tables are rewritten within a transaction.
  • Several fixes for CREATE TABLE LIKE.
  • Ensure that allocated disk space for a dropped relation (e.g. a table) is released promptly when a transaction is committed.
  • Fix progress reporting for CLUSTER.
  • Fix handling of backslash-escaped multibyte characters in COPY FROM.
  • Fix recently-introduced race conditions in LISTEN/NOTIFY queue handling.
  • Allow the jsonb concatenation operator (||) to handle all combinations of JSON data types.
  • Fix WAL-reading logic so that standbys can handle timeline switches correctly. This issue could have shown itself with errors like "requested WAL segment has already been removed".
  • Several leak fixes for the walsender process around logical decoding and replication.
  • Ensure that a nonempty value of krb_server_keyfile always overrides any setting of KRB5_KTNAME in the server environment
  • Several fixes for GSS encryption support.
  • Ensure the \connect command allows the use of a password in the connection_string argument.
  • Fix assorted bugs with the \help command.
  • Several fixes for pg_dump.
  • Ensure that pg_rewind accounts for all WAL when rewinding a standby server.
  • Fix memory leak in contrib/auto_explain.
  • Ensure all postgres_fdw connections are closed if the a user mapping or foreign server object those connections depend on are dropped.
  • Fix JIT compilation to be compatible with LLVM 11 and LLVM 12.

This update also contains tzdata release 2021a for DST law changes in Russia (Volgograd zone) and South Sudan, plus historical corrections for Australia, Bahamas, Belize, Bermuda, Ghana, Israel, Kenya, Nigeria, Palestine, Seychelles, and Vanuatu.

Notably, the Australia/Currie zone has been corrected to the point where it is identical to Australia/Hobart.

For the full list of changes available, please review the release notes.

PostgreSQL 9.5 is EOL

This is the final release of PostgreSQL 9.5. If you are running PostgreSQL 9.5 in a production environment, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see our versioning policy for more information.

PostgreSQL

Versienummer 9.5.25 / 9.6.21 / 10.16 / 11.1
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019
Website PostgreSQL
Download https://www.postgresql.org/download/
Licentietype Voorwaarden (GNU/BSD/etc.)

Reacties (13)

13
13
7
3
0
6
Wijzig sortering
Dit populaire 'opensource relational database management system' draait op een groot aantal besturingssystemen en is daardoor uitstekend inzetbaar in diverse omgevingen. Het is een afgeleide van , nadat de hoofdontwikkelaar daarvan voor zichzelf is begonnen en deze database van opensource closedsource werd.
Misschien toch eens deze intro aanpassen? De afsplitsing begon in de jaren 80 als ik Wikipedia goed begrepen heb... Het is alsof je Windows als een dos afgeleide voor zou stellen. Postgres is (m.i.) toch wel een van de meest vooraanstaande RDBMS'en die barst van de functionaliteiten, en slechts zeggen dat het op veel platformen draait is eigenlijk het project oneer aandoen.
Inmiddels heeft PostgreSQL voor mij de plaats ingenomen van MySQL/MariaDB.
Ik zou als je een nieuw project begint ook niet weten waarom je dat niet gewoon met Postgres doet. Dat je geen zin hebt om een lopend project over te zetten van MySQL/MariaDB kan ik inkomen maar bij een nieuw project...
Dat heb ik dus laatst gedaan met een Django project. Export van data gedaan met django-admin en daarna een import in de postgres database bij digitalocean. Ideaal. Bij Amazon ook trouwens, dat ontloopt elkaar niet zo veel.

Op die manier draaien er nu een aantal sites op één managed postgres instance waar we voorheen voor elke site een eigen mysql database op de VM hadden.

[Reactie gewijzigd door divvid op 24 juli 2024 19:47]

Idem, na 10+ jaar sql server al een aantal jaar Postgres, ik heb eigenlijk nooit meer teruggekeken.
Op mijn werk denk ik er ook over na om sommige projecten te migreren van SQL Server naar Postgres inderdaad.

Wel eerst even alles converteren naar lower case / snake case :) Maar voor de rest zeer uitgebreid database systeem. En geen dure licentiekosten meer.
Voor ef core heb je efcore naming conventions plugin. Pascalcase naar snake case. Verder went t vrij snel, maar ik zou wel iig snake case aanhouden. Verder dmv docker kun je snel aan de slag met Postgres (zelfs in productie) zonder vervelende licentie perikelen.
Jammer dat de ondersteuning zo achterloopt, daarmee bedoel ik te zeggen dat je van een beetje hostingpartij wel zou mogen verwachten dat ze dit naast MySQL aanbieden en dat directadmin het inmiddels ook wel zou hebben omarmd. Dit verklaart vast ook waarom de meesten van ons nog altijd terugvallen op MySQL. Nou heb ik daar persoonlijk alleen maar goede ervaringen mee, maar kan me de voordelen bij grotere projecten zeker indenken.
Kun je bij een nieuw project altijd de nieuwste major release van Postgres pakken of kleven daar nadelen aan?

edit: "van Postgres" toegevoegd

[Reactie gewijzigd door JaymzHetfield op 24 juli 2024 19:47]

Als je het hebt over development, dan pak je alle releases waarop je redelijkerwijs kunt verwachten dat de software moet draaien. Als je zelf verantwoordelijk bent voor het meeleveren van de database server, dan zou ik zeggen dat je uitgaat van de stabiele release op het platform waarop je draait. Dat zou dus een bepaalde stabiele versie kunnen zijn van een Linux distributie.

Als dat niet volstaat, dan betekent dat dat je bepaalde functionaliteiten nodig hebt, waarvoor je moet beoordelen of het zelf compilen van de software en het tracken van bugfix releases daarmee te verantwoorden zijn. Maar in dat geval zou je inderdaad de laatste major release pakken. Ik zou overigens altijd de eerste point release afwachten.
Als je toch schoon op nieuw gaat beginnen, zou ik de nieuwste versie kiezen, mits die al een tijdje me gaat. Zoals hier, versie 13.2. Dat is dus al 2 sub-versies. 13.0 is van afgelopen oktober. Daar zijn de scherpe kantjes wel vanaf, die is goed bruikbaar (puur op de versie nummers en release data).

Als je niet voor de nieuwste gaat, moet je goed weten waarom niet. En beseffen dat je meteen al achter loopt en een keer moet upgraden.
Ik heb er ooit eens onderzoek naar gedaan en daaruit bleek dat de meest ernstige bugs vaak al vele jaren in diverse versies zatten opgesloten. Ook nu is dat (voor een deel) weer het geval: Zie CVE-2021-3393 die al opdook in versie 11, die in oktober 2018 uitkwam. Bij andere software zie je dit ook, denk bijvoorbeeld aan de bug in Sudo die al in 2011 is geïntroduceerd en nu bijna 10 jaar later pas aan het licht komt.

Het bedrijf waar ik dit onderzoek voor heb gedaan, heeft er toen voor gekozen om altijd 9 maanden (3 patches) te wachten voordat een nieuwe versie in productie gaat. Dat geeft ze vervolgens ruim 4 jaar gegarandeerde support vanuit de community. Zo is nu versie 9.5 EOL (oorspronkelijke release januari 2016) en ga je de patches vanaf mei missen. In mei komt voor versie 13 de 3e patch beschikbaar, ik vermoed dat zij hier gebruik van gaan maken.

Op dit item kan niet meer gereageerd worden.