PostgreSQL Weekly News – January 22 2012
== PostgreSQL Weekly News – January 22 2012 ==
== PostgreSQL Product News ==
Version 2.19.0 of check_postgres, a Postgres monitoring tool, released.
PostgreSQL XC 0.97, a write-scalable synchronous multi-master
PostgreSQL cluster system based on PostgreSQL 9.1, released.
== PostgreSQL Jobs for January ==
== PostgreSQL Local ==
The fifth annual “Prague PostgreSQL Developers Day” conference,
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on February 9, 2012 in Prague.
PGCon 2012 will be held 17-18 May 2012, in Ottawa at the University of
Ottawa. It will be preceded by two days of tutorials on 15-16 May 2012.
== 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 firstname.lastname@example.org, German language
to email@example.com, Italian language to firstname.lastname@example.org. Spanish language
== Applied Patches ==
Robert Haas pushed:
- Prevent adding relations to a concurrently dropped schema. In the
previous coding, it was possible for a relation to be created via
CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE FOREIGN TABLE,
etc. in a schema while that schema was meanwhile being concurrently
dropped. This led to a pg_class entry with an invalid relnamespace
value. The same problem could occur if a relation was moved using
ALTER .. SET SCHEMA while the target schema was being concurrently
dropped. This patch prevents both of those scenarios by locking the
schema to which the relation is being added using AccessShareLock,
which conflicts with the AccessExclusiveLock taken by DROP. As a
desirable side effect, this also prevents the use of CREATE OR
REPLACE VIEW to queue for an AccessExclusiveLock on a relation on
which you have no rights: that will now fail immediately with a
permissions error, before trying to obtain a lock. We need similar
protection for all other object types, but as everything other than
relations uses a slightly different set of code paths, I’m leaving
that for a separate commit. Original complaint (as far as I could
find) about CREATE by Nikhil Sontakke; risk for ALTER .. SET SCHEMA
pointed out by Tom Lane; further details by Dan Farina; patch by me;
review by Hitoshi Harada.
- fastgetattr is in access/htup.h, not access/heapam.h. Noted by
- Catch fatal flex errors in the GUC file lexer. This prevents the
postmaster from unexpectedly croaking if postgresql.conf contains
something like: include ‘invalid_directory_name’ Noah Misch.
Reviewed by Tom Lane and myself.
- Regression tests for security_barrier views. KaiGai Kohei
- Add bitwise AND, OR, and NOT operators for macaddr data type.
Brendan Jurd, reviewed by Fujii Masao.
- Clarify that bgwriter no longer handles checkpoints. Text by Peter
- Triggered change notifications. Kevin Grittner, reviewed (in
earlier versions) by Álvaro Herrera
Peter Eisentraut pushed:
- psql: Fix memory leak. The command \password username leaked
- PL/Python: Update example. Change the usesavedplan() example to use
a more modern Python style using the .setdefault() function.
- psql: Add support for tab completion of GRANT/REVOKE role.
Previously, only GRANT/REVOKE privilege was supported. reviewed by
Alvaro Herrera pushed:
- Disallow merging ONLY constraints in children tables. When creating
a child table, or when attaching an existing table as child of
another, we must not allow inheritable constraints to be merged with
non-inheritable ones, because then grandchildren would not properly
get the constraint. This would violate the grandparent’s
expectations. Bugs noted by Robert Haas. Author: Nikhil Sontakke
Magnus Hagander pushed:
- Fix warning about unused variable
- Show psql timing output for failed queries as well as successful
ones. This is useful for example when a long-runing statement such
as CREATE INDEX fails after a long time.
- Separate state from query string in pg_stat_activity. This
separates the state (running/idle/idleintransaction etc) into it’s
own field (“state”), and leaves the query field containing just
query text. The query text will now mean “current query” when a
query is running and “last query” in other states. Accordingly,the
field has been renamed from current_query to query. Since backwards
compatibility was broken anyway to make that, the procpid field has
also been renamed to pid – along with the same field in
pg_stat_replication for consistency. Scott Mead and Magnus
Hagander, review work from Greg Smith
- Further doc cleanups from the pg_stat_activity changes. Fujii Masao
- Get rid of itemizedlist inside table. This renders badly on the
website, and in this particular case also doesn’t actually add
anything to the readability…
- Check number of fields in IDENTIFY_SYSTEM response. Jaime Casanova
- Typo fix. Guillaume Lelarge
Heikki Linnakangas pushed:
- Fix corner case in cleanup of transactions using SSI. When the only
remaining active transactions are READ ONLY, we do a “partial
cleanup” of committed transactions because certain types of
conflicts aren’t possible anymore. For committed r/w transactions,
we release the SIREAD locks but keep the SERIALIZABLEXACT. However,
for committed r/o transactions, we can go further and release the
SERIALIZABLEXACT too. The problem was with the latter case: we were
returning the SERIALIZABLEXACT to the free list without removing it
from the finished list. The only real change in the patch is the
SHMQueueDelete line, but I also reworked some of the surrounding
code to make it obvious that r/o and r/w transactions are handled
differently — the existing code felt a bit too clever. Dan Ports
- Make pg_relation_size() and friends return NULL if the object
doesn’t exist. That avoids errors when the functions are used in
queries like “SELECT pg_relation_size(oid) FROM pg_class”, and a
table is dropped concurrently. Phil Sorber
Bruce Momjian pushed:
- Add pg_upgrade C comment about why we check all relkinds for
== Rejected Patches (for now) ==
No one was disappointed this week
== Pending Patches ==
Peter Geoghegan and Heikki Linnakangas traded new revisions of the
GROUP COMMIT patch.
Greg Smith sent in a patch to publish checkpoint timing and sync files
summary data to pg_stat_bgwriter.
Greg Smith sent in a patch to implement an unconditional checkpoint
Andrew Dunstan sent in another revision of the patch to make
pretty-printing view definitions actually print them prettily.
Fujii Masao sent in another revision of the patch to add a “write”
Magnus Hagander sent in a patch to patch add a counter for the number
of deadlocks in a database to pg_stat_database.
Tom Lane sent in a WIP patch for parameterized inner paths.
Fujii Masao sent in another revision of the patch to allow taking a
base backup from a hot standby. Steve Singer reviewed same.
Alexander Korotkov sent in two more revisions of the patch to collect
frequency statistics for arrays, the second per review by Noah Misch.
Kyotaro HORIGUCHI sent in another revision of the patch to speed
dblink using a new libpq tuple storage system. Marko Kreen and Marc
Greg Smith sent in a patch to add a pg_test_timing.
Tomas Vondra sent in another revision of the patch to track temp files
in pg_stat_database. Magnus Hagander reviewed same.
Heikki Linnakangas sent in another revision of the bgwriter latch
patch intended to save energy.
Daniel Farina sent in two revisions of a patch to factor out the
various CRC32 implementations in the PostgreSQL source code, per
reviews by Tom Lane and Robert Haas.
Martin Pihlak sent in two more revisions of the patch to add logging
Martin Pihlak sent in another revision of the patch to generate call
graphs in real time, per review by Joel Jacobson.
KaiGai Kohei sent in two more revisions of the patch to implement
sepgsql’s DROP permissions.
Peter Geoghegan sent in another revision of the fast path sorting
Simon Riggs sent in another revision of the patch to implement DROP
INDEX CONCURRENTLY, reviewed by Robert Haas.
Peter Eisentraut sent in another revision of the collation for
Simon Riggs sent in two more revisions of the walrestore patch, per
reviews by Fujii Masao.
Heikki Linnakangas sent in another revision of the patch to move work
out of WALInsertLock(), per review by Robert Haas.
Dimitri Fontaine sent in another revision of the inline EXTENSION
patch per review by Robert Haas.
Euler Taveira de Oliveira sent in two more patches to implement xlog
Noah Misch sent in another revision of the patch to avoid FK
validations for no-rewrite ALTER TABLE ALTER TYPE.
Noah Misch sent in a patch to fix a defective test case.
Simon Riggs sent in another revision of a patch to fix certain kinds
of CLOG contention.
KaiGai Kohei sent in two more revisions of the patch to add a
LEAKPROOOF attribute to functions per review by Robert Haas.
Peter Eisentraut sent in another revision of the patch to remove
unused-variable warnings in assert-free builds.
KaiGai Kohei sent in a patch to fix some infelicities in the changes
that plug certain kinds of information leakage in views.
Julien Tachoires sent in another revision of the patch to allow toast
tables to be moved to a different tablespace.
Mikko Tiihonen sent in another revision of the patch to create a new,
more space-efficient serialization for arrays with fix-length
Tom Lane sent in a patch to fix bug 6123.
Comments are closed.