== PostgreSQL Weekly News - February 17 2013 ==
От | David Fetter |
---|---|
Тема | == PostgreSQL Weekly News - February 17 2013 == |
Дата | |
Msg-id | 20130218050246.GF6677@fetter.org обсуждение исходный текст |
Список | pgsql-announce |
== PostgreSQL Weekly News - February 17 2013 == == PostgreSQL Product News == Precog 1.1.0, a data science platform for PostgreSQL, released. http://www.precog.com/postgresql == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2013-02/threads.php == PostgreSQL Local == PyPgDay will be held on March 13th at the Santa Clara Convention Center, the first day of PyCon. Info here: http://wiki.postgresql.org/wiki/PyPgDay2013 PGDay NYC 2013 will be held on March 22, 2013 in New York City. http://pgday.nycpug.org/ PG Day France is the major French-speaking PostgreSQL community event. The deadline for sending proposals is Saturday, March 24, 2013 at 23:59 CEST. http://pgday.fr/call_for_papers PostgreSQL Session will be held on March 28th, 2013 in Paris, France. The Call for Papers is open. http://www.postgresql-sessions.org/en/5/ PGCon 2013 will be held May 23-24 2013, in Ottawa at the University of Ottawa. http://www.pgcon.org/2013/ The 6th annual "Prague PostgreSQL Developers Day" conference, organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be held on May 30, 2013 at Faculty of Mathematics and Physics, Charles University (Malostranske namesti 25, Prague). The CfP is open until April 14, 2013 <info AT p2d2 DOT cz>. More information in Czech is at http://www.p2d2.cz/ == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter Submit news and announcements by Sunday at 3:00pm Pacific time. Please send English language ones to david@fetter.org, German language to pwn@pgug.de, Italian language to pwn@itpug.org. Spanish language to pwn@arpug.com.ar. == Applied Patches == Heikki Linnakangas pushed: - Fix checkpoint after fast promotion. The intention was to request a regular online checkpoint immediately after end of recovery, when performing "fast promotion". However, because the checkpoint was requested before other backends were allowed to write WAL, the checkpointer process performed a restartpoint rather than a checkpoint. Delay the RequestCheckPoint call until after recovery has truly ended, so that you get a real checkpoint. http://git.postgresql.org/pg/commitdiff/b669f416cee77ef9025b80f9c4201688578447d1 - Support unlogged GiST index. The reason this wasn't supported before was that GiST indexes need an increasing sequence to detect concurrent page-splits. In a regular WAL- logged GiST index, the LSN of the page-split record is used for that purpose, and in a temporary index, we can get away with a backend-local counter. Neither of those methods works for an unlogged relation. To provide such an increasing sequence of numbers, create a "fake LSN" counter that is saved and restored across shutdowns. On recovery, unlogged relations are blown away, so the counter doesn't need to survive that either. Jeevan Chalke, based on discussions with Robert Haas, Tom Lane and me. http://git.postgresql.org/pg/commitdiff/62401db45c4feff9be296fa78a8bb7b9947d69de - Update visibility map in the second phase of vacuum. There's a high chance that a page becomes all-visible when the second phase of vacuum removes all the dead tuples on it, so it makes sense to check for that. Otherwise the visibility map won't get updated until the next vacuum. Pavan Deolasee, reviewed by Jeff Janes. http://git.postgresql.org/pg/commitdiff/fdf9e21196a6f58c6021c967dc5776a16190f295 - Don't delete unarchived WAL files during crash recovery. Bug reported by Jehan-Guillaume (ioguix) de Rorthais. This was introduced with the change to keep WAL files restored from archive in pg_xlog, in 9.2. http://git.postgresql.org/pg/commitdiff/c9cc7e05c6d82a9781883a016c70d95aa4923122 - Force archive_status of .done for xlogs created by dearchival/replication. This is a forward-patch of commit 6f4b8a4f4f7a2d683ff79ab59d3693714b965e3d, applied to 9.2 back in August. The plan was to do something else in master, but it looks like it's not going to happen, so let's just apply the 9.2 solution to master as well. Fujii Masao http://git.postgresql.org/pg/commitdiff/c2f79ba2691a4863db53003f25538f8806ebd2db - Better fix for "unarchived WAL files get deleted on crash recovery" bug. Revert my earlier fix for the bug that unarchived WAL files get deleted on crash recovery, commit c9cc7e05c6d82a9781883a016c70d95aa4923122. We create a .done file for files streamed or restored from archive, so the WAL file recycling logic used during normal operation works just as well during archive recovery. Per Fujii Masao's suggestion. http://git.postgresql.org/pg/commitdiff/1bd42cd70abdbc946ad64c3c8eaefed4bb8b1145 - Include previous TLI in end-of-recovery and shutdown checkpoint records. This isn't used for anything but a sanity check at the moment, but it could be highly valuable for debugging purposes. It could also be used to recreate timeline history by traversing WAL, which seems useful. http://git.postgresql.org/pg/commitdiff/7803e9327db3788f68d820c19f4081afb79edd12 Peter Eisentraut pushed: - Add noreturn attributes to some error reporting functions http://git.postgresql.org/pg/commitdiff/0cb1fac3b19f01025b63d2cdceabb8767185da28 - doc: Add make target to produce EPUB from DocBook http://git.postgresql.org/pg/commitdiff/ff64fd49ce91534ebbfd5774a8715b11bfc09b97 - pgindent: Fix order in instructions. The previous order of steps didn't literally work, because git clean -fdx would delete the downloaded typedefs.list. Also, pgindent needs to be called with a path when one is in at the top of the build tree. http://git.postgresql.org/pg/commitdiff/8e6c8da16a51e24a33bf4afeb311ca5d0ecd2b21 Alvaro Herrera pushed: - Don't build libpgcommon_srv.a just yet. It's empty, and some archivers do not support that case. http://git.postgresql.org/pg/commitdiff/0f980b0e17d95e77dc2822eb7855d072a5874d9a - Rename "string" pstrdup argument to "in". The former name collides with a symbol also used in the isolation test's parser, causing assorted failures in certain platforms. http://git.postgresql.org/pg/commitdiff/0e81ddde2c62ada7f818114ca961d80d42370e32 - Create libpgcommon, and move pg_malloc et al to it. libpgcommon is a new static library to allow sharing code among the various frontend programs and backend; this lets us eliminate duplicate implementations of common routines. We avoid libpgport, because that's intended as a place for porting issues; per discussion, it seems better to keep them separate. The first use case, and the only implemented by this patch, is pg_malloc and friends, which many frontend programs were already using. At the same time, we can use this to provide palloc emulation functions for the frontend; this way, some palloc-using files in the backend can also be used by the frontend cleanly. To do this, we change palloc() in the backend to be a function instead of a macro on top of MemoryContextAlloc(). This was previously believed to cause loss of performance, but this implementation has been tweaked by Tom and Andres so that on modern compilers it provides a slight improvement over the previous one. This lets us clean up some places that were already with localized hacks. Most of the pg_malloc/palloc changes in this patch were authored by Andres Freund. Zoltán Böszörményi also independently provided a form of that. libpgcommon infrastructure was authored by Álvaro. http://git.postgresql.org/pg/commitdiff/8396447cdbdff0b62914748de2fec04281dc9114 Tom Lane pushed: - Create libpgcommon, and move pg_malloc et al to it libpgcommon is a new static library to allow sharing code among the various frontend programs and backend; this lets us eliminate duplicate implementations of common routines. We avoid libpgport, because that's intended as a place for porting issues; per discussion, it seems better to keep them separate. The first use case, and the only implemented by this patch, is pg_malloc and friends, which many frontend programs were already using. At the same time, we can use this to provide palloc emulation functions for the frontend; this way, some palloc-using files in the backend can also be used by the frontend cleanly. To do this, we change palloc() in the backend to be a function instead of a macro on top of MemoryContextAlloc(). This was previously believed to cause loss of performance, but this implementation has been tweaked by Tom and Andres so that on modern compilers it provides a slight improvement over the previous one. This lets us clean up some places that were already with localized hacks. Most of the pg_malloc/palloc changes in this patch were authored by Andres Freund. Zoltán Böszörményi also independently provided a form of that. libpgcommon infrastructure was authored by Álvaro Herrera. http://git.postgresql.org/pg/commitdiff/8396447cdbdff0b62914748de2fec04281dc9114 - Fix contrib/pg_trgm's similarity() function for trigram-free strings. Cases such as similarity('', '') produced a NaN result due to computing 0/0. Per discussion, make it return zero instead. This appears to be the basic cause of bug #7867 from Michele Baravalle, although it remains unclear why her installation doesn't think Cyrillic letters are letters. Back-patch to all active branches. http://git.postgresql.org/pg/commitdiff/9728eda7925b6d42621b38c48e91ef9ab8d90cbc - Fix CVE-2013-0255 properly. Revert commit ab0f7b6089fd215f6ce6081e2e222c38d643a526 (in HEAD only) in favor of the proper solution, which is to declare enum_recv() correctly in the system catalogs. It should be declared to take type "internal" not "cstring". Also improve the type_sanity regression test, which should have caught this typo, so that it actually would. Most of the relevant checks on the signature of type I/O functions should not have been restricted to basetypes/pseudotypes, as they should apply to any type's I/O functions. http://git.postgresql.org/pg/commitdiff/71627f3d1964ef9831ea7997d2f4ac5617c718cc - Invent pre-commit/pre-prepare/pre-subcommit events for xact callbacks. Currently it's only possible for loadable modules to get control during post-commit cleanup of a transaction. That doesn't work too well if they want to do something that could throw an error; for example, an FDW might need to issue a remote commit, which could well fail. To improve matters, extend the existing APIs for XactCallback and SubXactCallback functions to provide new pre-commit events for this purpose. The release notes will need to mention that existing callback functions should be checked to make sure they don't do something unwanted when one of the new event types occurs. In the examples within our source tree, contrib/sepgsql was fine but plpgsql had been a bit too cute. http://git.postgresql.org/pg/commitdiff/fdaf44862beba24c12434d31df556fab25fd3ee7 Bruce Momjian pushed: - Fix pg_upgrade log file cleanup code. Recent pg_upgrade parallel improvements introduced a bug that prevented cleanup of per-database log files. http://git.postgresql.org/pg/commitdiff/74205266d4925b54bf1d77bae7b0e7f60f68840a - pg_upgrade: conditionally create cluster delete script. If users create tablespaces inside the old cluster directory, it is impossible for the delete script to delete _only_ the old cluster files, so don't create a script in that case, and issue a message to the user. http://git.postgresql.org/pg/commitdiff/4765dd79219b9697d84f5c2c70f3fe00455609a1 - Warn about initdb using mount-points. Add code to detect and warn about trying to initdb or create pg_xlog on mount points. http://git.postgresql.org/pg/commitdiff/17f15239325a88581bb4f9cf91d38005f1f52d69 == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Jeff Janes sent in a patch to bgbench which allows any arbitrary command to be executed upon the start up of each connection intended for benchmarking. Andrew Dunstan sent in another revision of a patch to add a JSON API. Manlio Perillo sent in a patch against libpq to send a Describe Portal message in PQsendPrepare. Pavel Stehule and Dean Rasheed traded patches to fix the behavior of the width specifier in the format function in cases of mixed positional and ordered placeholders. Michael Paquier sent in two more revisions of a patch to add REINDEX CONCURRENTLY. Amit Kapila sent in another revision of a patch to implement identity projection. Alvaro Herrera and Andres Freund traded patches to implement xlogdump. Jonathan Rogers sent in a WIP patch to use BTRFS file cloning facilities to speed up CREATE DATABASE operations. Amit Kapila sent in another revision of a patch to allow changing postgresql.conf settings via SQL. David Fetter sent in two more revisions of a patch to add an optional FILTER clause to aggregates. Alvaro Herrera and Tomas Vondra traded patches to split stats file per database. Fujii Masao sent in another revision of a patch to prevent archiving restored WALs. Bruce Momjian sent in a patch to go with subtle hints about mounting a PGDATA directories and similar at the root as opposed to a previous version that looked for filesystem-specific things like "lost+found". Kevin Grittner sent in another revision of a patch to implement materialized views. Andres Freund sent in an RfC patch to implement indirect TOAST support. Pavel Stehule sent in another revision of a patch to implement function body checking for PL/pgsql.
В списке pgsql-announce по дате отправления: