aboutsummaryrefslogtreecommitdiff
path: root/doc/src
Commit message (Collapse)AuthorAge
...
* Show schemas in information_schema.schemata that the current has access toPeter Eisentraut2013-09-09
| | | | | Before, it would only show schemas that the current user owns. Per discussion, the new behavior is more useful and consistent for PostgreSQL.
* Eliminate pg_rewrite.ev_attr column and related dead code.Kevin Grittner2013-09-05
| | | | | | | | Commit 95ef6a344821655ce4d0a74999ac49dd6af6d342 removed the ability to create rules on an individual column as of 7.3, but left some residual code which has since been useless. This cleans up that dead code without any change in behavior other than dropping the useless column from the catalog.
* Improve Range Types and Exclusion Constraints example.Jeff Davis2013-09-04
| | | | | Make the examples self-contained to avoid confusion. Per bug report 8367 from KOIZUMI Satoru.
* Don't fail for bad GUCs in CREATE FUNCTION with check_function_bodies off.Tom Lane2013-09-03
| | | | | | | | | | | | | | | | | | | | | | | The previous coding attempted to activate all the GUC settings specified in SET clauses, so that the function validator could operate in the GUC environment expected by the function body. However, this is problematic when restoring a dump, since the SET clauses might refer to database objects that don't exist yet. We already have the parameter check_function_bodies that's meant to prevent forward references in function definitions from breaking dumps, so let's change CREATE FUNCTION to not install the SET values if check_function_bodies is off. Authors of function validators were already advised not to make any "context sensitive" checks when check_function_bodies is off, if indeed they're checking anything at all in that mode. But extend the documentation to point out the GUC issue in particular. (Note that we still check the SET clauses to some extent; the behavior with !check_function_bodies is now approximately equivalent to what ALTER DATABASE/ROLE have been doing for awhile with context-dependent GUCs.) This problem can be demonstrated in all active branches, so back-patch all the way.
* Allow aggregate functions to be VARIADIC.Tom Lane2013-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's no inherent reason why an aggregate function can't be variadic (even VARIADIC ANY) if its transition function can handle the case. Indeed, this patch to add the feature touches none of the planner or executor, and little of the parser; the main missing stuff was DDL and pg_dump support. It is true that variadic aggregates can create the same sort of ambiguity about parameters versus ORDER BY keys that was complained of when we (briefly) had both one- and two-argument forms of string_agg(). However, the policy formed in response to that discussion only said that we'd not create any built-in aggregates with varying numbers of arguments, not that we shouldn't allow users to do it. So the logical extension of that is we can allow users to make variadic aggregates as long as we're wary about shipping any such in core. In passing, this patch allows aggregate function arguments to be named, to the extent of remembering the names in pg_proc and dumping them in pg_dump. You can't yet call an aggregate using named-parameter notation. That seems like a likely future extension, but it'll take some work, and it's not what this patch is really about. Likewise, there's still some work needed to make window functions handle VARIADIC fully, but I left that for another day. initdb forced because of new aggvariadic field in Aggref parse nodes.
* Docs: wording improvements in discussion of timestamp arithmetic.Tom Lane2013-09-03
| | | | | | | I started out just to fix the broken markup in commit 1c2085766187031eaeaae7db4785b9e1d4241988, but got distracted by copy-editing. I see Bruce already fixed the markup, but I'll commit the wordsmithing anyway.
* doc: Fix SGML markup for date patchBruce Momjian2013-09-03
|
* Docs: add paragraph about date/timestamp subtractionBruce Momjian2013-09-03
| | | | per suggestion from Francisco Olart
* docs: Clarify that we also support Solaris versions greater than 10.Robert Haas2013-09-03
| | | | MauMau
* Fix relfrozenxid query in docs to include TOAST tables.Andrew Dunstan2013-09-02
| | | | | | | The original query ignored TOAST tables which could result in tables needing a vacuum not being reported. Backpatch to all live branches.
* Update "Using EXPLAIN" documentation examples using current code.Tom Lane2013-09-01
| | | | | | It seems like a good idea to update these examples since some fairly basic planner behaviors have changed in 9.3; notably that the startup cost for an indexscan plan node is no longer invariably estimated at 0.00.
* Update 9.3 release notes.Tom Lane2013-08-31
| | | | | | Some corrections, a lot of copy-editing. Set projected release date as 2013-09-09.
* Allow discovery of whether a dynamic background worker is running.Robert Haas2013-08-28
| | | | | | | | | | Using the infrastructure provided by this patch, it's possible either to wait for the startup of a dynamically-registered background worker, or to poll the status of such a worker without waiting. In either case, the current PID of the worker process can also be obtained. As usual, worker_spi is updated to demonstrate the new functionality. Patch by me. Review by Andres Freund.
* Accept multiple -I, -P, -T and -n options in pg_restore.Heikki Linnakangas2013-08-28
| | | | | | | | We already did this for -t (--table) in 9.3, but missed the other similar options. For consistency, allow all of them to be specified multiple times. Unfortunately it's too late to sneak this into 9.3, so commit to master only.
* doc: Explain that ereport doesn't return for ERROR or higher levels.Robert Haas2013-08-26
| | | | Christophe Pettus
* docs: Remove second 'trim' index referenceBruce Momjian2013-08-21
| | | | Per suggestion from Vik Fearing
* release notes: update link to 9.3 PL/pgSQL constraint error infoBruce Momjian2013-08-20
| | | | | | Backpatch to 9.3. Pavel Stehule
* release notes: remove username from 9.3 major itemBruce Momjian2013-08-19
| | | | Etsuro Fujita
* release notes: update 9.3 major feature listBruce Momjian2013-08-16
| | | | Backpatch to 9.3.
* release notes: Update to 9.3 git currentBruce Momjian2013-08-16
| | | | Backpatch to 9.3, of course.
* docs: document TRIM "comma" syntaxBruce Momjian2013-08-14
| | | | | | This syntax is supported by the parser, but is non-standard. _Not_ backpatched to 9.3 in case we change our minds.
* 9.3 release notes: move foreign table itemBruce Momjian2013-08-13
| | | | | | | Move item about foreign data wrappers supporting inserts/updates/deletes to object manipulation. From Etsuro Fujita
* docs: mention Julian is midnight _UTC_Bruce Momjian2013-08-09
| | | | | (Yes, there was no UTC back then, but we compute it that way.) Backpatch to 9.3.
* Docs: Document to_*() Julian values are integersBruce Momjian2013-08-09
| | | | | Backpatch to 9.3. Per request from Marc Dahn
* Document how auto_explain.log_timing can be changed.Fujii Masao2013-08-09
|
* Fix inaccurate description of tablespace.Fujii Masao2013-07-31
| | | | | | | | | | | Currently we don't need to update the pg_tablespace catalog after redefining the symbolic links to the tablespaces because pg_tablespace.spclocation column was removed in PostgreSQL 9.2. Back patch to 9.2 where pg_tablespace.spclocation was removed. Ian Barwick, with minor change by me.
* Add SQL Standard WITH ORDINALITY support for UNNEST (and any other SRF)Greg Stark2013-07-29
| | | | | Author: Andrew Gierth, David Fetter Reviewers: Dean Rasheed, Jeevan Chalke, Stephen Frost
* pg_upgrade docs: don't use cluster for binary/libBruce Momjian2013-07-26
| | | | | | In a few cases, pg_upgrade said old/new cluster location when it meant old/new Postgres install location, so fix those. Per private email report
* Prevent leakage of SPI tuple tables during subtransaction abort.Tom Lane2013-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plpgsql often just remembers SPI-result tuple tables in local variables, and has no mechanism for freeing them if an ereport(ERROR) causes an escape out of the execution function whose local variable it is. In the original coding, that wasn't a problem because the tuple table would be cleaned up when the function's SPI context went away during transaction abort. However, once plpgsql grew the ability to trap exceptions, repeated trapping of errors within a function could result in significant intra-function-call memory leakage, as illustrated in bug #8279 from Chad Wagner. We could fix this locally in plpgsql with a bunch of PG_TRY/PG_CATCH coding, but that would be tedious, probably slow, and prone to bugs of omission; moreover it would do nothing for similar risks elsewhere. What seems like a better plan is to make SPI itself responsible for freeing tuple tables at subtransaction abort. This patch attacks the problem that way, keeping a list of live tuple tables within each SPI function context. Currently, such freeing is automatic for tuple tables made within the failed subtransaction. We might later add a SPI call to mark a tuple table as not to be freed this way, allowing callers to opt out; but until someone exhibits a clear use-case for such behavior, it doesn't seem worth bothering. A very useful side-effect of this change is that SPI_freetuptable() can now defend itself against bad calls, such as duplicate free requests; this should make things more robust in many places. (In particular, this reduces the risks involved if a third-party extension contains now-redundant SPI_freetuptable() calls in error cleanup code.) Even though the leakage problem is of long standing, it seems imprudent to back-patch this into stable branches, since it does represent an API semantics change for SPI users. We'll patch this in 9.3, but live with the leakage in older branches.
* pgstattuple: Doc update for previous commit.Robert Haas2013-07-25
| | | | | | In my previous change to make pgstattuple use SnapshotDirty rather than SnapshotNow, I failed to notice that the documenation also needed to be updated to match. Fix.
* Add GET DIAGNOSTICS ... PG_CONTEXT in PL/PgSQLStephen Frost2013-07-24
| | | | | | | | | This adds the ability to get the call stack as a string from within a PL/PgSQL function, which can be handy for logging to a table, or to include in a useful message to an end-user. Pavel Stehule, reviewed by Rushabh Lathia and rather heavily whacked around by Stephen Frost.
* doc: Remove tab from SGML filePeter Eisentraut2013-07-22
|
* Add --rate option.Tatsuo Ishii2013-07-23
| | | | | | This controls the target transaction rate to certain tps, rather than maximum. Patch contributed by Fabien COELHO, reviewed by Greg Smith, and slight editing by me.
* Remove bgw_sighup and bgw_sigterm.Robert Haas2013-07-22
| | | | | | | | | | | | | | Per discussion on pgsql-hackers, these aren't really needed. Interim versions of the background worker patch had the worker starting with signals already unblocked, which would have made this necessary. But the final version does not, so we don't really need it; and it doesn't work well with the new facility for starting dynamic background workers, so just rip it out. Also per discussion on pgsql-hackers, back-patch this change to 9.3. It's best to get the API break out of the way before we do an official release of this facility, to avoid more pain for extension authors later.
* Silence compiler warning on an unused variableAlvaro Herrera2013-07-22
| | | | | | | Also, tweak wording in comments (per Andres) and documentation (myself) to point out that it's the database's default tablespace that can be passed as 0, not DEFAULTTABLESPACE_OID. Robert Haas noticed the bug in the code, but didn't update the accompanying prose.
* Add infrastructure for mapping relfilenodes to relation OIDs.Robert Haas2013-07-22
| | | | | | | | | | | | | | | | | | Future patches are expected to introduce logical replication that works by decoding WAL. WAL contains relfilenodes rather than relation OIDs, so this infrastructure will be needed to find the relation OID based on WAL contents. If logical replication does not make it into this release, we probably should consider reverting this, since it will add some overhead to DDL operations that create new relations. One additional index insert per pg_class row is not a large overhead, but it's more than zero. Another way of meeting the needs of logical replication would be to the relation OID to WAL, but that would burden DML operations, not only DDL. Andres Freund, with some changes by me. Design review, in earlier versions, by Álvaro Herrera.
* doc: Fix typos in conversion names.Robert Haas2013-07-19
| | | | David Christensen
* WITH CHECK OPTION support for auto-updatable VIEWsStephen Frost2013-07-18
| | | | | | | | | | | | | For simple views which are automatically updatable, this patch allows the user to specify what level of checking should be done on records being inserted or updated. For 'LOCAL CHECK', new tuples are validated against the conditionals of the view they are being inserted into, while for 'CASCADED CHECK' the new tuples are validated against the conditionals for all views involved (from the top down). This option is part of the SQL specification. Dean Rasheed, reviewed by Pavel Stehule
* Fix pgstattuple functions to use regclass-type as the argument.Fujii Masao2013-07-19
| | | | | | | | | | | | | | This allows us to specify the target relation with several expressions, 'relname', 'schemaname.relname' and OID in all pgstattuple functions. pgstatindex() and pg_relpages() could not accept OID as the argument so far. Per discussion on -hackers, we decided to keep two types of interfaces, with regclass-type and TEXT-type argument, for each pgstattuple function because of the backward-compatibility issue. The functions which have TEXT-type argument will be deprecated in the future release. Patch by Satoshi Nagayasu, reviewed by Rushabh Lathia and Fujii Masao.
* doc: Remove tab from SGML filePeter Eisentraut2013-07-17
|
* Fix typo in previous pgbench --progress patch.Fujii Masao2013-07-18
|
* Use correct parameter name for view_option_valueStephen Frost2013-07-17
| | | | | | | | The documentation for ALTER VIEW had a minor copy-and-paste error in defining the parameters. Noticed when reviewing the WITH CHECK OPTION patch. Backpatch to 9.2 where this was first introduced.
* Implement the FILTER clause for aggregate function calls.Noah Misch2013-07-16
| | | | | | | | | This is SQL-standard with a few extensions, namely support for subqueries and outer references in clause expressions. catversion bump due to change in Aggref and WindowFunc. David Fetter, reviewed by Dean Rasheed.
* Add --progress option to show progress reportTatsuo Ishii2013-07-17
| | | | Patch contributed by Fabien COELHO, reviewed by KONDO Mitsumasa.
* Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.Kevin Grittner2013-07-16
| | | | | | | | | | | | This allows reads to continue without any blocking while a REFRESH runs. The new data appears atomically as part of transaction commit. Review questioned the Assert that a matview was not a system relation. This will be addressed separately. Reviewed by Hitoshi Harada, Robert Haas, Andres Freund. Merged after review with security patch f3ab5d4.
* Allow background workers to be started dynamically.Robert Haas2013-07-16
| | | | | | | | | | | | | | | | | | | | | | | | There is a new API, RegisterDynamicBackgroundWorker, which allows an ordinary user backend to register a new background writer during normal running. This means that it's no longer necessary for all background workers to be registered during processing of shared_preload_libraries, although the option of registering workers at that time remains available. When a background worker exits and will not be restarted, the slot previously used by that background worker is automatically released and becomes available for reuse. Slots used by background workers that are configured for automatic restart can't (yet) be released without shutting down the system. This commit adds a new source file, bgworker.c, and moves some of the existing control logic for background workers there. Previously, there was little enough logic that it made sense to keep everything in postmaster.c, but not any more. This commit also makes the worker_spi contrib module into an extension and adds a new function, worker_spi_launch, which can be used to demonstrate the new facility.
* Document the OVER keyword as being unreserved.Noah Misch2013-07-14
| | | | | | It became so in commit 5893ffa79c03824f34ae3d37f211381fd1c17283. David Fetter, extracted from a larger patch.
* Add session_preload_libraries configuration parameterPeter Eisentraut2013-07-12
| | | | | | | | | | | | | | | This is like shared_preload_libraries except that it takes effect at backend start and can be changed without a full postmaster restart. It is like local_preload_libraries except that it is still only settable by a superuser. This can be a better way to load modules such as auto_explain. Since there are now three preload parameters, regroup the documentation a bit. Put all parameters into one section, explain common functionality only once, update the descriptions to reflect current and future realities. Reviewed-by: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
* Switch user ID to the object owner when populating a materialized view.Noah Misch2013-07-12
| | | | | | | | | | | | | | This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of the object's provenance. REINDEX is an earlier example of this pattern. As a downside, functions called from materialized views must tolerate running in a security-restricted operation. CREATE MATERIALIZED VIEW need not change user ID. Nonetheless, avoid creation of materialized views that will invariably fail REFRESH by making it, too, start a security-restricted operation. Back-patch to 9.3 so materialized views have this from the beginning. Reviewed by Kevin Grittner.
* pg_upgrade: document possible pg_hba.conf optionsBruce Momjian2013-07-11
| | | | | | | | Previously, pg_upgrade docs recommended using .pgpass if using MD5 authentication to avoid being prompted for a password. Turns out pg_ctl never prompts for a password, so MD5 requires .pgpass --- document that. Also recommend 'peer' for authentication too. Backpatch back to 9.1.