summaryrefslogtreecommitdiff
path: root/databases/postgresql81
AgeCommit message (Collapse)AuthorFilesLines
2009-03-20Changes 8.1.17:adam2-6/+6
* Prevent error recursion crashes when encoding conversion fails. * Disallow "CREATE CONVERSION" with the wrong encodings for the specified conversion function. * Fix core dump when to_char() is given format codes that are inappropriate for the type of the data argument. * Fix decompilation of CASE WHEN with an implicit coercion. * Fix possible misassignment of the owner of a TOAST table's rowtype. * Clean up PL/pgSQL error status variables fully at block exit. * Add MUST (Mauritius Island Summer Time) to the default list of known timezone abbreviations.
2009-02-07Changes 8.1.16:adam4-19/+20
* Fix crash in autovacuum The crash occurs only after vacuuming a whole database for anti-transaction-wraparound purposes, which means that it occurs infrequently and is hard to track down. * Improve handling of URLs in headline() function * Improve handling of overlength headlines in headline() function * Prevent possible Assert failure or misconversion if an encoding conversion is created with the wrong conversion function for the specified pair of encodings * Avoid unnecessary locking of small tables in "VACUUM" * Ensure that the contents of a holdable cursor don't depend on the contents of TOAST tables * Fix uninitialized variables in "contrib/tsearch2"'s get_covers() function * Fix configure script to properly report failure when unable to obtain linkage information for PL/Perl * Make all documentation reference pgsql-bugs and/or pgsql-hackers as appropriate, instead of the now-decommissioned pgsql-ports and pgsql-patches mailing lists * Update time zone data files to tzdata release 2009a (for Kathmandu and historical DST corrections in Switzerland, Cuba)
2008-11-04Changes 8.1.15:adam2-6/+6
* Fix GiST index corruption due to marking the wrong index entry "dead" after a deletion. This would result in index searches failing to find rows they should have found. * Fix backend crash when the client encoding cannot represent a localized error message. We have addressed similar issues before, but it would still fail if the "character has no equivalent" message itself couldn't be converted. The fix is to disable localization and send the plain ASCII error message when we detect such a situation. * Fix possible crash when deeply nested functions are invoked from a trigger. * Fix mis-expansion of rule queries when a sub-SELECT appears in a function call in FROM, a multi-row VALUES list, or a RETURNING list * Ensure an error is reported when a newly-defined PL/pgSQL trigger function is invoked as a normal function. * Prevent possible collision of relfilenode numbers when moving a table to another tablespace with "ALTER SET TABLESPACE". The command tried to re-use the existing filename, instead of picking one that is known unused in the destination directory. * Fix incorrect tsearch2 headline generation when single query item matches first word of text. * Fix improper display of fractional seconds in interval values when using a non-ISO datestyle in an "--enable-integer-datetimes" build * Ensure SPI_getvalue and SPI_getbinval behave correctly when the passed tuple and tuple descriptor have different numbers of columns. * Fix ecpg's parsing of "CREATE ROLE". * Fix recent breakage of pg_ctl restart. * Update time zone data files to tzdata release 2008i (for DST law changes in Argentina, Brazil, Mauritius, Syria)
2008-10-06Changes 8.1.14:adam2-6/+6
Bug-fix release, see HISTORY for details.
2008-06-20Changes 8.1.13:adam4-20/+19
* Make pg_get_ruledef() parenthesize negative constants (Tom) Before this fix, a negative constant in a view or rule might be dumped as, say, -42::integer, which is subtly incorrect: it should be (-42)::integer due to operator precedence rules. Usually this would make little difference, but it could interact with another recent patch to cause PostgreSQL to reject what had been a valid "SELECT DISTINCT" view query. Since this could result in pg_dump output failing to reload, it is being treated as a high-priority fix. The only released versions in which dump output is actually incorrect are 8.3.1 and 8.2.7. * Make "ALTER AGGREGATE ... OWNER TO" update pg_shdepend (Tom) This oversight could lead to problems if the aggregate was later involved in a "DROP OWNED" or "REASSIGN OWNED" operation.
2008-06-12Add DESTDIR support.joerg1-3/+3
2008-04-23Add missing CONFLICTS with postgresql83-* packages. Reported by ASau` on irc.ghen1-1/+2
2008-03-13Mark the main postgresql8[0-3] packages as meta packages.joerg1-9/+2
This avoids the problems in PR 34914.
2008-01-07Changes 8.1.11:adam2-6/+6
This release contains a variety of fixes from 8.1.10, including fixes for significant security issues. This is the last 8.1.X release for which the PostgreSQL community will produce binary packages for Windows. Windows users are encouraged to move to 8.2.X or later, since there are Windows-specific fixes in 8.2.X that are impractical to back-port. 8.1.X will continue to be supported on other platforms.
2007-10-25* If PLIST_SRC is explicitly set to an empty value in a package Makefile,jlam2-3/+2
then automatically generate a PLIST that says "${PKGNAME} has no files". * If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile, and no PLIST files exist, then fail during the package build with PKG_FAIL_REASON. * Remove "intentionally empty" PLISTs again. Now, the easy way to say that a package installs no files is to just add the following to the package Makefile: PLIST_SRC= # empty
2007-10-25Re-add "intentionally empty" PLISTs for meta-packages and other packagesjlam1-0/+2
that directly manipulate empty PLISTs. Modify plist/plist.mk so that if the PLIST files are missing and no GENERATE_PLIST is defined, then the package fails to build.
2007-10-25Remove empty PLISTs from pkgsrc since revision 1.33 of plist/plist.mkjlam1-2/+0
can handle packages having no PLIST files.
2007-09-19Changes 8.1.10:adam2-6/+6
* Prevent index corruption when a transaction inserts rows and then aborts close to the end of a concurrent "VACUUM" on the same table * Make "CREATE DOMAIN ... DEFAULT NULL" work properly * Allow the interval data type to accept input consisting only of milliseconds or microseconds * Speed up rtree index insertion * Fix excessive logging of SSL error messages * Fix logging so that log messages are never interleaved when using the syslogger process * Fix crash when log_min_error_statement logging runs out of memory * Fix incorrect handling of some foreign-key corner cases * Prevent "REINDEX" and "CLUSTER" from failing due to attempting to process temporary tables of other sessions * Update the time zone database rules, particularly New Zealand's upcoming changes * Windows socket improvements * Suppress timezone name (%Z) in log timestamps on Windows because of possible encoding mismatches * Require non-superusers who use "/contrib/dblink" to use only password authentication, as a security measure
2007-05-04CONFLICTS fixadam1-1/+2
2007-05-04CONFLICTS fixadam1-4/+4
2007-04-30Changes 8.1.9:adam2-7/+10
* Support explicit placement of the temporary-table schema within search_path, and disable searching it for functions and operators * "/contrib/tsearch2" crash fixes * Require "COMMIT PREPARED" to be executed in the same database as the transaction was prepared in * Fix potential-data-corruption bug in how "VACUUM FULL" handles "UPDATE" chains * Planner fixes, including improving outer join and bitmap scan selection logic * Fix PANIC during enlargement of a hash index (bug introduced in 8.1.6) * Fix POSIX-style timezone specs to follow new USA DST rules
2007-02-08Changes 8.1.8:adam2-6/+6
* Remove overly-restrictive check for type length in constraints and functional indexes
2007-02-05Changes 8.1.7:adam2-6/+6
* Remove security vulnerabilities that allowed connected users to read backend memory * Fix rare bug wherein btree index page splits could fail due to choosing an infeasible split point * Improve "VACUUM" performance for databases with many tables * Fix autovacuum to avoid leaving non-permanent transaction IDs in non-connectable databases This bug affects the 8.1 branch only. * Fix for rare Assert() crash triggered by UNION * Tighten security of multi-byte character processing for UTF8 sequences over three bytes long * Fix bogus "permission denied" failures occurring on Windows due to attempts to fsync already-deleted files * Fix possible crashes when an already-in-use PL/pgSQL function is updated
2007-01-12Fix gettext detection similiar to PostgreSQL 8.2.joerg2-5/+47
2007-01-08Changes 8.1.6:adam2-6/+6
* Improve handling of getaddrinfo() on AIX This fixes a problem with starting the statistics collector, among other things. * Fix pg_restore to handle a tar-format backup that contains large objects (blobs) with comments * Fix "failed to re-find parent key" errors in "VACUUM" * Clean out "pg_internal.init" cache files during server restart This avoids a hazard that the cache files might contain stale data after PITR recovery. * Fix race condition for truncation of a large relation across a gigabyte boundary by "VACUUM" * Fix bug causing needless deadlock errors on row-level locks * Fix bugs affecting multi-gigabyte hash indexes * Fix possible deadlock in Windows signal handling * Fix error when constructing an ARRAY[] made up of multiple empty elements * Fix ecpg memory leak during connection * Fix for Darwin (OS X) compilation * to_number() and to_char(numeric) are now STABLE, not IMMUTABLE, for new initdb installs This is because lc_numeric can potentially change the output of these functions. * Improve index usage of regular expressions that use parentheses This improves psql \d performance also. * Update timezone database This affects Australian and Canadian daylight-savings rules in particular.
2006-12-01Make my life easier and push the tsearch2 patches out. The package itselfjoerg6-2/+138
needs some more work though.
2006-10-18Changes 8.1.5:adam3-25/+25
* Disallow aggregate functions in "UPDATE" commands, except within sub-SELECTs (Tom) The behavior of such an aggregate was unpredictable, and in 8.1.X could cause a crash, so it has been disabled. The SQL standard does not allow this either. * Fix core dump when an untyped literal is taken as ANYARRAY * Fix core dump in duration logging for extended query protocol when a "COMMIT" or "ROLLBACK" is executed * Fix mishandling of AFTER triggers when query contains a SQL function returning multiple rows (Tom) * Fix "ALTER TABLE ... TYPE" to recheck NOT NULL for USING clause (Tom) * Fix string_to_array() to handle overlapping matches for the separator string For example, string_to_array('123xx456xxx789', 'xx'). * Fix to_timestamp() for AM/PM formats (Bruce) * Fix autovacuum's calculation that decides whether "ANALYZE" is needed (Alvaro) * Fix corner cases in pattern matching for psql's \d commands * Fix index-corrupting bugs in /contrib/ltree (Teodor) * Numerous robustness fixes in ecpg (Joachim Wieland) * Fix backslash escaping in /contrib/dbmirror * Minor fixes in /contrib/dblink and /contrib/tsearch2 * Efficiency improvements in hash tables and bitmap index scans (Tom) * Fix instability of statistics collection on Win32 (Tom, Andrew) * Fix statement_timeout to use the proper units on Win32 (Bruce) In previous Win32 8.1.X versions, the delay was off by a factor of 100. * Fixes for MSVC and Borland C++ compilers (Hiroshi Saito) * Fixes for AIX and Intel compilers (Tom)
2006-06-07Fix build on Darwin/MacOSXadam1-1/+4
2006-05-26Update PostgreSQL to 7.3.15, 7.4.13, 8.0.8 and 8.1.4 respectively.joerg2-6/+6
Common to all versions: * Change the server to reject invalidly-encoded multibyte characters in all cases (Tatsuo, Tom) While PostgreSQL has been moving in this direction for some time, the checks are now applied uniformly to all encodings and all textual input, and are now always errors not merely warnings. This change defends against SQL-injection attacks of the type described in CVE-2006-2313. * Reject unsafe uses of \' in string literals As a server-side defense against SQL-injection attacks of the type described in CVE-2006-2314, the server now only accepts '' and not \' as a representation of ASCII single quote in SQL string literals. By default, \' is rejected only when client_encoding is set to a client-only encoding (SJIS, BIG5, GBK, GB18030, or UHC), which is the scenario in which SQL injection is possible. A new configuration parameter backslash_quote is available to adjust this behavior when needed. Note that full security against CVE-2006-2314 may require client-side changes; the purpose of backslash_quote is in part to make it obvious that insecure clients are insecure. * Modify libpq's string-escaping routines to be aware of encoding considerations This fixes libpq-using applications for the security issues described in CVE-2006-2313 and CVE-2006-2314. Applications that use multiple PostgreSQL connections concurrently should migrate to PQescapeStringConn() and PQescapeByteaConn() to ensure that escaping is done correctly for the settings in use in each database connection. Applications that do string escaping "by hand" should be modified to rely on library routines instead. * Fix some incorrect encoding conversion functions win1251_to_iso, alt_to_iso, euc_tw_to_big5, euc_tw_to_mic, mic_to_euc_tw were all broken to varying extents. * Clean up stray remaining uses of \' in strings (Bruce, Jan) * Fix server to use custom DH SSL parameters correctly (Michael Fuhr) * Fix various minor memory leaks Additionally for 7.4.13 and later: * Fix bug that sometimes caused OR'd index scans to miss rows they should have returned * Fix WAL replay for case where a btree index has been truncated * Fix SIMILAR TO for patterns involving | (Tom) * Fix for Bonjour on Intel Macs (Ashley Clark) Additionally for 8.0.8 and 8.1.4: * Fix SELECT INTO and CREATE TABLE AS to create tables in the default tablespace, not the base directory (Kris Jurka) * Fix problem with password prompting on some Win32 systems (Robert Kinberg) Additionally for 8.1.4: * Fix weak key selection in pgcrypto (Marko Kreen) Errors in fortuna PRNG reseeding logic could cause a predictable session key to be selected by pgp_sym_encrypt() in some cases. This only affects non-OpenSSL-using builds. * Make autovacuum visible in pg_stat_activity (Alvaro) * Disable full_page_writes (Tom) In certain cases, having full_page_writes off would cause crash recovery to fail. A proper fix will appear in 8.2; for now it's just disabled. * Various planner fixes, particularly for bitmap index scans and MIN/MAX optimization (Tom) * Fix incorrect optimization in merge join (Tom) Outer joins could sometimes emit multiple copies of unmatched rows. * Fix crash from using and modifying a plpgsql function in the same transaction * Improve qsort performance (Dann Corbit) Currently this code is only used on Solaris. * Improve pg_dump's handling of default values for domains * Fix pg_dumpall to handle identically-named users and groups reasonably (only possible when dumping from a pre-8.1 server) (Tom) The user and group will be merged into a single role with LOGIN permission. Formerly the merged role wouldn't have LOGIN permission, making it unusable as a user. * Fix pg_restore -n to work as documented (Tom)
2006-04-13BUILD_USE_MSGFMT and USE_MSGFMT_PLURALS are obsolete. Replace withjlam1-3/+2
USE_TOOLS+=msgfmt.
2006-04-06Over 1200 files touched but no revisions bumped :)reed1-2/+2
RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
2006-03-28Move pre-configure rule for Dragonfly into post-extract rule likejoerg1-1/+18
the other postgresql packages do. Fixes build of PL packages.
2006-03-21s/wip/databases/ (hi uebayasi!)martti2-5/+5
2006-03-20Initial import of PostgreSQL 8.1.3, from pkgsrc-wip.uebayasi20-0/+838
This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.