== PostgreSQL Weekly News - November 28 2010 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - November 28 2010 == |
Date | |
Msg-id | 20101129072353.GD1942@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - November 28 2010 == == PostgreSQL Product News == DiffKit 0.8.2, a table comparison tool with support for PostgreSQL, released. http://www.diffkit.org PostgreDAC 2.6.0, a Delphi/C++ builder for PostgreSQL, released. http://microolap.com/products/connectivity/postgresdac/download/ == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2010-11/threads.php == PostgreSQL Local == The PostgreSQLFr Call for Projects has begun. Projects must target PostgreSQL and the French-speaking community. Mail appel-projets-2010 AT postgresql DOT fr. http://www.postgresql.fr/appel_a_projets_2010:call_for_projects Registration for PGDay.EU 2010 held on December 6-8 in Stuttgart, Germany is open through December 4. http://2010.pgday.eu/register Registration for PGDay.IT, December 10, 2010 in Rome, Italy, is open and the schedule is online. http://2010.pgday.it/ FOSDEM is one of the biggest Free and Open Source event held annually in Brussels, Belgium, on February 5-6, 2011, and attended by around 4000 people. Send in your proposal to fosdem AT postgresql DOT eu. http://andreas.scherbaum.la/blog/archives/749-PostgreSQLFOSDEM-2011-Call-for-talks.html PGDay is scheduled at this year's Southern California Linux Exposition (SCALE) held in the LAX Hilton Hotel in the city of Los Angeles, California, on Friday February 25th, 2011. Post your talk submission to pgday-submissions AT googlegroups DOT com. PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by two days of tutorials on May 17-18. http://www.pgcon.org/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 david@fetter.org, German language to pwn@pgug.de, Italian language to pwn@itpug.org. Spanish language to pwn@arpug.com.ar. == Reviews == Magnus Hagander reviewed the patch to add getrusage tracking to EXPLAIN ANALYZE and found some breakage on Windows. Steve Singer reviewed another revision of Gurjeet Singh's patch to allow ALTER TABLE to create a primary key from an existing index. ITAGAKI Takahiro reviewed the pg_execute_from_file patch and found an OID collision, a compiler warning and some English, access control and internationalization issues. == Applied Patches == Alvaro Herrera pushed: - Remove GucContext parameter from ParseConfigFile. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5272d7987506554f6b2bde740e1b4d7e4a0b8608 Robert Haas pushed: - Centralize some ALTER <whatever> .. SET SCHEMA checks. Any flavor of ALTER <whatever> .. SET SCHEMA fails if (1) the object is already in the new schema, (2) either the old or new schema is a temp schema, or (3) either the old or new schema is the TOAST schema. Extraced from a patch by Dimitri Fontaine, with additional hacking by me. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=44475e782f4674d257b9e5c1a3930218a4b4deea - Remove belt-and-suspenders guards against buffer pin leaks. Forcibly releasing all leftover buffer pins should be unnecessary now that we have a robust ResourceOwner mechanism, and it significantly increases the cost of process shutdown. Instead, in an assert-enabled build, assert that no pins are held; in a non-assert-enabled build, do nothing. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c2281ac87cf4828b6b828dc8585a10aeb3a176e0 - Add inet_net_ntop.c to .gitignore. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2d1e426650fc93e5dfdd0178023485d38b03b102 - Object access hook framework, with post-creation hook. After a SQL object is created, we provide an opportunity for security or logging plugins to get control; for example, a security label provider could use this to assign an initial security label to newly created objects. The basic infrastructure is (hopefully) reusable for other types of events that might require similar treatment. KaiGai Kohei, with minor adjustments. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=cc1ed40d57aa68322e43a7b0a3320a6c5aff010a - Add more ALTER <object> .. SET SCHEMA commands. This adds support for changing the schema of a conversion, operator, operator class, operator family, text search configuration, text search dictionary, text search parser, or text search template. Dimitri Fontaine, with assorted corrections and other kibitzing. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=55109313f96fb5c7d671fe8954b6f7fc0cca9631 - New contrib module, auth_delay. KaiGai Kohei, with a few changes by me. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=fe7a32fc87e68edf014ee7e575f92cb027437ff4 - Fix typo. Fujii Masao. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=fab7fdb988f25438ded6c4a5c4b4f112f9decddb Peter Eisentraut pushed: - Propagate ALTER TYPE operations to typed tables. This adds RESTRICT/CASCADE flags to ALTER TYPE ... ADD/DROP/ALTER/ RENAME ATTRIBUTE to control whether to alter typed tables as well. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f2a4278330ae12cd56b61c92a7debb9c9fca7b41 - Remove useless whitespace at end of lines. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=fc946c39aeacdff7df60c83fca6582985e8546c8 - Add index entries for more functions. Also, move index entries into the tables, closer to the function description, for easier editing in the future. Resort some tables to be more alphabetical. Remove the entries for count, max, min, and sum in the tutorial area, because that was felt to be confusing. Thom Brown. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4fc09ad00c3cc95003a5523d85999da1dd4f9d75 Tom Lane pushed: - Create the system catalog infrastructure needed for KNNGIST. This commit adds columns amoppurpose and amopsortfamily to pg_amop, and column amcanorderbyop to pg_am. For the moment all the entries in amcanorderbyop are "false", since the underlying support isn't there yet. Also, extend the CREATE OPERATOR CLASS/ALTER OPERATOR FAMILY commands with [ FOR SEARCH | FOR ORDER BY sort_operator_family ] clauses to allow the new columns of pg_amop to be populated, and create pg_dump support for dumping that information. I also added some documentation, although it's perhaps a bit premature given that the feature doesn't do anything useful yet. Teodor Sigaev, Robert Haas, Tom Lane. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=725d52d0c27cffe8c99bb78e2b0d2480d5cd702b - Fix significant memory leak in contrib/xml2 functions. Most of the functions that execute XPath queries leaked the data structures created by libxml2. This memory would not be recovered until end of session, so it mounts up pretty quickly in any serious use of the feature. Per report from Pavel Stehule, though this isn't his patch. Back-patch to all supported branches. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4a2516a7f976e2f6671930904d4e97a4832eff9f - Remove bogus use of PGDLLIMPORT. That macro should be attached to extern declarations, not actual definitions of variables. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1d9a0abec1224193fea3acf766b587fc3963a3b8 - Fix portability issues in new src/port/inet_net_ntop.c file. 1. Don't #include postgres.h in a frontend build. 2. Don't assume that the backend's symbol PGSQL_AF_INET6 has anything to do with the constant that will be used by system library functions (because, in point of fact, it usually doesn't). Fortunately, PGSQL_AF_INET is equal to AF_INET, so we can just cater for both sets of values in one case construct without fear of conflict. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3840bc0847aa1b635127ff4a55b5257c9ebc79b8 - Clean up IPv4 vs IPv6 bogosity in connectFailureMessage(). Newly added code was supposing that "struct sockaddr_in" applies to IPv6. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=be3b666eb810089fd9a1d42e3888be52ab9ddb63 - Rewrite PQping to be more like what we agreed to last week. Basically, we want to distinguish all cases where the connection was not made from those where it was. A convenient proxy for this is to see if we got a message with a SQLSTATE code back from the postmaster. This presumes that the postmaster will always send us a SQLSTATE in a failure message, which is true for 7.4 and later postmasters in every case except fork failure. (We could possibly complicate the postmaster code to do something about that, but it seems not worth the trouble, especially since pg_ctl's response for that case should be to keep waiting anyway.) If we did get a SQLSTATE from the postmaster, there are basically only two cases, as per last week's discussion: ERRCODE_CANNOT_CONNECT_NOW and everything else. Any other error code implies that the postmaster is in principle willing to accept connections, it just didn't like or couldn't handle this particular request. We want to make a special case for ERRCODE_CANNOT_CONNECT_NOW so that "pg_ctl start -w" knows it should keep waiting. In passing, pick names for the enum constants that are a tad less likely to present collision hazards in future. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=db96e1ccfcb8f3514eef931bea9435974ec7ad28 - On further testing, PQping also needs an explicit check for AUTH_REQ. The pg_fe_sendauth code might fail if it can't handle the authentication request message type --- if so, ping should still say the server is up. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=49cd8a3f810467632260f16c7779f19212c1d094 - A bit more wordsmithing on the PQping documentation. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d53c1255d9730b07d56166ace1191250ca76f496 - Point out in default_tablespace's description that CREATE DATABASE ignores it. Per gripe from Andreas Scherbaum. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c623365ff9a5ef937e05b85c2feb5a5c5cde9b3b Bruce Momjian pushed: - When reporting the server as not responding, if the hostname was supplied, also print the IP address. This allows IPv4 and IPv6 failures to be distinguished. Also useful when a hostname resolves to multiple IP addresses. Also, remove use of inet_ntoa() and use our own inet_net_ntop() in all places, including in libpq, because it is thread-safe. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ba11258ccbf364d85de48b8b7fd46953ea7bb4f4 - Document that a CHECKPOINT before taking a file system snapshot can reduce recovery time. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7276ab5888d85782d988fc297ad2e176c7ad1bca - Properly add new inet_net_ntop file to libpq Makefile. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=58dfb07b5d84c0088033e2d22fc44df812fa6eb5 - Restructure how libpq includes external C files, for clarity. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c6978ecd6f761388d8479c8b32cfd0dd2d2bd4ac - Fix getaddrinfo() in pgport to use proper parameters, as detected by Win32 buildfarm members. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=212a1c7b0b4164e15381af327ee6656ae7e02298 - Add PQping and PQpingParams to libpq to allow detection of the server's status, including a status where the server is running but refuses a postgres connection. Have pg_ctl use this new function. This fixes the case where pg_ctl reports that the server is not running (cannot connect) but in fact it is running. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=afd7d9adca971d9aae97e87ce617d8608d25ab10 - Improve pg_ctl "cannot connect" warning, per suggestion from Magnus. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4646e0cef70d2f9a6bb1764cee5c13b7bbd23625 - Improve pg_ctl "cannot connect" spacing, per Tom Lane, and wording. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5f4b3d750b7648d90486827a3de58c226daa2c58 - In libpq/Makefile, merge PERM_PGPORT and OPT_PGPORT into a single Makefile variable PGPORT, for clarity. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a9b02ec654434e7e395b8677ba142a99eed7eb5e - Abandon use of Makefile variables in libpq/Makefile because MSVC scrapes the OBJS lines from that file. Cleanup where possible. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=4f6deef2fb7ddc6b3c6b901db66072cf65ccaa27 - Use only addr_cur when reporting connection failures in libpq. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ed51bd4968a903e13bdcded869a644fd0d28353c - Update comment that says we only report last libpq connection failure, per Peter Eisentraut. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bad8277f13c31350abd7571af51d272bd1401f3c - Use conn->raddr consistently for non-connect libpq error reporting. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f2eba413db99fcde9a4d3a9f52578dc4e7f5d5ec - Add inet_net_ntop.c as needed by MSVC, per Magnus Hagander. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=e6e38b4ac21cc25fb8187e573a672ff17d9b2801 - In libpq/Makefile, use OBJS += as a way to break up long link lines into something that can be documented. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1f48290a9d6d000d1b5012b9304b734ecb9cc759 ITAGAKI Takahiro pushed: - Don't raise "identifier will be truncated" messages in dblink except creating new connections. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d3c126544342728ab4b5c167b4f4b01a39270db5 Simon Riggs pushed: - Move call to GetTopTransactionId() earlier in LockAcquire(), removing an infrequently occurring race condition in Hot Standby. An xid must be assigned before a lock appears in shared memory, rather than immediately after, else GetRunningTransactionLocks() may see InvalidTransactionId, causing assertion failures during lock processing on standby. Bug report and diagnosis by Fujii Masao, fix by me. http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ed78384acd691e3336e170aa18af69d15d088027 == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Gurjeet Singh sent in another revision of the patch to allow ALTER TABLE to create a primary key from an existing index. Pavel Stehule sent in a patch to make de-TOAST only once when needed in PL/pgsql. Dimitri Fontaine sent in three more revisions of the unified configuration file parser patch. David Wheeler sent in a doc patch for the new ALTER ENUM..ADD VALUE. Shigeru HANADA split the SQL/MED into three separate patches and updated same. Pursuant to a review by Josh Tolley, Dimitri Fontaine sent in another revision of the execute_from_file() patch. Heikki Linnakangas and Robert Haas traded patches for to lighten the overhead assocated with connecting to the database. Steve Singer sent in another version of the patch to use an existing index for a primary key. KaiGai Kohei sent in another revision of the label switcher function. Fujii Masao sent in another revision of the libpq patches intended to enable synchronous replication. ITAGAKI Takahiro sent in another revision of the patch to add a format() function with to_char(). Heikki Linnakangas sent in another revision of the GiST insert algorithm rewrite. Tom Lane sent in two revisions of a patch redo the representation of sorting and hashing in queries and plans. Quan Zongliang sent in a patch to fix a bug where pg_ctl -w (re)start fails with a custom unix_socket_directory. Marti Raudsepp sent in a patch to return the command tag, 'REPLACE X' for CREATE OR REPLACE statements. Joachim Wieland sent in another revision of the patches which allow pluggable compression algorithms in pg_dump and add a directory format to pg_dump/pg_restore's formats.
pgsql-announce by date: