<p><strong>Nouvelles hebdomadaires de PostgreSQL - 15 Juillet 2007</strong></p> <p>Le département marketing d'EnterpriseDB a essuyé de vives critiques après la publication d'un communiqué de presse controversé. Néanmoins la discussion qui s'ensuivit, &agrave; laquelle EnterpriseDB s'est joint, a permis d'aplanir les choses et d'&eacute;viter &agrave; l'avenir tout argument publicitaire d&eacute;plac&eacute;. Compliments, donc, &agrave; EnterpriseDB pour cette &eacute;coute et cette attention envers la communaut&eacute;.</p> <ul> <li>Le communiqu&eacute; originel&nbsp;: <a target="_blank" href="http://www.enterprisedb.com/news_events/press_releases/07_11_07.do">http://www.enterprisedb.com/news_events/press_releases/07_11_07.do</a></li> <li>La discussion&nbsp;: <a target="_blank" href="http://archives.postgresql.org/pgsql-advocacy/2007-07/msg00023.php">http://archives.postgresql.org/pgsql-advocacy/2007-07/msg00023.php</a></li> </ul> <p><strong>Les nouveaut&eacute;s des produits d&eacute;riv&eacute;s</strong></p> <ul> <li>La version 1.1 de la recherche Full-Text en italien est disponible&nbsp;: <a target="_blank" href="http://www.develer.com/~piro/ispell-italian/italian-fts.html">http://www.develer.com/~piro/ispell-italian/italian-fts.html</a></li> <li>pgAdmin III 1.8.0 Beta 1 est sorti&nbsp;: <a target="_blank" href="http://www.pgadmin.org/">http://www.pgadmin.org/</a></li> <li>phpPgAdmin 4.1.3, corrigeant une faille, est disponible. Mettez &agrave; jour d&egrave;s que possible&nbsp;: <a target="_blank" href="http://sourceforge.net/project/showfiles.php?group_id=37132">http://sourceforge.net/project/showfiles.php?group_id=37132</a></li> </ul> <p><strong>Jobs de juillet autour de PostgreSQL</strong></p> <p><a target="_blank" href="http://archives.postgresql.org/pgsql-jobs/2007-07/threads.php">http://archives.postgresql.org/pgsql-jobs/2007-07/threads.php</a></p> <p><strong>PostgreSQL Local</strong></p> <p>PDXPUG Day &agrave; l'OSCON recherche des conf&eacute;renciers. Gr&acirc;ce &agrave; la g&eacute;n&eacute;rosit&eacute; d'O'Reilly, nous diposerons d'un jour complet de sessions PosgreSQL le jour pr&eacute;c&eacute;dant l'OSCON (dimanche 22 juillet). Pr&eacute;voyez de changer vos dates de billets d'avion et de vous inscrire &agrave; une conf&eacute;rence ! <a target="_blank" href="http://developer.postgresql.org/index.php/OSCON07PGDay">http://developer.postgresql.org/index.php/OSCON07PGDay</a></p> <p>Soir&eacute;e PgParty &agrave; 17h30 le 22 juillet, &agrave; la sortie du PDXPUG Day. Plus de d&eacute;tails&nbsp;: <a target="_blank" href="http://www.postgresqlparty.org">http://www.postgresqlparty.org</a></p> <p><strong>PostgreSQL dans les m&eacute;dia</strong></p> <ul> <li>Planet PostgreSQL&nbsp;: <a target="_blank" href="http://www.planetpostgresql.org/">http://www.planetpostgresql.org/</a></li> <li>General Bits, Archives et articles occasionnels&nbsp;: <a target="_blank" href="http://www.varlena.com/GeneralBits/">http://www.varlena.com/GeneralBits/</a></li> </ul> <p><i>PostgreSQL Weekly News / Les nouvelles hebdomadaires ont &eacute;t&eacute; r&eacute;dig&eacute;es par David Fetter, la traduction fran&ccedil;aise est assur&eacute;e par l'&eacute;quipe PostgreSQLFr.</i></p> <p><i>Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Envoyez-les en anglais &agrave; <a href="mailto:david_AT_fetter_DOT_org">David</a> et en allemand &agrave; <a href="mailto:pwnATpgugDOT_DE">pwn@pgug.de</a>.</i></p> <p><strong>Correctifs appliqu&eacute;s</strong></p> <p>Neil Conway a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/bin/pg_dump/pg_dump.c, fix up the indentation of a comment that was mangled by pgindent, and add dashes to the start/end of the comment block to try to prevent this happening in the future.</li> </ul> <p>Magnus Hagander a commit&eacute;&nbsp;:</p> <ul> <li>Stefan Kaltenbrunner's patch to support finding gssapi functions in the library "gss", as required by Solaris 10 and possibly others.</li> <li>In pgsql/src/bin/pg_ctl/pg_ctl.c, silence compile warning on win32, per Stefan Kaltenbrunner and reports from the buildfarm.</li> <li>Enable GSSAPI to build using MSVC. Always build GSSAPI when Kerberos is enabled, because the only Kerberos library supported always contains it.</li> <li>Stefan Kaltenbrunner's patch to support GSSAPI builds where the header is &lt;gssapi.h&gt; and not &lt;gssapi/gssapi.h&gt;, such as OpenBSD (possibly all Heimdal).</li> <li>Fix freeing of names in Kerberos when using MIT - need to use the free function provided in the Kerberos library. This fixes a very hard to track down heap corruption on windows when using debug runtimes.</li> <li>A bunch of GSSAPI fixes per comments from Tom, including using elog instead of ereport for debugging, fixing debug levels for some output, and properly checking for memory allocation errors in a couple of missed places.</li> <li>Add support for GSSAPI authentication. Documentation still being written, will be committed later. Henry B. Hotz and Magnus Hagander</li> </ul> <p>Joe Conway a commit&eacute;&nbsp;:</p> <ul> <li>Restrict non-superusers to password authenticated connections to prevent possible escalation of privilege. Provide new SECURITY DEFINER functions with old behavior, but initially REVOKE ALL from public for these functions. Per list discussion and design proposed by Tom Lane.</li> </ul> <p>Tom Lane a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/contrib/pgcrypto/mbuf.c, get rid of overly cute, unportable, probably not very efficient substitute for 'bool'. Per buildfarm warnings.</li> <li>In contrib/pageinspect and contrib/pgstattuple, fix CHECK_RELATION_BLOCK_RANGE macro, which was not merely producing a warning but was outright wrong.</li> <li>In pgsql/contrib/xml2, fix a passel of signed vs unsigned char warnings.</li> <li>In pgsql/contrib/pageinspect/btreefuncs.c, silence a rather odd compiler warning. In passing, make this file's error messages look at least a little bit like the message style guidelines say.</li> <li>In pgsql/contrib/tsearch2/dict_thesaurus.c, avoid possibly-unportable initializer, per buildfarm warning.</li> <li>In contrib/oid2name and contrib/pg_standby, change a couple of exit(0) to return 0 to suppress complaints from not-too-bright compilers. Per buildfarm results.</li> <li>In pgsql/contrib/pgcrypto/imath.c, silence Solaris compiler warning, per buildfarm.</li> <li>Fix compile warning on Solaris, per buildfarm. (Why have we got three slightly different copies of this file?)</li> <li>In pgsql/contrib/pgbench/pgbench.c, fix possible portability problem, per buildfarm warnings.</li> <li>In pgsql/contrib/tsearch2/stopword.c, fix unportable use of isspace(), per buildfarm results.</li> <li>Because plpgsql's scanner uses %option case-insensitive, flex's results could theoretically vary depending on what the compile-time locale setting is. Hence, force it to see LC_CTYPE=C to ensure consistent build results. (It's likely that this makes no difference in practice, since our specification for "identifier" surely includes both ends of any possible uppercase/lowercase pair anyway. But it should silence warnings about ambiguous character classes that are reported by some buildfarm members.)</li> <li>Reject zero or negative BY step in plpgsql integer FOR-loops, and behave sanely if the loop value overflows int32 on the way to the end value. Avoid useless computation of "SELECT 1" when BY is omitted. Avoid some type-punning between Datum and int4 that dates from the original coding.</li> <li>Note incompatibility with Oracle's version of FOR ... REVERSE, per Andrew Dunstan. Minor other improvements in documentation of integer FOR loops.</li> <li>Editorial overhaul of plpgsql documentation. Provide detailed documentation of variable substitution and plan caching behavior in dedicated sections. (A lot of this material existed already, but was scattered in various places in the chapter.) Reorganize material a little bit, mostly to try to avoid diving into deep details in the first introductory sections. Document some fine points that had escaped treatment before, notably the ability to qualify plpgsql variable names with block labels. Some minor wordsmithing here and there.</li> <li>Volatile-qualify a dozen variables in plpython.c to eliminate warnings from old versions of gcc. It's not clear to me that this is really necessary for correctness, but less warnings are always good. Per buildfarm results and local testing.</li> <li>Fix map_sql_typecoll_to_xmlschema_types() to not fail on dropped columns, per my gripe earlier today. Make it look a bit less like someone's first effort at backend coding.</li> <li>Add casts to suppress warnings about m68k-specific kluge in fmgr.c.</li> <li>In pgsql/src/backend/utils/adt/cash.c, fix a portability bug (ye olde not casting a &lt;ctype.h&gt; argument to unsigned char). Fortunately we still have buildfarm machines that will flag this. Seems to be new in CVS HEAD, so no backpatch.</li> <li>Get dirmod.c on the same page as port.h about whether we use pgsymlink on Cygwin (answer: we don't). Also try to unwind the #ifdef spaghetti a little bit. Untested but hopefully I didn't break anything.</li> <li>In pgsql/contrib/pg_trgm/trgm_op.c, simplify overly-cute array coding to avoid an apparent gcc bug, which may or may not be harmless. Report from Stefan Kaltenbrunner, patch from Heikki Linnakangas.</li> <li>In pgsql/src/bin/pg_resetxlog/pg_resetxlog.c, suppress Sun Studio warnings, per Stefan Kaltenbrunner.</li> <li>In pgsql/src/backend/utils/mb/wchar.c, suppress an integer-overflow warning.</li> <li>Some of our port-specific dynloader implementations are careful to define pg_dlsym() as returning a PGFunction pointer, not just any pointer-to-function. But many are not. Suppress compiler warnings on platforms that aren't careful by inserting explicit casts at the two call sites that didn't have a cast already. Per Stefan Kaltenbrunner.</li> <li>In pgsql/src/backend/utils/adt/xml.c, compute max and min int8 values using unsigned arithmetic, in hopes of suppressing Sun Studio compiler warnings. Per Stefan Kaltenbrunner.</li> <li>Fix some warnings (probably actual bugs) generated by new GSSAPI code when built on a 64-bit machine. Per buildfarm results extracted by Stefan Kaltenbrunner.</li> <li>In pgsql/src/backend/optimizer/prep/prepunion.c, fix mistaken Assert in adjust_appendrel_attr_needed, per Greg Stark.</li> <li>Suppress a warning that some versions of gcc emit about %x in strftime. Per suggestion from Alvaro Herrera.</li> <li>Add note that building from CVS requires bison and flex, whereas building from a distribution tarball does not.</li> <li>Fix misspellings in pgsql/src/include/pg_config.h.in and configure.in.</li> <li>Adjust processSQLNamePattern() so that $ within the pattern is always matched literally, whether quoted or not. Since we allow $ as a character within identifiers, this behavior is useful, whereas the previous behavior of treating it as the regexp ending anchor was nearly useless given that the pattern is automatically anchored anyway. This affects the arguments of psql's \d commands as well as pg_dump's -n and -t switches. Per discussion.</li> <li>Fix stddev_pop(numeric) and var_pop(numeric), which were incorrectly producing the same outputs as stddev_samp() and var_samp() respectively.</li> <li>Fix single-user mode so that interrupts (particularly SIGTERM and SIGQUIT) will be recognized and processed while waiting for input, rather than only after something has been typed. Also make SIGQUIT do the same thing as SIGTERM in single-user mode, ie, do a normal shutdown and exit. Since it's relatively easy to provoke SIGQUIT from the keyboard, people may try that instead of control-D, and we'd rather this leads to orderly shutdown. Per report from Leon Mergen and subsequent discussion.</li> <li>Minor copy-editing on pgsql/doc/src/sgml/ref/postgres-ref.sgml.</li> <li>Remove the pgstat_drop_relation() call from smgr_internal_unlink(), because we don't know at that point which relation OID to tell pgstat to forget. The code was passing the relfilenode, which is incorrect, and could possibly cause some other relation's stats to be zeroed out. While we could try to clean this up, it seems much simpler and more reliable to let the next invocation of pgstat_vacuum_tabstat() fix things; which indeed is how it worked before I introduced the buggy code into 8.1.3 and later :-(. Problem noticed by Itagaki Takahiro, fix is per subsequent discussion.</li> </ul> <p><strong>Correctifs en attente</strong></p> <ul> <li>Neil Conway sent in an updated patch which implements CREATE TABLE LIKE INCLUDING INDEXES support.</li> <li>Stefan Kaltenbrunner sent in a patch to add GSSAPI support for OpenBSD.</li> <li>Alvaro Herrera sent in a patch which fixes "missing sentinel" warnings in pg_regress.c.</li> <li>Pavan Deolasee sent in two more revisions of his HOT patch.</li> <li>Simon Riggs sent in a patch to fix pg_standby.c to allow for spaces in path names.</li> <li>Simon Riggs sent in two versions of a patch documenting Synchronous Commit.</li> <li>Affan Salman sent in a patch which fixes a bug in deferred referential integrity triggers for non-key UPDATEs and subtransactions.</li> <li>Gavin Roy sent in a patch to allow pg_dump(all) to ignore tablespaces.</li> </ul>