|| ||David Fetter <david-AT-fetter.org> |
|| ||PostgreSQL Announce <pgsql-announce-AT-postgresql.org> |
|| ||[ANNOUNCE] == PostgreSQL Weekly News - May 08 2011 == |
|| ||Sun, 8 May 2011 22:10:36 -0700|
|| ||Article, Thread
== PostgreSQL Weekly News - May 08 2011 ==
PostgreSQL 9.1 beta 1 is out. Test!
AustinPUG will meet on May 11 at 7 p.m in Austin, Texas, USA. Free
Pizza! To get fed, RSVP to <austinpug AT postgresql DOT org>.
CHAR(11), the PostgreSQL Conference on Clustering, High Availability
and Replication is now open for online registration and bookings.
July 11-12 2011 in Cambridge, UK.
PostgreSQL Confernece West (#PgWest) will be held September 27th-30th,
2011 at the San Jose Convention center in San Jose, California, USA.
== PostgreSQL Product News ==
pgbuildfarm client 4.5 released.
pgpool-II 3.1.0 alpha2, a connection pooler and more, released.
== PostgreSQL Jobs for May ==
== PostgreSQL Local ==
PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by
two days of tutorials on May 17-18.
PG Session 2, on PostGIS, will be held on June 23rd in Paris. The CfP
PostgreSQL Conference Europe 2011 will be held on October 18-21 in
pgbr will be in Sao Paulo, Brazil November 3-4, 2011.
== 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 email@example.com, German language
to firstname.lastname@example.org, Italian language to email@example.com. Spanish language
== Reviews ==
== Applied Patches ==
Tom Lane pushed:
- Improve aset.c's space management in contexts with small
maxBlockSize. The previous coding would allow requests up to half
of maxBlockSize to be treated as "chunks", but when that actually
did happen, we'd waste nearly half of the space in the malloc block
containing the chunk, if no smaller requests came along to fill it.
Avoid this scenario by limiting the maximum size of a chunk to 1/8th
maxBlockSize, so that we can waste no more than 1/8th of the
allocated space. This will not change the behavior at all for the
default context size parameters (with large maxBlockSize), but it
will change the behavior when using ALLOCSET_SMALL_MAXSIZE. In
particular, there's no longer a need for spell.c to be overly
concerned about the request size parameters it uses, so remove a
rather unhelpful comment about that. Merlin Moncure, per an idea of
- Fix pull_up_sublinks' failure to handle nested pull-up
opportunities. After finding an EXISTS or ANY sub-select that can
be converted to a semi-join or anti-join, we should recurse into the
body of the sub-select. This allows cases such as
EXISTS-within-EXISTS to be optimized properly. The original coding
would leave the lower sub-select as a SubLink, which is no better
and often worse than what we can do with a join. Per example from
Wayne Conrad. Back-patch to 8.4. There is a related issue in older
versions' handling of pull_up_IN_clauses, but they're lame enough
anyway about the whole area that it seems not worth the extra work
to try to fix.
- Include unary plus in the Operator Precedence table. Per gripe from
Grzegorz Szpetkowski. Also, change the subsection heading from
"Lexical Precedence" (which is a contradiction in terms) to
- Remove precedence labeling of keywords TRUE, FALSE, UNKNOWN, and
ZONE. These were labeled with precedences just to avoid attaching
explicit precedences to the productions in which they were the last
terminal symbol. Since a terminal symbol precedence marking can
affect many other things too, it seems like better practice to
attach precedence labels to the productions, and not mark the
terminal symbols. Ideally we'd also remove the precedence attached
to NULL_P, but it turns out that we are actually depending on that
having a precedence higher than POSTFIXOP, else we get a
shift/reduce conflict for postfix operators in b_expr. (Which more
or less proves my point about these markings having a high risk of
unexpected consequences.) For the moment, move NULL_P into the set
of keywords grouped with IDENT, so that at least it will act
similarly to non-keywords; and document the interaction.
- Move RegisterPredicateLockingXid() call to a safer place. The SSI
patch inserted a call of RegisterPredicateLockingXid into
GetNewTransactionId, which was a bad idea on a couple of grounds.
First, it's not necessary to hold XidGenLock while manipulating that
shared memory, and doing so is bad because XidGenLock is a
high-contention lock that should be held for as short a time as
possible. (Not to mention that it adds an entirely unnecessary
deadlock hazard, since we must take SerializableXactHashLock as
well.) Second, the specific place where it was put was between
extending CLOG and advancing nextXid, which could result in
unpleasant behavior in case of a failure there. Pull the call out
to AssignTransactionId, which is much safer and arguably better from
a modularity standpoint too. There is more work to do to clean up
the failure-before-advancing-nextXid issue, but that is a separate
change that will need to be back-patched. So for the moment I just
want to make GetNewTransactionId look the same as it did in prior
- Fix some portability issues in isolation regression test driver.
Remove random system #includes in favor of using postgres_fe.h.
(The alternative to that is letting this module grow its own
configuration testing ability...) Also fix the "make clean" target
to actually clean things up. Per local testing.
Peter Eisentraut pushed:
- Small cleanup of spacing in verbatim DocBook elements
- Fix alignment of --help output. Tabs replaced by spaces.
- Message style cleanup
- Remove redundant port number check. pg_basebackup doesn't need to
police the format of port numbers. libpq already does that.
- Link some tables into the surrounding text by their id
- Improve pg_archivecleanup and pg_standby --help output. For
consistency with other tools, put the options before further usage
information. In pg_standby, remove the supposedly deprecated -l
option from the given example invocation.
- Improve formatting of pg_upgrade --help output.
- Improve compiler string shown in version(). With some compilers
such as Clang and ICC emulating GCC, using a version string of the
form "GCC $version" can be quite misleading. Also, a great while
ago, the version output from gcc --version started including the
string "gcc", so it is redundant to repeat that. In order to
support ancient GCC versions, we now prefix the result with "GCC "
only if the version output does not start with a letter.
Alvaro Herrera pushed:
- Update some ALTER USER cross-references to ALTER ROLE. Greg Smith
- Add ID attribute to some sect2's missing it. David Fetter
- Update obsolete mention of Sequoia, now known as Tungsten. Per
- Improve description of read/write traffic scalability. Greg Smith,
after a suggestion of James Bruce
Bruce Momjian pushed:
- Improve style of generate_history.pl Perl script.
- Adjust pg_upgrade FATAL error messages to have consistent newlines.
Also adjust some error message capitalization for consistency.
- Check that the pg_upgrade user specified is a super-user. Also
report the error message when the post-pg_ctl connection fails. Per
private bug report from EnterpriseDB.
- In pg_upgrade, report non-super-user username in error message.
- Add missing documention connecting word.
- Add xreflabels to /contrib manuals so links appear correct. Also
update README.links to explain xref properly.
- Add C comment why client encoding can be set in pg_upgrade.
- Add C comment about the fact that the autovacuum limit can go
backwards by 3, but that is it OK.
Magnus Hagander pushed:
- Clarify error message when attempting to create index on foreign
table. Instead of just saying "is not a table", specifically state
that indexes aren't supported on *foreign* tables.
- Unbreak the regression tests from my previous commit
Robert Haas pushed:
- Fix typos in SECURITY LABEL documentation. KaiGai Kohei
- Add comment about memory reordering to PredicateLockTupleRowVersionLink.
Dan Ports, per head-scratching from Simon Riggs and myself.
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Gabriele Bartolini sent in another revision of the patch to smooth
replication during VACUUM FULL.
Joe Conway sent in a patch to fix clog redos under high load.
Johann 'Myrkraverk' Oskarsson sent in a patch to fix an issue on
mingw-w64 where the PGDLLEXPORT macro is blank.
Alvaro Herrera updated the "preferred types" patch to HEAD.
Jaime Casanova sent in a patch to add an xlogversion column to
IDENTIFY_SYSTEM. This is one of the infrastructure pieces which will
make on-line upgrades possible.
Hitoshi Harada sent in a patch to allow the optimizer to pull up
Bruce Momjian sent in patches to adjust the comments on system tables.
Magnus Hagander sent in a patch to fix the error for attempting to
index a foreign table.
Tom Lane sent in a patch to fix a some suprising precedence in
PostgreSQL's SQL grammar.
Dan Ports sent in two revisions of a patch to fix a race condition in
Peter Geoghegan sent in a WIP patch to help save energy by waking up
Merlin Moncure sent in another revision of the patch to fix an issue
between the visibility map and hint bits.
Robert Haas sent in another revision of the patch to make visibility
maps more crash-safe.
Josh Kupershmidt sent in a patch to clean up psql's decribe.c.
Andrew Dunstan sent in another revision of the patch to fix an issue
where invalid characters were allowed in XML.
Greg Smith sent in a patch exemplifying the idea of moving some
contrib modules to being default, but still using the EXTENSION
---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:
to post comments)