summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2009-12-15Python 3 support in PL/PythonPeter Eisentraut
Behaves more or less unchanged compared to Python 2, but the new language variant is called plpython3u. Documentation describing the naming scheme is included.
2009-12-15Add a hook to let loadable modules get control at ProcessUtility execution,Tom Lane
and use it to extend contrib/pg_stat_statements to track utility commands. Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.
2009-12-15Support ORDER BY within aggregate function calls, at long last providing aTom Lane
non-kluge method for controlling the order in which values are fed to an aggregate function. At the same time eliminate the old implementation restriction that DISTINCT was only supported for single-argument aggregates. Possibly release-notable behavioral change: formerly, agg(DISTINCT x) dropped null values of x unconditionally. Now, it does so only if the agg transition function is strict; otherwise nulls are treated as DISTINCT normally would, ie, you get one copy. Andrew Gierth, reviewed by Hitoshi Harada
2009-12-15Fix broken markup.Tom Lane
2009-12-15Add \shell and \setshell meta commands to pgbench.Itagaki Takahiro
\shell command runs an external shell command. \setshell also does the same and sets the result to a variable. original patch by Michael Paquier with some editorialization by Itagaki, and reviewed by Greg Smith.
2009-12-15Add an EXPLAIN (BUFFERS) option to show buffer-usage statistics.Robert Haas
This patch also removes buffer-usage statistics from the track_counts output, since this (or the global server statistics) is deemed to be a better interface to this information. Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.
2009-12-12Allow LDAP authentication to operate in search+bind mode, meaning itMagnus Hagander
does a search for the user in the directory first, and then binds with the DN found for this user. This allows for LDAP logins in scenarios where the DN of the user cannot be determined simply by prefix and suffix, such as the case where different users are located in different containers. The old way of authentication can be significantly faster, so it's kept as an option. Robert Fleming and Magnus Hagander
2009-12-11Add large object access control.Itagaki Takahiro
A new system catalog pg_largeobject_metadata manages ownership and access privileges of large objects. KaiGai Kohei, reviewed by Jaime Casanova.
2009-12-11Add YAML to list of EXPLAIN formats. Greg Sabino Mullane, reviewed by ↵Andrew Dunstan
Takahiro Itagaki.
2009-12-10PL/Python array supportPeter Eisentraut
Support arrays as parameters and return values of PL/Python functions.
2009-12-10Add init[db] option to pg_ctlPeter Eisentraut
pg_ctl gets a new mode that runs initdb. Adjust the documentation a bit to not assume that initdb is the only way to run database cluster initialization. But don't replace initdb as the canonical way. Author: Zdenek Kotala <Zdenek.Kotala@Sun.COM>
2009-12-10Update release notes for releases 8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23,Tom Lane
7.4.27.
2009-12-09Update size references in installation instructions to be a bitMagnus Hagander
more up-to-date with current versions.
2009-12-08Fix a couple of broken links to third-party sites.Magnus Hagander
2009-12-08Replace broken link to custom local gettext package with one to the mainMagnus Hagander
GNU site for gettext.
2009-12-07Update CVS documentation to be more current and add documentation aboutMagnus Hagander
git mirror. Remove information about cvsup and documentation that's more about cvs than our use of cvs. Backpatch to 8.4 so we get the git information up on the website as soon as possible.
2009-12-07Add exclusion constraints, which generalize the concept of uniqueness toTom Lane
support any indexable commutative operator, not just equality. Two rows violate the exclusion constraint if "row1.col OP row2.col" is TRUE for each of the columns in the constraint. Jeff Davis, reviewed by Robert Haas
2009-12-05Information schema documentationPeter Eisentraut
Add a sentence of documentation about the differences between the *_privileges and the role_*_grants views.
2009-12-02Clarify what's supposed to happen when a cursor FETCH is rolled backTom Lane
by aborting a subtransaction. Per discussion with Heikki.
2009-12-02thread-safetyBruce Momjian
Apply full patch to enable thread-safety by default, e.g. doc changes.
2009-12-02Mark application_name as GUC_REPORT so that the value will be reported backTom Lane
to the client by the server. This might seem pretty pointless but apparently it will help pgbouncer, and perhaps other connection poolers. Anyway it's practically free to do so for the normal use-case where appname is only set in the startup packet --- we're just adding a few more bytes to the initial ParameterStatus response packet. Per comments from Marko Kreen.
2009-12-01Revert due to Tom's concerns:Bruce Momjian
Add ProcessUtility_hook() to handle all DDL to contrib/pg_stat_statements.
2009-12-01ProcessUtility_hook:Bruce Momjian
Add ProcessUtility_hook() to handle all DDL to contrib/pg_stat_statements. Itagaki Takahiro
2009-11-30hstore docsBruce Momjian
Update hstore docs, mostly word-smithing. David E. Wheeler
2009-11-30In SRF example, move oldcontext variable definition into the FIRSTCALLPeter Eisentraut
branch, which is how most actual code is actually structured. Also fix slight whitespace misalignment.
2009-11-30Properly indent SGML.Bruce Momjian
2009-11-29Make pg_stat_activity.application_name visible to all users, rather thanTom Lane
being hidden when current_query is. Relocate it to a column position more consistent with that behavior. Per discussion.
2009-11-29Add support for anonymous code blocks (DO blocks) to PL/Perl.Tom Lane
Joshua Tolley, reviewed by Brendan Jurd and Tim Bunce
2009-11-28Add support for an application_name parameter, which is displayed inTom Lane
pg_stat_activity and recorded in log entries. Dave Page, reviewed by Andres Freund
2009-11-28fsync test toolsBruce Momjian
Add link to exteran fsync testing script and our fsync test tool.
2009-11-27Document ath vacuumdb --analyze does analyze _also_, not in place ofBruce Momjian
vacuum.
2009-11-26Fix missing end tag, per Jeff Davis.Tom Lane
2009-11-25Simplify psql's new linestyle behavior to default to linestyle=ascii allTom Lane
the time, rather than hoping we can tell whether the terminal supports UTF8 characters. Per discussion.
2009-11-24Fix syntax in extract() examplesPeter Eisentraut
Author: Erik Rijkers <er@xs4all.nl>
2009-11-23Add PG_MODULE_MAGIC and some missing include files to examplesPeter Eisentraut
Author: Euler Taveira de Oliveira <euler@timbira.com>
2009-11-22Assorted wordsmithing on the documentation of \pset --- try to make itTom Lane
a bit more consistent and less obviously written by different people at different times.
2009-11-22Improve psql's tabular display of wrapped-around data by inserting markersTom Lane
in the formerly-always-blank columns just to left and right of the data. Different marking is used for a line break caused by a newline in the data than for a straight wraparound. A newline break is signaled by a "+" in the right margin column in ASCII mode, or a carriage return arrow in UNICODE mode. Wraparound is signaled by a dot in the right margin as well as the following left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE mode. "\pset linestyle old-ascii" is added to make the previous behavior available if anyone really wants it. In passing, this commit also cleans up a few regression test files that had unintended spacing differences from the current actual output. Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.
2009-11-20Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to beTom Lane
checked to determine whether the trigger should be fired. For BEFORE triggers this is mostly a matter of spec compliance; but for AFTER triggers it can provide a noticeable performance improvement, since queuing of a deferred trigger event and re-fetching of the row(s) at end of statement can be short-circuited if the trigger does not need to be fired. Takahiro Itagaki, reviewed by KaiGai Kohei.
2009-11-18Add a hook to CREATE/ALTER ROLE to allow an external module to check theTom Lane
strength of database passwords, and create a sample implementation of such a hook as a new contrib module "passwordcheck". Laurenz Albe, reviewed by Takahiro Itagaki
2009-11-16Provide a parenthesized-options syntax for VACUUM, analogous to that recentlyTom Lane
adopted for EXPLAIN. This will allow additional options to be implemented in future without having to make them fully-reserved keywords. The old syntax remains available for existing options, however. Itagaki Takahiro
2009-11-13Add control knobs for plpgsql's variable resolution behavior, and make theTom Lane
default be "throw error on conflict", as per discussions. The GUC variable is plpgsql.variable_conflict, with values "error", "use_variable", "use_column". The behavior can also be specified per-function by inserting one of #variable_conflict error #variable_conflict use_variable #variable_conflict use_column at the start of the function body. The 8.5 release notes will need to mention using "use_variable" to retain backward-compatible behavior, although we should encourage people to migrate to the much less mistake-prone "error" setting. Update the plpgsql documentation to match this and other recent changes.
2009-11-11Document the previous FETCH and MOVE changes.Alvaro Herrera
2009-11-10DIAGNOSTICS/FOUND wordingBruce Momjian
Update wording of GET DIAGNOSTICS/FOUND, per David Fetter.
2009-11-10PL/pgSQL FOUNDBruce Momjian
Document that GET DIAGNOSTICS is affected by EXECUTE, while FOUND is not.
2009-11-05Don't treat NEW and OLD as reserved words anymore. For the purposes of rulesTom Lane
it works just as well to have them be ordinary identifiers, and this gets rid of a number of ugly special cases. Plus we aren't interfering with non-rule usage of these names. catversion bump because the names change internally in stored rules.
2009-11-05Remove plpgsql's RENAME declaration, which has bizarre and mostly nonfunctionalTom Lane
behavior, and is so little used that no one has been interested in fixing it. To ensure that possible uses are covered, remove the ALIAS declaration's arbitrary restriction that only $n identifiers can be aliased. (We could alternatively make RENAME act just like ALIAS, but per discussion having two different ways to do the same thing is probably more confusing than helpful.)
2009-11-04Add support for invoking parser callback hooks via SPI and in cached plans.Tom Lane
As proof of concept, modify plpgsql to use the hooks. plpgsql is still inserting $n symbols textually, but the "back end" of the parsing process now goes through the ParamRef hook instead of using a fixed parameter-type array, and then execution only fetches actually-referenced parameters, using a hook added to ParamListInfo. Although there's a lot left to be done in plpgsql, this already cures the "if (TG_OP = 'INSERT' and NEW.foo ...)" problem, as illustrated by the changed regression test.
2009-10-28When FOR UPDATE/SHARE is used with LIMIT, put the LockRows plan nodeTom Lane
underneath the Limit node, not atop it. This fixes the old problem that such a query might unexpectedly return fewer rows than the LIMIT says, due to LockRows discarding updated rows. There is a related problem that LockRows might destroy the sort ordering produced by earlier steps; but fixing that by pushing LockRows below Sort would create serious performance problems that are unjustified in many real-world applications, as well as potential deadlock problems from locking many more rows than expected. Instead, keep the present semantics of applying FOR UPDATE after ORDER BY within a single query level; but allow the user to specify the other way by writing FOR UPDATE in a sub-select. To make that work, track whether FOR UPDATE appeared explicitly in sub-selects or got pushed down from the parent, and don't flatten a sub-select that contained an explicit FOR UPDATE.
2009-10-27Make FOR UPDATE/SHARE in the primary query not propagate into WITH queries;Tom Lane
for example in WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE the FOR UPDATE will now affect bar but not foo. This is more useful and consistent than the original 8.4 behavior, which tried to propagate FOR UPDATE into the WITH query but always failed due to assorted implementation restrictions. Even though we are in process of removing those restrictions, it seems correct on philosophical grounds to not let the outer query's FOR UPDATE affect the WITH query. In passing, fix isLockedRel which frequently got things wrong in nested-subquery cases: "FOR UPDATE OF foo" applies to an alias foo in the current query level, not subqueries. This has been broken for a long time, but it doesn't seem worth back-patching further than 8.4 because the actual consequences are minimal. At worst the parser would sometimes get RowShareLock on a relation when it should be AccessShareLock or vice versa. That would only make a difference if someone were using ExclusiveLock concurrently, which no standard operation does, and anyway FOR UPDATE doesn't result in visible changes so it's not clear that the someone would notice any problem. Between that and the fact that FOR UPDATE barely works with subqueries at all in existing releases, I'm not excited about worrying about it.
2009-10-27Fix documentation on the toast.fillfactor reloption: it doesn't exist.Alvaro Herrera
Per note from Zoltan Boszormenyi.