summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2012-04-16PL/Python: Improve documentation of nrows() methodPeter Eisentraut
Clarify that nrows() is the number of rows processed, versus the number of rows returned, which can be obtained using len. Also add tests about that.
2012-04-15PL/Python: Fix crash when colnames() etc. called without result setPeter Eisentraut
The result object methods colnames() etc. would crash when called after a command that did not produce a result set. Now they throw an exception. discovery and initial patch by Jean-Baptiste Quenot
2012-04-14Rename synchronous_commit='write' to 'remote_write'.Robert Haas
Fujii Masao, per discussion on pgsql-hackers
2012-04-14pg_size_pretty(numeric)Robert Haas
The output of the new pg_xlog_location_diff function is of type numeric, since it could theoretically overflow an int8 due to signedness; this provides a convenient way to format such values. Fujii Masao, with some beautification by me.
2012-04-14Add description of long options for '-c', '-D', '-l' and '-s'. PerTatsuo Ishii
discussion of hackers list on 2012/3/10 "missing description initdb manual".
2012-04-14Document that VALUES can be used in WITHPeter Eisentraut
2012-04-14Fix typoPeter Eisentraut
Etsuro Fujita
2012-04-13Add Peter Geoghegan as additional author of pg_stat_statements.Robert Haas
2012-04-13Rename bytea_agg to string_agg and add delimiter argumentPeter Eisentraut
Per mailing list discussion, we would like to keep the bytea functions parallel to the text functions, so rename bytea_agg to string_agg, which already exists for text. Also, to satisfy the rule that we don't want aggregate functions of the same name with a different number of arguments, add a delimiter argument, just like string_agg for text already has.
2012-04-13Grammar corrections.Robert Haas
Christoph Berg
2012-04-12Assorted spelling corrections.Tom Lane
Thom Brown
2012-04-11Silently ignore any nonexistent schemas that are listed in search_path.Tom Lane
Previously we attempted to throw an error or at least warning for missing schemas, but this was done inconsistently because of implementation restrictions (in many cases, GUC settings are applied outside transactions so that we can't do system catalog lookups). Furthermore, there were exceptions to the rule even in the beginning, and we'd been poking more and more holes in it as time went on, because it turns out that there are lots of use-cases for having some irrelevant items in a common search_path value. It seems better to just adopt a philosophy similar to what's always been done with Unix PATH settings, wherein nonexistent or unreadable directories are silently ignored. This commit also fixes the documentation to point out that schemas for which the user lacks USAGE privilege are silently ignored. That's always been true but was previously not documented. This is mostly in response to Robert Haas' complaint that 9.1 started to throw errors or warnings for missing schemas in cases where prior releases had not. We won't adopt such a significant behavioral change in a back branch, so something different will be needed in 9.1.
2012-04-11Accept postgres:// URIs in libpq connection functionsAlvaro Herrera
postgres:// URIs are an attempt to "stop the bleeding" in this general area that has been said to occur due to external projects adopting their own syntaxes. The syntaxes supported by this patch: postgres://[user[:pwd]@][unix-socket][:port[/dbname]][?param1=value1&...] postgres://[user[:pwd]@][net-location][:port][/dbname][?param1=value1&...] should be enough to cover most interesting cases without having to resort to "param=value" pairs, but those are provided for the cases that need them regardless. libpq documentation has been shuffled around a bit, to avoid stuffing all the format details into the PQconnectdbParams description, which was already a bit overwhelming. The list of keywords has moved to its own subsection, and the details on the URI format live in another subsection. This includes a simple test program, as requested in discussion, to ensure that interesting corner cases continue to work appropriately in the future. Author: Alexander Shulgin Some tweaking by Álvaro Herrera, Greg Smith, Daniel Farina, Peter Eisentraut Reviewed by Robert Haas, Alexey Klyukin (offlist), Heikki Linnakangas, Marko Kreen, and others Oh, it also supports postgresql:// but that's probably just an accident.
2012-04-10Measure epoch of timestamp-without-time-zone from local not UTC midnight.Tom Lane
This patch reverts commit 191ef2b407f065544ceed5700e42400857d9270f and thereby restores the pre-7.3 behavior of EXTRACT(EPOCH FROM timestamp-without-tz). Per discussion, the more recent behavior was misguided on a couple of grounds: it makes it hard to get a non-timezone-aware epoch value for a timestamp, and it makes this one case dependent on the value of the timezone GUC, which is incompatible with having timestamp_part() labeled as immutable. The other behavior is still available (in all releases) by explicitly casting the timestamp to timestamp with time zone before applying EXTRACT. This will need to be called out as an incompatible change in the 9.2 release notes. Although having mutable behavior in a function marked immutable is clearly a bug, we're not going to back-patch such a change.
2012-04-10Point the URL to PL/py directly to the page about the procedural language.Heikki Linnakangas
It used to point to a top-level page that contains client-side tools as well. It was hard to find the procedural language there.
2012-04-10Fix typos in docs, some words were doubled.Heikki Linnakangas
Thom Brown
2012-04-09Adjust various references to GEQO being non-deterministic.Tom Lane
It's still non-deterministic in some sense ... but given fixed settings and identical planning problems, it will now always choose the same plan, so we probably shouldn't tar it with that brush. Per bug #6565 from Guillaume Cottenceau. Back-patch to 9.0 where the behavior was fixed.
2012-04-09Re-add documentation recommendation to use gzip/gunzip for archive fileBruce Momjian
storage.
2012-04-09Update documentation to more clearly label the streaming replication option.Bruce Momjian
2012-04-09Remove documentation mention of pglesslog, which was added in 2009Bruce Momjian
because there was only a beta for 9.0 and it does not compile on 9.1.
2012-04-09Remove link to ODBCng project from the docs.Heikki Linnakangas
Thom Browne pointed out that the URL was out of date, and Devrim GÜNDÜZ pointed out that the project isn't maintained anymore.
2012-04-06Update URL for pgtclng project.Tom Lane
Thom Brown
2012-04-06Fix some typos in the documentationPeter Eisentraut
Thom Brown
2012-04-06Correct various system catalog/view definitions in the documentationPeter Eisentraut
Thom Brown
2012-04-06Dept of second thoughts: improve the API for AnalyzeForeignTable.Tom Lane
If we make the initially-called function return the table physical-size estimate, acquire_inherited_sample_rows will be able to use that to allocate numbers of samples among child tables, when the day comes that we want to support foreign tables in inheritance trees.
2012-04-06Allow statistics to be collected for foreign tables.Tom Lane
ANALYZE now accepts foreign tables and allows the table's FDW to control how the sample rows are collected. (But only manual ANALYZEs will touch foreign tables, for the moment, since among other things it's not very clear how to handle remote permissions checks in an auto-analyze.) contrib/file_fdw is extended to support this. Etsuro Fujita, reviewed by Shigeru Hanada, some further tweaking by me.
2012-04-06Add DROP INDEX CONCURRENTLY [IF EXISTS], uses ShareUpdateExclusiveLockSimon Riggs
2012-04-05Allow pg_archivecleanup to strip optional file extensions.Robert Haas
Greg Smith and Jaime Casanova, reviewed by Alex Shulgin and myself. e
2012-04-05Publish checkpoint timing information to pg_stat_bgwriter.Robert Haas
Greg Smith, Peter Geoghegan, and Robert Haas
2012-04-05Correctly explain units used by function-timing stats functions.Robert Haas
The views are in milliseconds, but the raw functions return microseconds.
2012-04-05Expose track_iotiming data via the statistics collector.Robert Haas
Ants Aasma's original patch to add timing information for buffer I/O requests exposed this data at the relation level, which was judged too costly. I've here exposed it at the database level instead.
2012-04-04Improve efficiency of dblink by using libpq's new row processor API.Tom Lane
This patch provides a test case for libpq's row processor API. contrib/dblink can deal with very large result sets by dumping them into a tuplestore (which can spill to disk) --- but until now, the intermediate storage of the query result in a PGresult meant memory bloat for any large result. Now we use a row processor to convert the data to tuple form and dump it directly into the tuplestore. A limitation is that this only works for plain dblink() queries, not dblink_send_query() followed by dblink_get_result(). In the latter case we don't know the desired tuple rowtype soon enough. While hack solutions to that are possible, a different user-level API would probably be a better answer. Kyotaro Horiguchi, reviewed by Marko Kreen and Tom Lane
2012-04-04Add a "row processor" API to libpq for better handling of large results.Tom Lane
Traditionally libpq has collected an entire query result before passing it back to the application. That provides a simple and transactional API, but it's pretty inefficient for large result sets. This patch allows the application to process each row on-the-fly instead of accumulating the rows into the PGresult. Error recovery becomes a bit more complex, but often that tradeoff is well worth making. Kyotaro Horiguchi, reviewed by Marko Kreen and Tom Lane
2012-04-03Add support for renaming domain constraintsPeter Eisentraut
2012-03-28Improve contrib/pg_stat_statements to lump "similar" queries together.Tom Lane
pg_stat_statements now hashes selected fields of the analyzed parse tree to assign a "fingerprint" to each query, and groups all queries with the same fingerprint into a single entry in the pg_stat_statements view. In practice it is expected that queries with the same fingerprint will be equivalent except for values of literal constants. To make the display more useful, such constants are replaced by "?" in the displayed query strings. This mechanism currently supports only optimizable queries (SELECT, INSERT, UPDATE, DELETE). Utility commands are still matched on the basis of their literal query strings. There remain some open questions about how to deal with utility statements that contain optimizable queries (such as EXPLAIN and SELECT INTO) and how to deal with expiring speculative hashtable entries that are made to save the normalized form of a query string. However, fixing these issues should require only localized changes, and since there are other open patches involving contrib/pg_stat_statements, it seems best to go ahead and commit what we've got. Peter Geoghegan, reviewed by Daniel Farina
2012-03-28Tweak markup to avoid extra whitespace in man pagesPeter Eisentraut
2012-03-28Doc fix for pg_test_timing.Robert Haas
Fujii Masao
2012-03-27pg_test_timing utility, to measure clock monotonicity and timing cost.Robert Haas
Ants Aasma, Greg Smith
2012-03-27Expose track_iotiming information via pg_stat_statements.Robert Haas
Ants Aasma, reviewed by Greg Smith, with very minor tweaks by me.
2012-03-27New GUC, track_iotiming, to track I/O timings.Robert Haas
Currently, the only way to see the numbers this gathers is via EXPLAIN (ANALYZE, BUFFERS), but the plan is to add visibility through the stats collector and pg_stat_statements in subsequent patches. Ants Aasma, reviewed by Greg Smith, with some further changes by me.
2012-03-26Improve PL/Python database access function documentationPeter Eisentraut
Organize the function descriptions as a list instead of running text, for easier access.
2012-03-23Code review for protransform patches.Tom Lane
Fix loss of previous expression-simplification work when a transform function fires: we must not simply revert to untransformed input tree. Instead build a dummy FuncExpr node to pass to the transform function. This has the additional advantage of providing a simpler, more uniform API for transform functions. Move documentation to a somewhat less buried spot, relocate some poorly-placed code, be more wary of null constants and invalid typmod values, add an opr_sanity check on protransform function signatures, and some other minor cosmetic adjustments. Note: although this patch touches pg_proc.h, no need for catversion bump, because the changes are cosmetic and don't actually change the intended catalog contents.
2012-03-22Clarify that PQconninfoParse returns an array with all legal options.Robert Haas
Per discussion with Dmitriy Igrishin and Tom Lane.
2012-03-22Doc clarifications regarding use of varlena.Robert Haas
Jay Levitt, reviewed by Tom Lane.
2012-03-22Update docs on numeric storage requirements.Robert Haas
Since 9.1, the minimum overhead is three bytes, not five. Fujii Masao
2012-03-22If a role has a password expiration date, show that in psql's \du output.Tom Lane
Per a suggestion from Euler Taveira, it seems like a good idea to include this information in \du (and \dg) output. This costs nothing for people who are not using the VALID UNTIL feature, while for those who are, it's rather critical information. Fabrízio de Royes Mello
2012-03-22Fix configure's search for collateindex.pl.Tom Lane
PGAC_PATH_COLLATEINDEX supposed that it could use AC_PATH_PROGS to search for collateindex.pl, but that macro will only accept files that are marked executable, and at least some DocBook installations don't mark the script executable (a case the docs Makefile was already prepared for). Accept the script if it's present and readable in $DOCBOOKSTYLE/bin, and otherwise search the PATH as before. Having fixed that up, we don't need the fallback case that was in the docs Makefile, and instead can throw an understandable error if configure didn't find the script. Per recent trouble report from John Lumby.
2012-03-21Doc updates for index-only scans.Robert Haas
Document that routine vacuuming is now also important for the purpose of index-only scans; and mention in the section that describes the visibility map that it is used to implement index-only scans. Marti Raudsepp, with some changes by me.
2012-03-20Improve the -l (limit) option recently added to contrib/vacuumlo.Tom Lane
Instead of just stopping after removing an arbitrary subset of orphaned large objects, commit and start a new transaction after each -l objects. This is just as effective as the original patch at limiting the number of locks used, and it doesn't require doing the OID collection process repeatedly to get everything. Since the option no longer changes the fundamental behavior of vacuumlo, and it avoids a known server-side limitation, enable it by default (with a default limit of 1000 LOs per transaction). In passing, be more careful about properly quoting the names of tables and fields, and do some other cosmetic cleanup.
2012-03-20Fix trigger example code to match header changesAlvaro Herrera
I should have done this in b93f5a5673b4bb09e14eb80fe28aa21fc20a6271 but didn't notice the problem at the time. Per report from Marco Nenciarini