Commit Graph

9656 Commits

Author SHA1 Message Date
Peter Eisentraut
6c74c9dad8 Correct my overly enthusiastic CSS simplification. 2009-08-26 21:18:29 +00:00
Peter Eisentraut
ae3da8ad40 Update the documentation CSS stylesheet to current web site style 2009-08-26 13:56:24 +00:00
Tom Lane
8bed238c87 Try to make silent_mode behave somewhat reasonably.
Instead of sending stdout/stderr to /dev/null after forking away from the
terminal, send them to postmaster.log within the data directory.  Since
this opens the door to indefinite logfile bloat, recommend even more
strongly that log output be redirected when using silent_mode.

Move the postmaster's initial calls of load_hba() and load_ident() down
to after we have started the log collector, if we are going to.  This
is so that errors reported by them will appear in the "usual" place.

Reclassify silent_mode as a LOGGING_WHERE, not LOGGING_WHEN, parameter,
since it's got absolutely nothing to do with the latter category.

In passing, fix some obsolete references to -S ... this option hasn't
had that switch letter for a long time.

Back-patch to 8.4, since as of 8.4 load_hba() and load_ident() are more
picky (and thus more likely to fail) than they used to be.  This entire
change was driven by a complaint about those errors disappearing into
the bit bucket.
2009-08-24 20:08:32 +00:00
Bruce Momjian
1710800813 Remove tabs from SGML. 2009-08-20 12:12:37 +00:00
Peter Eisentraut
c9ebd16dfa Alter release note item about PL/pgSQL functions and dropped columns.
per Pavel Stehule
2009-08-19 08:18:48 +00:00
Peter Eisentraut
215988f766 Update alpha release notes to current. 2009-08-19 07:54:21 +00:00
Tom Lane
be4cd18f71 Allow mixing of traditional and SQL:2008 LIMIT/OFFSET syntax. Being rigid
about it doesn't simplify the grammar at all, and it does invite confusion
among those who only read the SELECT syntax summary and not the full details.
Per gripe from Jaime Casanova.
2009-08-18 23:40:20 +00:00
Peter Eisentraut
e31b35faa5 Remove duplicate from release notes, and reorganize slightly. 2009-08-18 16:54:12 +00:00
Teodor Sigaev
92e05bc6a5 Unaccent dictionary. 2009-08-18 10:34:39 +00:00
Peter Eisentraut
77dfb64df4 Add release notes for 8.5alpha1 2009-08-17 22:14:44 +00:00
Peter Eisentraut
42d2470c38 Make version.sgml depend on configure instead of Makefile.global. This
cheats a bit, but it avoids unsatisfied dependencies in distribution
tarballs.  (found by make distcheck)
2009-08-17 21:29:30 +00:00
Tom Lane
26a90c654f Fix imprecise documentation of random(): it never returns 1.0.
This was changed in 8.2 but the documentation was not corrected.
Per gripe from Sam Mason.
2009-08-16 19:55:21 +00:00
Tom Lane
b328853733 Make sure that 'make distclean' cleans out all files that are not meant
to be shipped.  Also, allow 'make clean' to remove intermediate working files.
2009-08-15 01:56:35 +00:00
Peter Eisentraut
1a6d678f00 Clarify the documentation about PL/Perl nested subroutines, per Josh
Berkus.
2009-08-15 00:33:12 +00:00
Teodor Sigaev
abd8c94ff9 Add prefix support for synonym dictionary 2009-08-14 14:53:20 +00:00
Tom Lane
5d3e2324a6 The html-stamp and man-stamp files also need to be cvsignore'd. 2009-08-12 21:03:52 +00:00
Peter Eisentraut
ef7574eb01 Document the minimum required Python version.
It turns out that Python 2.2 is the oldest version that PL/Python compiles
with, apparently related to the introduction of iterators.  Might as well
document this.
2009-08-12 16:32:35 +00:00
Peter Eisentraut
f4a4aec4b3 Add .cvsignore entries for documentation files 2009-08-11 22:22:15 +00:00
Peter Eisentraut
99909881fb Remove unnecessary files from distribution 2009-08-11 22:21:51 +00:00
Peter Eisentraut
a16461dfad Simplify and speed up man page installation 2009-08-11 21:53:06 +00:00
Alvaro Herrera
61c4513cc9 Refactor some $(JADE.tex.call)s 2009-08-11 20:16:03 +00:00
Bruce Momjian
6f44878018 Remove tab in SGML. 2009-08-11 12:02:58 +00:00
Alvaro Herrera
6c157684c7 Fix URL to "The Hitch-Hiker's Guide to Evolutionary Computation".
Per Andreas Wenk, Andres Freund and Rob Wultsh.  Thanks, Robert Haas, for the
patch.
2009-08-10 22:41:38 +00:00
Alvaro Herrera
59ab8c6c73 Fix number of columns declared for pg_user_mappings description table. 2009-08-10 22:13:50 +00:00
Tom Lane
e61fd4ac74 Support EEEE (scientific notation) in to_char().
Pavel Stehule, Brendan Jurd
2009-08-10 18:29:27 +00:00
Tom Lane
f3f6737af9 Adjust extract(epoch) example to clarify that it includes fractional
seconds, per gripe from Richard Neill.  Also, add a cross-reference to
the to_timestamp function.
2009-08-10 16:10:19 +00:00
Tom Lane
9bd27b7c9e Extend EXPLAIN to support output in XML or JSON format.
There are probably still some adjustments to be made in the details
of the output, but this gets the basic structure in place.

Robert Haas
2009-08-10 05:46:50 +00:00
Andrew Dunstan
18894c401f Re-add documentation for --no-readline option of psql, mistakenly removed a decade ago. Backpatch to release 7.4. 2009-08-10 02:39:04 +00:00
Peter Eisentraut
ed9208829a Ship documentation without intermediate tarballs
Documentation files in HTML and man formats are now prepared for
distribution using the distprep make target, like everything else.  They
are placed in doc/src/sgml/html and manX and installed from there by
make install, if present.  The business with the tarballs in the tarball
is gone.
2009-08-09 22:47:59 +00:00
Alvaro Herrera
05f43650fc Document that autovacuum may run ANALYZE 2009-08-07 20:54:31 +00:00
Peter Eisentraut
7798147a76 Expand test coverage support to entire tree
Test coverage support now covers the entire source tree, including
contrib, instead of just src/backend.  In a related but independent
development, the commands make coverage and make coverage-html can be run
in any directory.

This turned out to be much easier than feared.  Besides a few ad hoc fixes
to pass the make target down the tree, change all affected makefiles to
list their directories in the SUBDIRS variable, changed from variants like
DIRS and WANTED_DIRS.  MSVC build fix was attempted as well.
2009-08-07 20:50:22 +00:00
Alvaro Herrera
6403c35ee6 Fix manpages related to SPI functions.
This patch adds declaration so that they end up in section 3, and adds
them to the Makefiles to install them.

Also, some synopses needed reflowing so that they look nice in 80-column
terminals.
2009-08-05 19:31:50 +00:00
Tom Lane
25bd9ce31b Add matchorig, matchsynonyms, and keepsynonyms options to contrib/dict_xsyn.
Sergey Karpov
2009-08-05 18:06:49 +00:00
Joe Conway
f4095b4c4b Implement dblink_get_notify().
Adds the ability to retrieve async notifications using dblink,
via the addition of the function dblink_get_notify(). Original patch
by Marcus Kempe, suggestions by Tom Lane and Alvaro Herrera, patch
review and adjustments by Joe Conway.
2009-08-05 16:11:07 +00:00
Peter Eisentraut
c29d7f02c2 Use DocBook XSL stylesheets for man page building
This switches the man page building process to use the DocBook XSL stylesheet
toolchain.  The previous targets for Docbook2X are removed. configure has been
updated to look for the new tools.  The Documentation appendix contains the
new build instructions.  There are also a few isolated tweaks in the
documentation to improve places that came out strangely in the man pages.
2009-08-04 22:04:37 +00:00
Tom Lane
a2a8c7a662 Support hex-string input and output for type BYTEA.
Both hex format and the traditional "escape" format are automatically
handled on input.  The output format is selected by the new GUC variable
bytea_output.

As committed, bytea_output defaults to HEX, which is an *incompatible
change*.  We will keep it this way for awhile for testing purposes, but
should consider whether to switch to the more backwards-compatible
default of ESCAPE before 8.5 is released.

Peter Eisentraut
2009-08-04 16:08:37 +00:00
Tom Lane
f192e4a5d0 Cause pg_proc.probin to be declared as text, not bytea. Everything was
already treating it as text anyway, to the point that I couldn't find anything
to change except the datatype markings in catalog/*.h.  The only effect that
the bytea declaration had was to cause byteaout() to be invoked when pg_dump
(or another client program) inspected the column value.  Since pg_dump wasn't
expecting that, but just treating what it got as text, the net result is that
dump and reload would mangle any backslashes or non-ASCII characters in the
filename string for a C-language function.  That is a very long-standing bug,
but given the lack of field complaints it doesn't seem worth trying to find
a back-patchable fix.  We'll just make this change to fix it going forward.

This change will also forestall problems after the planned change to let bytea
emit hex output instead of escaped characters.
2009-08-04 04:04:12 +00:00
Joe Conway
be6bca23b3 Implement has_sequence_privilege()
Add family of functions that did not exist earlier,
mainly due to historical omission. Original patch by
Abhijit Menon-Sen, with review and modifications by
Joe Conway. catversion.h bumped.
2009-08-03 21:11:40 +00:00
Tom Lane
7ffb14f9db Portability and documentation fixes for threaded pgbench patch. 2009-08-03 18:30:55 +00:00
Tatsuo Ishii
3da0dfb4b1 Multi-threaded version of pgbench contributed by ITAGAKI Takahiro,
reviewed by Greg Smith and Josh Williams.

Following is the proposal from ITAGAKI Takahiro:

Pgbench is a famous tool to measure postgres performance, but nowadays
it does not work well because it cannot use multiple CPUs. On the other
hand, postgres server can use CPUs very well, so the bottle-neck of
workload is *in pgbench*.

Multi-threading would be a solution. The attached patch adds -j
(number of jobs) option to pgbench. If the value N is greater than 1,
pgbench runs with N threads. Connections are equally-divided into
them (ex. -c64 -j4 => 4 threads with 16 connections each). It can
run on POSIX platforms with pthread and on Windows with win32 threads.

Here are results of multi-threaded pgbench runs on Fedora 11 with intel
core i7 (8 logical cores = 4 physical cores * HT). -j8 (8 threads) was
the best and the tps is 4.5 times of -j1, that is a traditional result.

$ pgbench -i -s10
$ pgbench -n -S -c64 -j1   =>  tps = 11600.158593
$ pgbench -n -S -c64 -j2   =>  tps = 17947.100954
$ pgbench -n -S -c64 -j4   =>  tps = 26571.124001
$ pgbench -n -S -c64 -j8   =>  tps = 52725.470403
$ pgbench -n -S -c64 -j16  =>  tps = 38976.675319
$ pgbench -n -S -c64 -j32  =>  tps = 28998.499601
$ pgbench -n -S -c64 -j64  =>  tps = 26701.877815

Is it acceptable to use pthread in contrib module?
If ok, I will add the patch to the next commitfest.
2009-08-03 15:18:14 +00:00
Tom Lane
9072592946 Add ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT
Robert Haas
2009-08-02 22:14:53 +00:00
Tom Lane
25d9bf2e3e Support deferrable uniqueness constraints.
The current implementation fires an AFTER ROW trigger for each tuple that
looks like it might be non-unique according to the index contents at the
time of insertion.  This works well as long as there aren't many conflicts,
but won't scale to massive unique-key reassignments.  Improving that case
is a TODO item.

Dean Rasheed
2009-07-29 20:56:21 +00:00
Tom Lane
c1b9ec24ef Add system catalog columns pg_constraint.conindid and pg_trigger.tgconstrindid.
conindid is the index supporting a constraint.  We can use this not only for
unique/primary-key constraints, but also foreign-key constraints, which
depend on the unique index that constrains the referenced columns.
tgconstrindid is just copied from the constraint's conindid field, or is
zero for triggers not associated with constraints.

This is mainly intended as infrastructure for upcoming patches, but it has
some virtue in itself, since it exposes a relationship that you formerly
had to grovel in pg_depend to determine.  I simplified one information_schema
view accordingly.  (There is a pg_dump query that could also use conindid,
but I left it alone because it wasn't clear it'd get any faster.)
2009-07-28 02:56:31 +00:00
Tom Lane
d4382c4ae7 Extend EXPLAIN to allow generic options to be specified.
The original syntax made it difficult to add options without making them
into reserved words.  This change parenthesizes the options to avoid that
problem, and makes provision for an explicit (and perhaps non-Boolean)
value for each option.  The original syntax is still supported, but only
for the two original options ANALYZE and VERBOSE.

As a test case, add a COSTS option that can suppress the planner cost
estimates.  This may be useful for including EXPLAIN output in the regression
tests, which are otherwise unable to cope with cross-platform variations in
cost estimates.

Robert Haas
2009-07-26 23:34:18 +00:00
Tom Lane
a07e5acebb Code review for FORCE QUOTE * patch: fix error checking to consider FORCE
QUOTE * as a variety of FORCE QUOTE, and update psql documentation to include
the option.  (The actual psql code doesn't seem to need any changes.)
2009-07-25 17:04:19 +00:00
Andrew Dunstan
de7531a971 Allow * as parameter for FORCE QUOTE for COPY CSV. Itagaki Takahiro. 2009-07-25 00:07:14 +00:00
Peter Eisentraut
5e22994127 Document \dg+ and \du+
The fact that \dg and \du take the + option was missing in the documentation.

backpatched to 8.4

Author: Andreas Wenk <a.wenk@netzmeister-st-pauli.de>
2009-07-24 19:35:44 +00:00
Andrew Dunstan
00f0b47539 Update location to download flex for building on Windows. 2009-07-23 17:06:48 +00:00
Peter Eisentraut
2afa73a9e8 Clarify NULLIF example
found by "Vesa-Matti J Kari" <vmkari@cc.helsinki.fi>
2009-07-22 18:07:26 +00:00
Tom Lane
ca7c8168de Tweak TOAST code so that columns marked with MAIN storage strategy are
not forced out-of-line unless that is necessary to make the row fit on a
page.  Previously, they were forced out-of-line if needed to get the row
down to the default target size (1/4th page).

Kevin Grittner
2009-07-22 01:21:22 +00:00
Peter Eisentraut
f3f45c87d2 Remove translated FAQs
The English FAQ has been moved to the wiki, so the translated versions should
have been removed at that point as well.

The FAQ_MINGW.html should have been removed when the platform FAQs were
integrated into the documentation (or earlier).

applied to both 8.4 and 8.5
2009-07-21 19:20:33 +00:00
Peter Eisentraut
7405f2cc85 Small additional clean from the rearrangement of the HTML index build rules 2009-07-20 18:34:58 +00:00
Andrew Dunstan
e73131a16a DROP IF EXISTS for columns and constraints. Andres Freund. 2009-07-20 02:42:28 +00:00
Tom Lane
f5bc74192d Make GEQO's planning deterministic by having it start from a predictable
random number seed each time.  This is how it used to work years ago, but
we got rid of the seed reset because it was resetting the main random()
sequence and thus having undesirable effects on the rest of the system.
To fix, establish a private random number state for each execution of
geqo(), and initialize the state using the new GUC variable geqo_seed.
People who want to experiment with different random searches can do so
by changing geqo_seed, but you'll always get the same plan for the same
value of geqo_seed (if holding all other planner inputs constant, of course).

The new state is kept in PlannerInfo by adding a "void *" field reserved
for use by join_search hooks.  Most of the rather bulky code changes in
this commit are just arranging to pass PlannerInfo around to all the GEQO
functions (many of which formerly didn't receive it).

Andres Freund, with some editorialization by Tom
2009-07-16 20:55:44 +00:00
Peter Eisentraut
4ef8dc7a75 Rearrangement of the HTML docs build rules
Set up proper makefile dependencies in the documentation build rules,
especially around the HTML/index build.  The problem we've had with all
previous solutions is that we have used the same file name, such as HTML.index
or bookindex.sgml, to mean different things at different stages of the build,
and make can't distinguish that.  The solution here is that the first jade run
produces HTML.index, but does not require bookindex.sgml at all, and produces
no other html output (the latter an idea from Alvaro).  The second jade run
includes bookindex.sgml, but does not recreate HTML.index.  That way, when you
change an sgml file, jade is run twice and at the end all dependencies are
satisfied.  Omitting the html output in the first stage also makes the full
build a lot faster.

When you run one of the print format targets, only the first jade run is run,
then the print target-specific commands.  If an HTML build has completed
previously, the first jade run is skipped because the dependencies have
already been satisfied.

The draft and check targets for quick builds and syntax verification are still
there.
2009-07-14 22:16:38 +00:00
Peter Eisentraut
d1ba29420b Update information schema to SQL:2008
- yes_or_no domain for "boolean" data
 - new columns for VIEWS view
 - slight section renumbering
2009-07-13 20:25:57 +00:00
Tom Lane
da4b900176 Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, and
update documentation accordingly.  This is required in order to have support
for a reentrant scanner.  I'm committing this bit separately in order to have
an easy reference if we later decide to make the minimum something different
(like 2.5.33).
2009-07-13 01:51:56 +00:00
Peter Eisentraut
23d830bd9a Alter some gratuitous uses of "ANSI" when "SQL standard" might have been
meant or the reference to a standard was unnecessary.
2009-07-11 21:15:32 +00:00
Peter Eisentraut
c95db342e7 Correct what ISO stands for 2009-07-11 21:13:21 +00:00
Tom Lane
53e7229258 Add missing HOUR TO SECOND option to list of possible INTERVAL field sets,
as noted by Sebastien Flaesch.  Also update the claim that we simply throw
away fields outside this set --- that got changed later to only discard
less-significant fields.
2009-07-08 17:21:55 +00:00
Peter Eisentraut
e292dbcf54 More sensible character_octet_length
For character types with typmod, character_octet_length columns in the
information schema now show the maximum character length times the
maximum length of a character in the server encoding, instead of some
huge value as before.
2009-07-07 18:23:15 +00:00
Peter Eisentraut
f39df967e9 Add log_line_prefix placeholder %e to contain the current SQL state
Author: Guillaume Smet <guillaume.smet@gmail.com>
2009-07-03 19:14:25 +00:00
Tom Lane
47f6699d00 Remove useless References column for pg_listener catalog description. Per Shigehiro Honda. 2009-07-01 23:57:33 +00:00
Tom Lane
f4ab0b032b Stamp HEAD as 8.5devel. 2009-07-01 23:15:55 +00:00
Tom Lane
4d53a2f969 Revert addition of "o" to tar options. This was intended to fix bug #4883,
but the cure appears to be worse than the disease.  It turns out that GNU
tar versions 1.14.x misinterpret -o as --same-owner, not --no-same-owner,
leading to exactly the wrong behavior for both root and nonroot users.
While that bug has been fixed for nearly five years, these tar versions
are still found in the wild, notably in OS X 10.4.  Given that #4883 was
the first complaint we'd heard, it's definitely not worth fixing at the
risk of breaking things for other users.  Perhaps revisit at a later date
when we're not up against a release deadline.
2009-06-27 21:06:46 +00:00
Marc G. Fournier
41f467f343 Bundle v8.4.0 2009-06-27 00:14:47 +00:00
Tom Lane
730e1a9c95 Update release notes in final preparation for 8.4.0. 2009-06-26 22:23:17 +00:00
Tom Lane
9d6469c9b2 Add a note about SystemTap vs DTrace spelling of probe names. 2009-06-26 22:08:17 +00:00
Tom Lane
df858fe58a Marginal improvement of description of recovery_end_command. 2009-06-26 22:06:11 +00:00
Peter Eisentraut
a87a1e5428 Extract tarballs with "o" option (tar xof), to behave reasonably when run
as root, as would usually be the case during make install.

per bug #4883
2009-06-26 06:40:57 +00:00
Peter Eisentraut
6bcdb8aa85 Use $(TAR) instead of tar in makefiles. 2009-06-26 06:37:14 +00:00
Peter Eisentraut
e6b8f47047 Man pages back to lowercase names, with additional fixup to make the .so
links work.
2009-06-25 21:15:38 +00:00
Heikki Linnakangas
8fd733bd19 Disable pg_standby -l option because the backend doesn't expect the recovered
file to be a symlink. We tried to fix this issue with an earlier server-side
patch, but it didn't fix the whole issue.

The same bug is present in older releases as well, but the 8.4 train is
about to leave the station, and I'm not sure if have consensus on whether
we can remove the -l option in back-branches or do we need to attempt a
server-side fix to make symlinking safe.

Patch by Simon Riggs, per discussion on bug identified by Fujii Masao.
2009-06-25 12:03:11 +00:00
Magnus Hagander
286518e6f4 Fix incorrect LDAP example, noted by Tom. 2009-06-24 13:46:32 +00:00
Tom Lane
d82e9f72b9 Provide a link to the UPDATE reference page in the 'Updating Data'
section of the docs.  Per suggestion from Brad Bowman.
2009-06-23 20:33:25 +00:00
Tom Lane
8d355d7bbf Fix the makefiles to fail cleanly if Perl is needed but not present. This
used to work as intended, but got broken some time ago (a quoted empty string
is not an empty string), and got broken some more by the changes to generate
ecpg's preproc.y automatically.  Given all the unprotected uses of $(PERL)
elsewhere, it seems best to make use of the $(missing) script rather than
trying to ensure each such use is protected individually.  Also fix various
bits of documentation that omitted to mention Perl as a requirement for
building from a CVS pull.  Per a complaint from Robert Haas.
2009-06-23 03:46:00 +00:00
Marc G. Fournier
bc00ceb159 bundle RC2 2009-06-22 23:15:02 +00:00
Peter Eisentraut
18df0ffbd2 Add more explicit note that the parameters of MOVE are identical to FETCH.
per David Wheeler
2009-06-22 07:12:50 +00:00
Tom Lane
82480e28f5 Fix things so that array_agg_finalfn does not modify or free its input
ArrayBuildState, per trouble report from Merlin Moncure.  By adopting
this fix, we are essentially deciding that aggregate final-functions
should not modify their inputs ever.  Adjust documentation and comments
to match that conclusion.
2009-06-20 18:45:28 +00:00
Peter Eisentraut
87698ffa8e Extend man page installation hackery so that the man page section is also
fixed up in the .so links.
2009-06-19 19:15:13 +00:00
Peter Eisentraut
c79b4505c1 Don't convert the man page names to lower case, so that the .so links work.
This is pretty much a workaround for incomplete tools, but having the man
page names in upper case looks more natural anyway.
2009-06-19 19:14:25 +00:00
Peter Eisentraut
6f1286c12d Add manvolnum, so that man pages are generated. 2009-06-19 15:28:25 +00:00
Peter Eisentraut
a091ac46ca Don't attempt to "rm" directories on uninstall. 2009-06-18 15:10:35 +00:00
Peter Eisentraut
95289ea90b Recursive Joins -> Recursive Queries
per Erik Rijkers
2009-06-18 14:42:08 +00:00
Peter Eisentraut
9405b16f3a Add some more documentation and cross-links on using dblink with SQL/MED. 2009-06-18 14:34:36 +00:00
Peter Eisentraut
12bc87e09b Refine the use of terminology around bound and unbound cursors and cursor
variables. Remove the confusing term "reference cursor".
2009-06-18 10:22:09 +00:00
Tom Lane
c30446b9c9 Proofreading for Bruce's recent round of documentation proofreading.
Most of those changes were good, but some not so good ...
2009-06-17 21:58:49 +00:00
Peter Eisentraut
5126826c52 Add another link of a GUC variable to where it is explained. 2009-06-17 13:59:28 +00:00
Tom Lane
a0a3883dd9 Improve documentation about GiST opclass support functions.
Dimitri Fontaine
2009-06-12 19:48:53 +00:00
Tom Lane
63e183ca46 Add info about minimum recommended AIX fix levels, per Laurenz Albe. 2009-06-12 15:53:32 +00:00
Marc G. Fournier
35daaa91d3 time to tag rc1 ... 2009-06-12 05:19:22 +00:00
Tom Lane
ae8a2d1a3a Update release notes to today. 2009-06-11 21:44:26 +00:00
Tom Lane
db16e77349 Remove our inadequate kluge that tried to get AIX's various broken versions
of getaddrinfo() to work.  Instead, recommend updating the OS to get a working
version of getaddrinfo.  Per recent discussions.
2009-06-11 19:00:15 +00:00
Tom Lane
14180f9214 Add warning that xpath() doesn't work with non-UTF8 data. 2009-06-10 20:25:41 +00:00
Tom Lane
661b3e79c4 Add a warning about possible strange behavior of volatile functions
in cursors.  This has always been the case, but given the lack of user
complaints about it, I'm not going to bother back-patching this.
2009-06-10 19:21:37 +00:00
Peter Eisentraut
208d3a7555 Correct/improve the datetime_precision field in the information schema.
In particular, always show 0 for the date type instead of null, and show
6 (the default) for time, timestamp, and interval without a declared
precision.  This is now in fuller conformance with the SQL standard.

Also clarify the documentation about this.

discovered and analyzed by Konstantin Izmailov and Tom Lane
2009-06-10 07:03:34 +00:00
Tom Lane
a1fd650d2b Fix contrib/pageinspect to not create an ABI breakage between 8.3 and 8.4.
The original implementation of the 3-argument form of get_raw_page() risked
core dumps if the 8.3 SQL function definition was mistakenly used with the
8.4 module, which is entirely likely after a dump-and-reload upgrade.  To
protect 8.4 beta testers against upgrade problems, add a check on PG_NARGS.

In passing, fix missed additions to the uninstall script, and polish the
docs a trifle.
2009-06-08 16:22:44 +00:00
Tom Lane
506183e485 Be a bit more verbose about the effects of string literal processing
changes in plpgsql.  Per bug #4843.
2009-06-08 14:57:21 +00:00
Tom Lane
156475a589 Revert my patch of 2009-04-04 that removed contrib/intarray's definitions of
the <@ and @> operators.  These are not in fact equivalent to the built-in
anyarray operators of the same names, because they have different behavior for
empty arrays, namely they don't think empty arrays are contained in anything.
That is mathematically wrong, no doubt, but until we can persuade GIN indexes
to implement the mathematical definition we should probably not change this.
Another reason for not changing it now is that we can't yet ensure the
opclasses will be updated correctly in a dump-and-reload upgrade.  Per
recent discussions.
2009-06-07 20:09:34 +00:00
Joe Conway
4334695b30 Add support for using SQL/MED compliant FOREIGN DATA WRAPPER, SERVER,
and USER MAPPING as method to supply dblink connect parameters. Per
mailing list and PGCon discussions.
2009-06-06 21:27:56 +00:00
Bruce Momjian
7aace98bf6 Remove sleep() from backup script example; not needed anymore.
Fujii Masao
2009-06-05 13:40:31 +00:00
Tom Lane
76d4abf2d9 Improve the recently-added support for properly pluralized error messages
by extending the ereport() API to cater for pluralization directly.  This
is better than the original method of calling ngettext outside the elog.c
code because (1) it avoids double translation, which wastes cycles and in
the worst case could give a wrong result; and (2) it avoids having to use
a different coding method in PL code than in the core backend.  The
client-side uses of ngettext are not touched since neither of these concerns
is very pressing in the client environment.  Per my proposal of yesterday.
2009-06-04 18:33:08 +00:00
Bruce Momjian
5d682cab65 Wording improvement for recent sesssion identifier SQL query. 2009-06-03 20:34:29 +00:00
Bruce Momjian
44ead23384 Add example of how to generate the session identifier from pg_stat_activity. 2009-06-03 00:38:34 +00:00
Tom Lane
ade91586ea Remove the old advice to keep from_collapse_limit less than geqo_threshold,
instead just pointing out that a larger value may trigger use of GEQO.
Per Robert Haas.

In passing, do a bit of wordsmithing on the Genetic Query Optimizer section.
2009-06-02 17:37:55 +00:00
Bruce Momjian
400fb19a30 Document that forking while having open libpq connections is not
advised.
2009-05-28 20:02:10 +00:00
Tom Lane
ee3980ebf3 Improve release note explanation of the change in libpq's handling of
default usernames versus Kerberos tickets.  Per confusion about what
bug #4824 was really about.
2009-05-27 22:12:53 +00:00
Bruce Momjian
fa89e18f09 Remove tabs from SGML file. 2009-05-27 12:28:55 +00:00
Tom Lane
253ff58a1d Improve documentation about function volatility: mention the snapshot
visibility effects in a couple of places where people are likely to look
for it.  Per discussion of recent question from Karl Nack.
2009-05-27 01:18:06 +00:00
Tom Lane
48938ab506 Allow the second argument of pg_get_expr() to be just zero when deparsing
an expression that's not supposed to contain variables.  Per discussion
with Gevik Babakhani, this eliminates the need for an ugly kluge (namely,
specifying some unrelated relation name).  Remove one such kluge from
pg_dump.
2009-05-26 17:36:05 +00:00
Peter Eisentraut
9c4c70321d Refer to tables by id, not by "the following table", because tables are in
theory floating elements.
2009-05-18 11:08:24 +00:00
Peter Eisentraut
263144140f Some documentation cleanup for the addition of the KOI8U encoding. Change
all (remaining) mentions of KOI8 to the new canonical form KOI8R.  Add
information about the available conversions for KOI8U.
2009-05-18 08:59:29 +00:00
Tom Lane
606f5d1763 Minor copy-editing for description of partial-table vacuuming. 2009-05-16 22:51:24 +00:00
Tom Lane
03a5ff0d1a Minor editorialization on storage.sgml's documentation of free space
maps.
2009-05-16 22:03:53 +00:00
Tom Lane
2d6e2323a4 Make an editorial pass over the Client Authentication material. 2009-05-16 21:17:21 +00:00
Marc G. Fournier
abc924519a commit for BETA2 2009-05-15 02:18:27 +00:00
Tom Lane
1b6f549de5 Update release notes to today. 2009-05-14 22:17:28 +00:00
Tom Lane
a6df05356e Clean up overly hasty docs patch for pg_standby. 2009-05-14 21:59:22 +00:00
Heikki Linnakangas
b3aac077c3 Add a note to release notes about the smart failover mode in pg_standby. 2009-05-14 21:01:49 +00:00
Heikki Linnakangas
9e403c2587 Add recovery_end_command option to recovery.conf. recovery_end_command
is run at the end of archive recovery, providing a chance to do external
cleanup. Modify pg_standby so that it no longer removes the trigger file,
that is to be done using the recovery_end_command now.

Provide a "smart" failover mode in pg_standby, where we don't fail over
immediately, but only after recovering all unapplied WAL from the archive.
That gives you zero data loss assuming all WAL was archived before
failover, which is what most users of pg_standby actually want.

recovery_end_command by Simon Riggs, pg_standby changes by Fujii Masao and
myself.
2009-05-14 20:31:09 +00:00
Tom Lane
1958603145 Remove a useless backslash from a pattern-match example. Michael Toews 2009-05-13 21:53:41 +00:00
Tom Lane
db6e0b2db2 Update release notes for changes through 2009-05-11. Also some minor
copy-editing and reordering of items.
2009-05-12 23:43:50 +00:00
Magnus Hagander
e54ec9231c Move crypt auth comment to proper section.
Add some details about the name=value format of auth options.
2009-05-11 09:11:41 +00:00
Magnus Hagander
f3b507c8c7 Edit the SSL and Kerberos parts of the release notes a bit, and add
a note about the certificates chains patch just applied.
2009-05-11 09:00:10 +00:00
Tom Lane
48caf91b66 Change pgbench to use the table names pgbench_accounts, pgbench_branches,
pgbench_history, and pgbench_tellers, rather than just accounts, branches,
history, and tellers.  This is to prevent accidental conflicts with real
application tables, as has been reported to happen at least once.  Also
remove the automatic "SET search_path = public" that it did at startup,
as this seems to restrict testing flexibility without actually buying much.
Per proposal by Joshua Drake and ensuing discussion.

Joshua Drake and Tom Lane
2009-05-07 22:01:18 +00:00
Tom Lane
421c66b76c Modify CREATE DATABASE to enforce that the source database's encoding setting
must be used for the new database, except when copying from template0.
This is the same rule that we now enforce for locale settings, and it has
the same motivation: databases other than template0 might contain data that
would be invalid according to a different setting.  This represents another
step in a continuing process of locking down ways in which encoding violations
could occur inside the backend.  Per discussion of a few days ago.

In passing, fix pre-existing breakage of mbregress.sh, and fix up a couple
of ereport() calls in dbcommands.c that failed to specify sqlstate codes.
2009-05-06 16:15:21 +00:00
Peter Eisentraut
40bc4c2605 Disable the use of Unicode escapes in string constants (U&'') when
standard_conforming_strings is not on, for security reasons.
2009-05-05 18:32:17 +00:00
Tom Lane
c52963ac5f Fix mis-description of XML Schema functions, per discussion. 2009-05-03 21:10:27 +00:00
Tom Lane
71907f7de5 Fix unintelligible description created by removing only part of
a parenthetical remark.
2009-05-03 20:45:43 +00:00
Tom Lane
008fad58fe Split the release notes into a separate file for each (active) major branch,
as per my recent proposal.  release.sgml itself is now just a stub that should
change rarely; ideally, only once per major release to add a new include line.
Most editing work will occur in the release-N.N.sgml files.  To update a back
branch for a minor release, just copy the appropriate release-N.N.sgml
file(s) into the back branch.

This commit doesn't change the end-product documentation at all, only the
source layout.  However, it makes it easy to start omitting ancient information
from newer branches' documentation, should we ever decide to do that.
2009-05-02 20:17:19 +00:00
Tom Lane
c91bf01bc5 Fix plpgsql's EXIT so that an EXIT without a label only matches a loop,
never a BEGIN block.  This is required for Oracle compatibility and is
also plainly stated to be the behavior by our original documentation
(up until 8.1, in which the docs were adjusted to match the code's behavior;
but actually the old docs said the correct thing and the code was wrong).

Not back-patched because this introduces an incompatibility that could
break working applications.  Requires release note.
2009-05-02 17:27:57 +00:00
Bruce Momjian
ba36c48e39 Proofreading adjustments for first two parts of documentation (Tutorial
and SQL).
2009-04-27 16:27:36 +00:00
Tom Lane
23a9ac618e Some more work on the 8.4 release notes. Document a few changes that Bruce
apparently found uninteresting, and do minor wordsmithing on a number of
the existing entries.
2009-04-26 20:08:30 +00:00
Tom Lane
f5c572a808 Typo fix. 2009-04-26 02:56:52 +00:00
Bruce Momjian
245316e996 Improve server spoofing wording, per request from Magnus. 2009-04-24 20:46:16 +00:00
Magnus Hagander
af2cf3be03 More clearly document what the different sslmode options mean, both the new
and the old ones.

Consistently talk about certificate verification, and not validation.
2009-04-24 14:10:41 +00:00
Magnus Hagander
7e9375a59a Remove sslverify parameter from release notes, mention that sslmode is
used instead.
2009-04-24 13:01:30 +00:00
Magnus Hagander
e883d0b551 Remove sslverify parameter again, replacing it with two new sslmode values:
"verify-ca" and "verify-full".

Since "prefer" remains the default, this will make certificate validation
off by default, which should lead to less upgrade issues.
2009-04-24 09:43:10 +00:00
Heikki Linnakangas
88f4d38d20 Mention that tables have a visibility map fork alongside the main fork
and FSM.
2009-04-23 10:20:27 +00:00
Heikki Linnakangas
335904b4f8 Improve the documentation on 8.4 visibility map related VACUUM changes.
Explain how vacuum_freeze_table_age should be tuned, and how it relates
to the other settings. Mention that vacuum_freeze_table_age also affects
when autovacuum scans the whole table.
2009-04-23 10:09:11 +00:00
Tom Lane
8d4f2ecd41 Change the default value of max_prepared_transactions to zero, and add
documentation warnings against setting it nonzero unless active use of
prepared transactions is intended and a suitable transaction manager has been
installed.  This should help to prevent the type of scenario we've seen
several times now where a prepared transaction is forgotten and eventually
causes severe maintenance problems (or even anti-wraparound shutdown).

The only real reason we had the default be nonzero in the first place was to
support regression testing of the feature.  To still be able to do that,
tweak pg_regress to force a nonzero value during "make check".  Since we
cannot force a nonzero value in "make installcheck", add a variant regression
test "expected" file that shows the results that will be obtained when
max_prepared_transactions is zero.

Also, extend the HINT messages for transaction wraparound warnings to mention
the possibility that old prepared transactions are causing the problem.

All per today's discussion.
2009-04-23 00:23:46 +00:00
Bruce Momjian
301f800895 Merge psql \df options into a single \? line, and update docs. 2009-04-21 17:23:05 +00:00
Bruce Momjian
aeb3c2fce4 Add agg/normal/trigger/window flags for psql \df and in \df output.
David Fetter
2009-04-21 15:49:06 +00:00
Tom Lane
c1c40e580a Fix textsearch documentation examples to not recommend concatenating separate
fields without putting a space between.  Per gripe from Rick Schumeyer.
2009-04-19 20:36:06 +00:00
Tom Lane
3a624e9200 Revise plpgsql's scanner to process comments and string literals in a way
more nearly matching the core SQL scanner.  The user-visible effects are:

* Block comments (slash-star comments) now nest, as per SQL spec.

* In standard_conforming_strings mode, backslash as the last character of a
  non-E string literal is now correctly taken as an ordinary character;
  formerly it was misinterpreted as escaping the ending quote.  (Since the
  string also had to pass through the core scanner, this invariably led
  to syntax errors.)

* Formerly, backslashes in the format string of RAISE were always treated as
  quoting the next character, regardless of mode.  Now, they are ordinary
  characters with standard_conforming_strings on, while with it off, they
  introduce the same set of escapes as in the core SQL scanner.  Also,
  escape_string_warning is now effective for RAISE format strings.  These
  changes make RAISE format strings work just like any other string literal.

This is implemented by copying and pasting a lot of logic from the core
scanner.  It would be a good idea to look into getting rid of plpgsql's
scanner entirely in favor of using the core scanner.  However, that involves
more change than I can justify making during beta --- in particular, the core
scanner would have to become re-entrant.

In passing, remove the kluge that made the plpgsql scanner emit T_FUNCTION or
T_TRIGGER as a made-up first token.  That presumably had some value once upon
a time, but now it's just useless complication for both the scanner and the
grammar.
2009-04-19 18:52:58 +00:00
Tom Lane
7f2f798b30 Mention as a potential incompatibility the fact that SELECT DISTINCT, UNION,
etc are no longer guaranteed to produce sorted output; per gripe from Ian
Barwick.  Also improve the release note entries about to_timestamp(), per
Brendan Jurd.
2009-04-19 15:49:34 +00:00
Bruce Momjian
6df6846d56 Add Ron Mayer as primary contributor for:
Support the <acronym>IS0 8601</> <type>interval</> syntax

based on private email from Ron.
2009-04-18 00:01:01 +00:00
Bruce Momjian
74aa1a45f7 Remove mention of pre-7.1 inheritance behavior from /ref pages; keep
mentions in main documentation.
2009-04-15 22:42:50 +00:00
Bruce Momjian
2d4843694d Fix SGML markup I broke yesterday. 2009-04-15 13:03:11 +00:00
Bruce Momjian
334f4e12d8 Reformat 'sslmode' options into an SGML table; improve wording. 2009-04-14 20:42:48 +00:00
Tom Lane
bda9dc7e19 Do some copy-editing on description of ts_headline(). 2009-04-14 00:49:56 +00:00
Tom Lane
15aa0252da Make a copy-editing pass over the 8.4 release notes. 2009-04-13 06:05:12 +00:00
Bruce Momjian
d0c64c8388 More wording clarification of sslverify setting. 2009-04-11 16:46:54 +00:00
Bruce Momjian
5817673448 Better document libpq sslverify behavior as requiring root.crt. 2009-04-11 12:27:53 +00:00
Bruce Momjian
ebac30ed11 Wording improvement. 2009-04-11 02:08:34 +00:00
Bruce Momjian
7950a5bf25 Wording improvement for SSL user certificate authentication. 2009-04-11 02:07:25 +00:00
Bruce Momjian
29cd06adb4 Clarify SSL _user_ authentication in release notes. 2009-04-11 02:06:16 +00:00
Tom Lane
843c6546eb Add cross-references from the DECLARE and FETCH reference pages to
the plpgsql documentation about cursors.  Per a suggestion from
Matthew Wakeling.
2009-04-10 17:56:21 +00:00
Bruce Momjian
51781146a8 Document how *_blks_read statistics columns are computed. 2009-04-10 03:13:36 +00:00
Marc G. Fournier
4c9c0b85fb commit and tag beta1 2009-04-10 00:20:10 +00:00
Tom Lane
6c34acce9b Update release notes through yesterday; some minor wordsmithing. 2009-04-09 23:22:49 +00:00
Bruce Momjian
f4af189db3 Clarify documentation references to pg_stat_get_blocks_fetched and
pg_stat_get_blocks_hit, per suggestion from Robert Haas.
2009-04-09 22:32:02 +00:00
Tom Lane
b6e42bdd92 Update GIN limitations documentation to match current reality. 2009-04-09 19:07:44 +00:00
Tom Lane
06e2757277 Remove SQL-compatibility function cardinality(). It is not exactly clear
how this ought to behave for multi-dimensional arrays.  Per discussion,
not having it at all seems better than having it with what might prove
to be the wrong behavior.  We can always add it later when we have consensus
on the correct behavior.
2009-04-09 17:39:50 +00:00
Bruce Momjian
78f58f0f70 Improve documentation about how checkpoint spreads I/O activity. 2009-04-09 16:20:50 +00:00
Tom Lane
4703250a76 Remove psql's ancient hack that suppressed functions taking or returning
cstring from the output of \df.  Now that the default behavior is to
exclude all system functions, the de-cluttering rationale for this behavior
seems pretty weak; and it was always quite confusing/unhelpful if you were
actually looking for I/O functions.  (Not to mention if you were looking
for encoding converters or other cases that might take or return cstring.)
2009-04-08 22:29:30 +00:00
Bruce Momjian
56e0e599a0 Add attribution for:
Add Japanese message translations (Japan PostgreSQL Users Group)
2009-04-07 21:30:01 +00:00
Bruce Momjian
4c7d326deb Add release note item:
Add Japanese message translations
2009-04-07 21:29:02 +00:00
Bruce Momjian
bf4497cc61 Remove FAQ and FAQ_DEV ASCII and HTML files from CVS; now on the wiki.
Per-language files kept for transator usage.
2009-04-07 21:20:49 +00:00
Bruce Momjian
c35eb1504a Add doc link to section about how to compile triggers. 2009-04-07 04:02:41 +00:00
Tom Lane
387060951e Add an optional parameter to pg_start_backup() that specifies whether to do
the checkpoint in immediate or lazy mode.  This is to address complaints
that pg_start_backup() takes a long time even when there's no need to minimize
its I/O consumption.
2009-04-07 00:31:26 +00:00
Bruce Momjian
e019178c77 Doc change in new patch, stand-alone -> standalone 2009-04-06 17:56:31 +00:00
Bruce Momjian
d9070485a8 Add documentation mention of 'check_postgres.pl' in Routine Database
Maintenance Tasks section.
2009-04-06 17:55:19 +00:00
Tom Lane
e7c11056df Document the fact that fuzzystrmatch doesn't work in multibyte encodings. 2009-04-06 15:43:00 +00:00
Tom Lane
25a76c31de Correct keywords table for status of COLLATE vs
LC_COLLATE.
2009-04-06 15:01:36 +00:00
Heikki Linnakangas
1eef90d0a2 Rename the new CREATE DATABASE options to set collation and ctype into
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
2009-04-06 08:42:53 +00:00
Tom Lane
65e758a4d3 Remove contrib/intarray's definitions of the <@ and @> operators, so that they
don't cause confusion with the built-in anyarray versions of those operators.
Adjust the module's index opclasses to support the built-in operators in place
of the private ones.

The private implementations are still available under their historical
names @ and ~, so no functionality is lost.  Some quick testing suggests
that they offer no real benefit over the core operators, however.

Per a complaint from Rusty Conover.
2009-04-05 00:40:35 +00:00
Tom Lane
dbca713cea Minor wordsmithing on descriptions of some \d commands. 2009-04-04 00:39:14 +00:00
Bruce Momjian
d0b599012f Document that Solaris can't use effective_io_concurrency because of an
ineffective posix_fadvise().
2009-04-02 22:44:10 +00:00
Bruce Momjian
2faa8e2ac1 Have PL/pgSQL FETCH set DIAGNOSTICS ROW_COUNT.
Andrew Gierth
2009-04-02 19:20:45 +00:00
Bruce Momjian
33e7eac37c Change psql \d* display so 'S' _or_ a pattern include system objects. 2009-04-02 15:15:32 +00:00
Tom Lane
dff26735d3 Index some array functions, per Mario Splivalo. 2009-04-01 03:32:29 +00:00
Bruce Momjian
572b60a3bd Remove some "Other" sections in the release notes by putting the items
at the top of their sections.
2009-03-31 22:23:28 +00:00
Tom Lane
df13324f08 Add a "relistemp" boolean column to pg_class, which is true for temporary
relations (including a temp table's indexes and toast table/index), and
false for normal relations.  For ease of checking, this commit just adds
the column and fills it correctly --- revising the relation access machinery
to use it will come separately.
2009-03-31 17:59:56 +00:00
Bruce Momjian
db20729ed6 Update release note introductory description. 2009-03-31 02:34:04 +00:00
Tom Lane
97503a5200 Add PQinitOpenSSL() function to support applications that use libcrypto
but not OpenSSL (or perhaps vice versa, if that's possible).

Andrew Chernow, with minor editorialization by me.
2009-03-31 01:41:27 +00:00
Bruce Momjian
c9aa8a62c0 More new subsections in release notes. 2009-03-31 01:26:13 +00:00
Bruce Momjian
5f6f72b05d More release note changes, including a lower level of subsections. 2009-03-30 22:01:15 +00:00
Bruce Momjian
3eedb9a17f More release note adjustments, reordering. 2009-03-30 20:32:49 +00:00
Bruce Momjian
e604c8b51e More release note wording improvements; section order adjustments. 2009-03-30 19:59:19 +00:00
Bruce Momjian
aa0a885e59 Reorder release note sections. 2009-03-30 18:34:56 +00:00
Alvaro Herrera
3fe3b81183 Update URL to Python bug tracker. Backpatch to 8.3; doesn't seem worthy of
further backpatch.
2009-03-30 16:15:43 +00:00
Bruce Momjian
a576994e72 More release note markup. 2009-03-29 19:13:46 +00:00
Bruce Momjian
2193b21a0f More release note markup. 2009-03-29 03:58:37 +00:00
Bruce Momjian
087fa888a6 Add SGML markup for commands/literal/application/etc in release notes;
still more work to do.
2009-03-29 03:01:56 +00:00
Bruce Momjian
07c3563fe6 Consistent 8.4 release note naming for Itagaki Takahiro 2009-03-28 22:05:22 +00:00
Bruce Momjian
038777081a Update release notes to say citext is multi-byte aware, per suggestion
from patch author:

       Add /contrib/citext as a case-insensitive, multibyte-capable
	text data type (David Wheeler)
2009-03-28 14:15:15 +00:00
Bruce Momjian
8fbef1090b Better document that SET ROLE does not uset ALTER ROLE SET settings;
suggested wording from Josh Berkus.
2009-03-28 03:26:02 +00:00
Bruce Momjian
3ab95c2ab0 Better document PQinitSSL(0) behavior in regards to libcrypto. 2009-03-28 01:36:11 +00:00
Tom Lane
2938f8c4ea Add documentation of the fact that dtrace probes evaluate their parameters
even when not active.  Explain how to prevent that with an ENABLED() check.
2009-03-28 00:10:23 +00:00
Bruce Momjian
3c2ce020b7 Document in release notes that NOT IN is only for NOT EXIST clauses.
Andrew Gierth
2009-03-27 22:39:42 +00:00
Magnus Hagander
665aa5e540 Fix markup, per Devrim 2009-03-27 19:17:11 +00:00
Magnus Hagander
2e427ec05a Clearify new SSL certificate verification in libpq 2009-03-27 12:01:57 +00:00
Magnus Hagander
cc42c14e36 Fix release notes about pg_hba changes 2009-03-27 11:58:21 +00:00
Bruce Momjian
be99a030a4 Updated release wording, per Greg Stark:
Previously EXPLAIN VERBOSE had output an internal
	representation of the
2009-03-27 02:25:04 +00:00
Bruce Momjian
990fe113bd Second batch of release note fixes by Guillaume Smet 2009-03-27 01:44:30 +00:00
Bruce Momjian
03f625d4d5 Mark Greg as the instigator of the statistics target increase:
Increase the default value of default_statistics_target from 10 to 100
       (Greg Sabino Mullane, Tom)
2009-03-27 01:26:36 +00:00
Bruce Momjian
250bc515e4 First round of release note changes from Guillaume Smet. 2009-03-27 00:45:40 +00:00
Bruce Momjian
936815e9ab Fix release note attribution:
Support the IS0 8601 time interval syntax (Tom, Kevin
	Grittner)

per Ron Mayer
2009-03-27 00:11:34 +00:00
Bruce Momjian
e106b0a70e Improved release notes interval wording:
Made interval seconds rounding more consistent across output
       formats (Ron Mayer)

Ron Mayer
2009-03-27 00:08:14 +00:00
Bruce Momjian
4c8f90f6b9 Remove duplicate interval (fractional seconds) items; Ron Mayer 2009-03-27 00:06:14 +00:00
Bruce Momjian
0f84033a68 Document that Datestyle no longer controls interval output, per
suggestion from Ron Mayer
2009-03-27 00:01:47 +00:00
Tom Lane
845693f70f Fix a couple of places that still claimed LC_COLLATE and LC_CTYPE can't
be changed after initdb.
2009-03-26 20:55:49 +00:00
Bruce Momjian
ee4c187f64 Correction: ansi-join ->anti-join. 2009-03-26 12:38:03 +00:00
Tom Lane
04c779d3f4 Fix markup so that 'make HISTORY' works. A couple very minor
editorial improvements.
2009-03-26 03:46:14 +00:00
Bruce Momjian
0f1ac2d04c Reorder 8.4 release note sections. 2009-03-26 02:48:53 +00:00
Bruce Momjian
cb25bf7047 Re-add release notes for release 8.3.7. 2009-03-26 02:40:37 +00:00
Bruce Momjian
32e7174dbb Adjust AS OF release notes markup. 2009-03-26 01:48:27 +00:00
Bruce Momjian
54a7363af4 Mention release note items current as of 2009-03-16. 2009-03-26 01:31:15 +00:00
Bruce Momjian
4b4a831f18 First version of 8.4 release notes; markup/cleanup/reorganization still
required.
2009-03-26 01:19:07 +00:00
Tom Lane
9151e1bb06 Add btree_gin contrib module.
Teodor Sigaev and Oleg Bartunov
2009-03-25 23:20:01 +00:00
Tom Lane
87b8db3774 Adjust the APIs for GIN opclass support functions to allow the extractQuery()
method to pass extra data to the consistent() and comparePartial() methods.
This is the core infrastructure needed to support the soon-to-appear
contrib/btree_gin module.  The APIs are still upward compatible with the
definitions used in 8.3 and before, although *not* with the previous 8.4devel
function definitions.

catversion bump for changes in pg_proc entries (although these are just
cosmetic, since GIN doesn't actually look at the function signature before
calling it...)

Teodor Sigaev and Oleg Bartunov
2009-03-25 22:19:02 +00:00
Tom Lane
ff301d6e69 Implement "fastupdate" support for GIN indexes, in which we try to accumulate
multiple index entries in a holding area before adding them to the main index
structure.  This helps because bulk insert is (usually) significantly faster
than retail insert for GIN.

This patch also removes GIN support for amgettuple-style index scans.  The
API defined for amgettuple is difficult to support with fastupdate, and
the previously committed partial-match feature didn't really work with
it either.  We might eventually figure a way to put back amgettuple
support, but it won't happen for 8.4.

catversion bumped because of change in GIN's pg_am entry, and because
the format of GIN indexes changed on-disk (there's a metapage now,
and possibly a pending list).

Teodor Sigaev
2009-03-24 20:17:18 +00:00
Andrew Dunstan
c9cab106f6 Remove munging of xml and xpath params to xpath(). The XML must now be a well formed XML document. 2009-03-23 21:00:39 +00:00
Bruce Momjian
5c617f4e56 Update constraint_exclusion docs because parameter is now 3-valued, not
just enable/disable.
2009-03-23 15:14:14 +00:00
Tom Lane
471913a6a5 More fixes for 8.4 DTrace probes. Remove useless BUFFER_HIT/BUFFER_MISS
probes --- the BUFFER_READ_DONE probe provides the same information and more
besides.  Expand the LOCK_WAIT_START/DONE probe arguments so that there's
actually some chance of telling what is being waited for.  Update and
clean up the documentation.
2009-03-23 01:52:38 +00:00
Bruce Momjian
c242e6b6d4 Clarify libpq 'sslverify' documentation wording. 2009-03-23 01:45:29 +00:00
Bruce Momjian
f04ee7043b Clarify 'cert' authentication documention. 2009-03-22 21:55:07 +00:00
Tom Lane
5698f6b925 Remove the -d and -D options of pg_dump and pg_dumpall. The functionality
is still available, but you must now write the long equivalent --inserts
or --column-inserts.  This change is made to eliminate confusion with the
use of -d to specify a database name in most other Postgres client programs.
Original patch by Greg Mullane, modified per subsequent discussion.
2009-03-22 16:44:26 +00:00
Tom Lane
0fd85d7879 Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating as
noise words for the last twelve years, for compatibility with Berkeley-era
output formatting of the special INVALID values for those datatypes.
Considering that the datatypes themselves have been deprecated for awhile,
this is taking backwards compatibility a little far.  Per gripe from Josh
Berkus.
2009-03-22 01:12:32 +00:00
Peter Eisentraut
249d936bed Rename pg_restore -m to -j, and add documentation about what good numbers
are.  per discussion on hackers
2009-03-20 09:21:09 +00:00
Tom Lane
52e6371e7d Be more clear about when to use gist__int_ops vs. gist__intbig_ops.
Per suggestion from Ron Mayer.
2009-03-18 20:18:18 +00:00
Tom Lane
029348cff9 Add just-assigned CVE number to release notes for recent security issue. 2009-03-17 21:36:21 +00:00
Tom Lane
f3a72bd40b Fix contrib/hstore to throw an error for keys or values that don't fit in its
data structure, rather than silently truncating them.  Andrew Gierth
2009-03-15 22:05:17 +00:00
Tom Lane
2dd9af8c0c Update back-branch release notes. 2009-03-12 22:35:48 +00:00
Bruce Momjian
b0c68c242c Doc patch for the recently added probes.
Robert Lor
2009-03-10 00:08:28 +00:00
Peter Eisentraut
05a7db0582 Accept 'on' and 'off' as input for boolean data type, unifying the syntax
that the data type and GUC accepts.

ITAGAKI Takahiro
2009-03-09 14:34:35 +00:00
Tom Lane
00ce73778b Teach the planner to support index access methods that only implement
amgettuple or only implement amgetbitmap, instead of the former assumption
that every AM supports both APIs.  Extracted with minor editorialization
from Teodor's fast-GIN-insert patch; whatever becomes of that, this seems
like a simple and reasonable generalization of the index AM interface spec.
2009-03-05 23:06:45 +00:00
Tom Lane
df8684c56f Remove documentation of log_restartpoints setting, which is obsoleted
in favor of log_checkpoints.  Fujii Masao
2009-03-05 19:50:03 +00:00
Peter Eisentraut
b966b519f5 Provide some proper minimal documentation for the pg_dump(all) --binary-upgrade
option.  We don't want to commit to what it does, but hiding it will only
cause confusion.
2009-03-04 11:57:00 +00:00
Peter Eisentraut
12f87b2c82 Add new SQL:2008 error codes for invalid LIMIT and OFFSET values. Remove
unused nonstandard error code that was perhaps intended for this but never
used.
2009-03-04 10:55:00 +00:00
Tom Lane
640796ff41 Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay
to 100ms (from 1000).  This still seems to be comfortably larger than the
useful range of the parameter, and it should help discourage people from
picking uselessly large values.  Tweak the documentation to recommend small
values, too.  Per discussion of a couple weeks ago.
2009-02-28 00:10:52 +00:00
Peter Eisentraut
b6e4c8f255 Equip the programs installed by contrib with proper --help and --version
options and normally formatted help output.
2009-02-27 09:30:21 +00:00
Peter Eisentraut
867a2a6d81 Fix the inconsistent and wrong claims that the option value in CREATE
FOREIGN DATA WRAPPER/SERVER/USER MAPPING is optional.
2009-02-27 07:20:00 +00:00
Peter Eisentraut
9de59fd191 Add a -w/--no-password option that prevents all password prompts to all
programs that have a -W/--password option.

In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
2009-02-26 16:02:39 +00:00
Peter Eisentraut
7380b6384b Don't append epoch to log_filename if no format specifier is given.
Robert Haas
2009-02-24 12:09:09 +00:00
Peter Eisentraut
7babccb915 Add the possibility to specify an explicit validator function for foreign-data
wrappers (similar to procedural languages).  This way we don't need to retain
the nearly empty libraries, and we are more free in how to implement the
wrapper API in the future.
2009-02-24 10:06:36 +00:00
Tom Lane
451a15f95c Add note that inlined SQL functions aren't tracked by track_functions. 2009-02-22 23:50:30 +00:00
Bruce Momjian
36a9cf38c5 Add --freeze option to vacuumdb. 2009-02-18 12:11:55 +00:00
Bruce Momjian
6883c54a62 Add pg_dump --binary-upgrade flag to be used by binary upgrade
utilities.

The new code allows transfer of dropped column information to the
upgraded server.
2009-02-17 15:41:50 +00:00
Tom Lane
57b5984d24 Minor wordsmithing. 2009-02-15 18:28:48 +00:00
Peter Eisentraut
c1c1886d82 Unset language-related locale settings in any case, otherwise psql will
speak in tongues and mess up the regression test diffs.
2009-02-12 13:26:03 +00:00
Bruce Momjian
eee82d44bd Remove tabs from SGML. 2009-02-12 13:25:33 +00:00
Tom Lane
6d1e361852 Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
get rid of the OID column.  This eliminates the problem discovered by Heikki
back in November that 8.4's suppression of "unnecessary" junk filtering in
INSERT/SELECT could lead to an Assert failure, or storing of oids into a table
that shouldn't have them if Asserts are off.  While that particular problem
could have been solved in other ways, it seems likely to be just a forerunner
of things to come if we continue to allow tables to contain rows that disagree
with the pg_class.relhasoids setting.  It's better to make this operation slow
than to sacrifice performance or risk bugs in more common code paths.

Also, add ALTER TABLE SET WITH OIDS to rewrite the table to add oids.
This was a bit more controversial, but in view of the very small amount of
extra code needed given the current ALTER TABLE infrastructure, it seems best
to eliminate the asymmetry in features.
2009-02-11 21:11:16 +00:00
Peter Eisentraut
20a43b16b4 Only unset the locale environment when --no-locale is used (the way it was
presumably designed, but didn't act).  This allows running the temp install
tests in a non-C locale, thus exercising users' real environments better.
Document how to change locales for test runs.
2009-02-11 14:03:42 +00:00
Bruce Momjian
715ea2bf18 Clarify PQinitSSL() documentation to mention what the argument controls. 2009-02-11 04:08:47 +00:00
Peter Eisentraut
8b9dd6b5fd Support for KOI8U encoding 2009-02-10 19:29:39 +00:00
Bruce Momjian
b79e374519 Update wording of how to prevent pg_dump from affecting statistics
collection.
2009-02-10 00:55:21 +00:00
Alvaro Herrera
834a6da4f7 Update autovacuum to use reloptions instead of a system catalog, for
per-table overrides of parameters.

This removes a whole class of problems related to misusing the catalog,
and perhaps more importantly, gives us pg_dump support for the parameters.

Based on a patch by Euler Taveira de Oliveira, heavily reworked by me.
2009-02-09 20:57:59 +00:00
Bruce Momjian
57b10ebcd4 Fix spelling error in docs.
Erik Rijkers
2009-02-09 14:09:56 +00:00
Bruce Momjian
053835d334 Document that LIMIT NULL is the same as no LIMIT clause. 2009-02-07 20:11:16 +00:00
Bruce Momjian
97072ad80c Remove documentation mention that hash indexes perform no better than
btree;  keep mention about missing WAL logging.

Kenneth Marshall
2009-02-07 20:05:44 +00:00
Bruce Momjian
0c0d652031 Uppercase CHECK mention in relchecks documentation mention. 2009-02-07 19:27:25 +00:00
Bruce Momjian
952fe78a05 Properly wrap new pg_dump doc text. 2009-02-07 15:25:51 +00:00
Bruce Momjian
ec48770e0c Update pg_constraint.conkey documentation description. 2009-02-07 15:00:27 +00:00
Bruce Momjian
d54ae17b63 Document disabling the statistics collector pg_dump activity, and give a
bit more visibility to the PGOPTIONS environment variable supported by
libpq.

Bryce Nesbitt
2009-02-07 14:31:30 +00:00
Bruce Momjian
65b731bd9d Fix to_timestamp() to not require upper/lower case matching for meridian
designations (AM/PM).  Also separate out matching of a meridian with
periods (e.g. A.M.) and with those without.

Do the same for AD/BC.

Brendan Jurd
2009-02-07 14:16:46 +00:00
Tom Lane
c87c31f10b Ooops, forgot to update COPY reference page to mention column privileges. 2009-02-06 21:22:49 +00:00
Tom Lane
7449427a1e Clean up some loose ends from the column privileges patch: add
has_column_privilege and has_any_column_privilege SQL functions; fix the
information_schema views that are supposed to pay attention to column
privileges; adjust pg_stats to show stats for any column you have select
privilege on; and fix COPY to allow copying a subset of columns if the user
has suitable per-column privileges for all the columns.

To improve efficiency of some of the information_schema views, extend the
has_xxx_privilege functions to allow inquiring about the OR of a set of
privileges in just one call.  This is just exposing capability that already
existed in the underlying aclcheck routines.

In passing, make the information_schema views report the owner's own
privileges as being grantable, since Postgres assumes this even when the grant
option bit is not set in the ACL.  This is a longstanding oversight.

Also, make the new has_xxx_privilege functions for foreign data objects follow
the same coding conventions used by the older ones.

Stephen Frost and Tom Lane
2009-02-06 21:15:12 +00:00
Bruce Momjian
0274e1b949 Fix typo in docs. 2009-02-06 19:24:12 +00:00
Bruce Momjian
3d1a1eeddb Document ways to avoid libpq WSACleanup() overhead on Windows.
Andrew Chernow
2009-02-06 18:18:54 +00:00
Bruce Momjian
8c78f8e65c Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY
statement

Pavel Stehule
2009-02-05 15:25:49 +00:00
Alvaro Herrera
d1cf27a8ee Fix some SGML-compiler warnings on -wxml mode. 2009-02-04 21:30:41 +00:00
Bruce Momjian
d8a30eca2e Update read committed documentation to better explain undesirable
behavior of concurrent commands in cases where rows are being added and
removed from matching query criteria.

Minor word-smithing.
2009-02-04 16:05:50 +00:00
Tom Lane
c242502005 Document the longstanding behavior of LIMIT NULL and OFFSET NULL,
per gripe from David Wheeler that this was mentioned nowhere.
In passing, editorialize a bit on the description of the SQL:2008
equivalent syntax.
2009-02-02 20:42:57 +00:00
Andrew Dunstan
775f1b379e Provide for parallel restoration from a custom format archive. Each data and
post-data step is run in a separate worker child (a thread on Windows, a child
process elsewhere) up to the concurrent number specified by the new pg_restore
command-line --multi-thread | -m switch.

Andrew Dunstan, with some editing by Tom Lane.
2009-02-02 20:07:37 +00:00
Alvaro Herrera
3a5b773715 Allow reloption names to have qualifiers, initially supporting a TOAST
qualifier, and add support for this in pg_dump.

This allows TOAST tables to have user-defined fillfactor, and will also
enable us to move the autovacuum parameters to reloptions without taking
away the possibility of setting values for TOAST tables.
2009-02-02 19:31:40 +00:00
Peter Eisentraut
5e21197c7b Put pg_user_mapping section into the right (alphabetical) order. 2009-02-02 09:49:29 +00:00
Tom Lane
2044434996 Update back-branch release notes. 2009-01-30 00:37:29 +00:00
Peter Eisentraut
5fe3da927b Revert updatable views 2009-01-27 12:40:15 +00:00
Bruce Momjian
4d65d2872b Document that SELECT ... ORDER BY .. FOR UPDATE/SHARE might return
results out of order because of locking, per bug report 4593
2009-01-23 14:05:28 +00:00
Tom Lane
3cb5d6580a Support column-level privileges, as required by SQL standard.
Stephen Frost, with help from KaiGai Kohei and others
2009-01-22 20:16:10 +00:00
Peter Eisentraut
dd7e54a17f Automatic view update rules
Bernd Helmle
2009-01-22 17:27:55 +00:00
Heikki Linnakangas
94136d5a18 Add new SPI_OK_REWRITTEN return code to SPI_execute and friends, for the
case that the command is rewritten into another type of command. The old
behavior to return the command tag of the last executed command was
pretty surprising. In PL/pgSQL, for example, it meant that if a command
was rewritten to a utility statement, FOUND wasn't set at all.
2009-01-21 11:02:40 +00:00
Peter Eisentraut
93a6be63a5 Revise the permission checking on user mapping DDL commands.
CREATE/ALTER/DROP USER MAPPING are now allowed either by the server owner or
by a user with USAGE privileges for his own user name.  This is more or less
what the SQL standard wants anyway (plus "implementation-defined")

Hide information_schema.user_mapping_options.option_value, unless the current
user is the one associated with the user mapping, or is the server owner and
the mapping is for PUBLIC, or is a superuser.  This is to protect passwords.

Also, fix a bug in information_schema._pg_foreign_servers, which hid servers
using wrappers where the current user did not have privileges on the wrapper.
The correct behavior is to hide servers where the current user has no
privileges on the server.
2009-01-20 09:10:20 +00:00
Bruce Momjian
fe62698218 Update \d*S documentation to be more accurate; system objects are added
to the display, not restricted in the display; new text:

        The letter <literal>S</literal> adds the listing of system
        objects; without <literal>S</literal>, only non-system
        objects are shown.
2009-01-20 02:38:37 +00:00
Neil Conway
fd1d4b3acd Fix an ungrammatical statement. 2009-01-17 04:29:00 +00:00
Neil Conway
ea4b54e5f9 Fix typo. 2009-01-17 04:24:41 +00:00
Heikki Linnakangas
6587818542 Add vacuum_freeze_table_age GUC option, to control when VACUUM should
ignore the visibility map and scan the whole table, to advance
relfrozenxid.
2009-01-16 13:27:24 +00:00
Heikki Linnakangas
14bfea3b75 Change explanation of pg_switch_xlog()'s return value to match code. 2009-01-15 18:19:58 +00:00
Bruce Momjian
520c41b526 Add documentation mention that full page writes have to be enabled for
full pages to be restored during recovery.

Per private report from Michael Renner
2009-01-15 00:34:25 +00:00
Bruce Momjian
afe8ac2078 Document how pglesslog can be used to reduce the storage requirements of PITR. 2009-01-13 00:54:11 +00:00
Peter Eisentraut
405728f669 Add some minimal documentation that the SQL standard requires parentheses
after ONLY.
2009-01-12 14:06:20 +00:00
Peter Eisentraut
ca8100f9eb Add ONLY support to LOCK and TRUNCATE. By default, these commands are now
recursive.

=> Note this incompatibility in the release notes.
2009-01-12 08:54:27 +00:00
Tom Lane
b7b8f0b609 Implement prefetching via posix_fadvise() for bitmap index scans. A new
GUC variable effective_io_concurrency controls how many concurrent block
prefetch requests will be issued.

(The best way to handle this for plain index scans is still under debate,
so that part is not applied yet --- tgl)

Greg Stark
2009-01-12 05:10:45 +00:00
Bruce Momjian
3b34e98242 Modify libpq environment variable documentation to point to the relevant
connection options documentation section, per idea from Magnus.
2009-01-10 20:14:30 +00:00
Bruce Momjian
2f90d9ff04 Update link guidelines. 2009-01-10 16:58:39 +00:00
Bruce Momjian
feba07f838 Add guidelines section. 2009-01-10 16:03:15 +00:00
Bruce Momjian
908e2c7fd1 Add file to explain SGML linking options, for use by SGML document
writers.
2009-01-10 04:40:08 +00:00
Tom Lane
ccb51c0842 A further attempt at clarifying the \distv business. 2009-01-09 19:27:14 +00:00
Bruce Momjian
d3706cb6d2 Remove tabs from SGML docs. 2009-01-09 15:02:22 +00:00
Peter Eisentraut
f8e5b79368 Change chapter titles thus:
III. Server Administration
15. Installation from Source Code
16. Installation from Source Code on Windows
17. Server Setup and Operation

to give users of binary installations a better idea where to start reading.

suggested by Nikolay Samokhvalov
2009-01-09 13:37:18 +00:00
Peter Eisentraut
26dc14b6b2 Rewrite update-po target, so that it works less like a shell script and more
like a makefile with real dependencies.

Instead of overwriting the old po file, write the new one to .po.new.  This is
less annoying and integrates better with the NLS web site.

Also, we can now merge languages that don't have a po file yet, by merging
against all other po files of that language, to pick up recurring translations
automatically.  This previously only worked when a po file already existed.
2009-01-09 10:54:08 +00:00
Magnus Hagander
1b4e729eaa Make krb_realm and krb_server_hostname be pg_hba options only, and remove
their GUCs.

In passing, noted that the pg_hba options for krb5 authentication weren't
listed at all - so add this.
2009-01-09 10:13:19 +00:00
Andrew Dunstan
32e1265dd9 Document values for pg_constraint confupdtype, confdeltype and confmatchtype columns. 2009-01-09 01:53:10 +00:00
Bruce Momjian
32c34aab1d Update release notes for 8.3.5, 8.2.11, and 8.1.15 to mention the need
to reindex GiST indexes:

	If you were running a previous 8.X.X release, REINDEX all GiST
	indexes after the upgrade.
2009-01-09 01:47:02 +00:00
Bruce Momjian
eb0d7e243a Document that txid_visible_in_snapshot() cannot be used with
subtransaction ids.
2009-01-08 14:46:50 +00:00
Peter Eisentraut
3467f02957 Add note that not all SQL commands support ONLY in the same way. 2009-01-08 12:47:58 +00:00
Bruce Momjian
af96c82019 Document current_query() as being the _client_ query. 2009-01-08 00:44:18 +00:00
Bruce Momjian
1c175cd76a Revert current_query() change to use debug_query_string again; add comment. 2009-01-08 00:13:22 +00:00
Tom Lane
445ce15702 Create a third option named "partition" for constraint_exclusion, and make it
the default.  This setting enables constraint exclusion checks only for
appendrel members (ie, inheritance children and UNION ALL arms), which are
the cases in which constraint exclusion is most likely to be useful.  Avoiding
the overhead for simple queries that are unlikely to benefit should bring
the cost down to the point where this is a reasonable default setting.
Per today's discussion.
2009-01-07 22:40:49 +00:00
Bruce Momjian
12dcf7bb75 Have current_query() use ActivePortal->sourceText rather than
debug_query_string;  this allows current_query() to be more accurate;
docs updated;  per idea from Tom
2009-01-07 21:48:15 +00:00
Tom Lane
1cfd9e8834 Fix executor/spi.h to follow our usual conventions for include files, ie,
not include postgres.h nor anything else it doesn't directly need.  Add
#includes to calling files as needed to compensate.  Per my proposal of
yesterday.

This should be noted as a source code change in the 8.4 release notes,
since it's likely to require changes in add-on modules.
2009-01-07 13:44:37 +00:00
Magnus Hagander
b09f930d2e Add hba parameter include_realm to krb5, gss and sspi authentication, used
to pass the full username@realm string to the authentication instead of
just the username. This makes it possible to use pg_ident.conf to authenticate
users from multiple realms as different database users.
2009-01-07 13:09:21 +00:00
Magnus Hagander
32c469d7b1 Allow krb_realm (krb5, gssapi and sspi) and krb_server_hostname (krb5 only)
authentication options to be set in pg_hba.conf on a per-line basis, to
override the defaults set in postgresql.conf.
2009-01-07 12:38:11 +00:00
Magnus Hagander
af26089841 Add appropriate text for SIGHUP parameters instead of just removing it
like previous patch did.

Per note from Tom Lane
2009-01-07 12:21:47 +00:00
Bruce Momjian
d319a65358 Break out \distv into four separate lines in the psql documentation, for
clarity.
2009-01-07 04:51:34 +00:00
Bruce Momjian
f5ed2ee533 Add documentation for new \d*S* patch, and clean up some of the docs.
Fix \do and trigger display for the patch too.
2009-01-06 23:01:57 +00:00
Bruce Momjian
e825fac2a3 Document that Cygwin does not support OpenSSL. 2009-01-06 19:42:57 +00:00
Tom Lane
e228624011 Remove references to pgsql-ports and pgsql-patches mailing lists from
various documentation, since those lists are now dead/deprecated.
Point to pgsql-bugs and/or pgsql-hackers as appropriate.
2009-01-06 17:27:06 +00:00
Tom Lane
7c63d0c72e Change a couple of ill-advised uses of INFO elog level to WARNINGs; in
particular this allows EmitWarningsOnPlaceholders messages to show up in the
postmaster log by default.  Update elog.h comment to make it clearer what INFO
is for, and fix one example in the SGML docs that was misusing it.  Per my
gripe of yesterday.
2009-01-06 16:39:52 +00:00
Bruce Momjian
b32a290bdf Update SELECT version() to show whether it is a 32 or 64-bit backend binary. 2009-01-06 03:05:23 +00:00
Tom Lane
b0a6ad70a1 Add a --role option to pg_dump, pg_dumpall, and pg_restore. This allows
performing dumps and restores in accordance with a security policy that
forbids logging in directly as superuser, but instead specifies that you
should log into an admin account and then SET ROLE to the superuser.

In passing, clean up some ugly and mostly-broken code for quoting shell
arguments in pg_dumpall.

Benedek László, with some help from Tom Lane
2009-01-05 16:54:37 +00:00
Bruce Momjian
f42a7f1e62 Update Japanese FAQ.
Jun Kuwamura
2009-01-05 15:04:59 +00:00
Tom Lane
7466eeac61 Add contrib/pg_stat_statements for server-wide tracking of statement execution
statistics.

Takahiro Itagaki
2009-01-04 22:19:59 +00:00
Magnus Hagander
184341309e Today is find-typo-in-old-patches day. Fix wrong cut/paste in ident
documentation.
2009-01-02 11:51:53 +00:00
Magnus Hagander
a27addbc87 Make it possible to change Kerberos/GSSAPI parameters without restarting
the postmaster. They are only used in backend processes, so it's just
a matter of re-labeling the GUCs.
2009-01-02 10:33:20 +00:00
Tom Lane
ccdb6627ee Tweak guc.c to allow underscores in the names of custom variable classes,
and change auto_explain's custom GUC variables to be named auto_explain.xxx
not just explain.xxx.  Per discussion in connection with the
pg_stat_statements patch, it seems like a good idea to have the convention
that custom variable classes are named the same as their defining module.
Committing separately since this should happen regardless of what happens
with pg_stat_statements itself.
2009-01-02 01:16:02 +00:00
Bruce Momjian
511db38ace Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Tom Lane
df0ea5a1cd Throw error if a <window definition> references a window that already has a
frame clause, as appears to be required by the fine print in the SQL spec.
Per discussion with Pavel, not doing so risks user confusion.
2008-12-31 23:42:56 +00:00
Tom Lane
26ce4e85a1 Add a WINDOW attribute to CREATE FUNCTION, and teach pg_dump about it,
so that user-defined window functions are possible.  For the moment you'll
have to write them in C, for lack of any interface to the WindowObject API
in the available PLs, but it's better than no support at all.

There was some debate about the best syntax for this.  I ended up choosing
the "it's an attribute" position --- the other approach will inevitably be
more work, and the likely market for user-defined window functions is
probably too small to justify it.
2008-12-31 02:25:06 +00:00
Tom Lane
8e8854daa2 Add some basic support for window frame clauses to the window-functions
patch.  This includes the ability to force the frame to cover the whole
partition, and the ability to make the frame end exactly on the current row
rather than its last ORDER BY peer.  Supporting any more of the full SQL
frame-clause syntax will require nontrivial hacking on the window aggregate
code, so it'll have to wait for 8.5 or beyond.
2008-12-31 00:08:39 +00:00
Tom Lane
2c38b8c715 Fix thinko in documentation of default window frame behavior,
per Hitoshi Harada.
2008-12-29 18:23:53 +00:00
Tom Lane
95b07bc7f5 Support window functions a la SQL:2008.
Hitoshi Harada, with some kibitzing from Heikki and Tom.
2008-12-28 18:54:01 +00:00
Tom Lane
ea7d5199e5 Add a new column proiswindow to pg_proc. It doesn't actually do anything
useful yet, but I'm tired of re-merging this aspect of the window functions
patch.
2008-12-19 18:25:20 +00:00
Peter Eisentraut
cae565e503 SQL/MED catalog manipulation facilities
This doesn't do any remote or external things yet, but it gives modules
like plproxy and dblink a standardized and future-proof system for
managing their connection information.

Martin Pihlak and Peter Eisentraut
2008-12-19 16:25:19 +00:00
Tom Lane
e32014d85d Add a couple of cross-references to the docs about enum types, per a
recent gripe that the info is hard to find.
2008-12-19 01:34:19 +00:00
Bruce Momjian
382af3a954 Add "not" to wal journaling text. 2008-12-18 22:34:21 +00:00
Bruce Momjian
fa6116a3da Clarify documentation that journaling is not required for WAL or data files. 2008-12-18 22:21:16 +00:00
Tom Lane
517ae4039e Code review for function default parameters patch. Fix numerous problems as
per recent discussions.  In passing this also fixes a couple of bugs in
the previous variadic-parameters patch.
2008-12-18 18:20:35 +00:00
Bruce Momjian
cee63eab8d Update documentation table describing how shared memory is used by
various facilities.
2008-12-18 17:03:09 +00:00
Peter Eisentraut
a666d28543 Add note that TRUNCATE uses an access exclusive lock. This apparently
surprised/confused some users.
2008-12-18 10:45:00 +00:00
Alvaro Herrera
5434e46986 Add note to the shared memory sizing table about needing to use page count in
shared_buffers and wal_buffers, not size in bytes.  Per discussion.
2008-12-16 19:30:43 +00:00
Bruce Momjian
7ac5727659 Fix wording of section comparing triggers and rules; old wording as
confusing.
2008-12-16 03:12:08 +00:00
Bruce Momjian
30c6202a2a Add documentation that pg_standby sleeps on Win32 because of 'copy' behavior. 2008-12-15 22:08:35 +00:00
Tom Lane
4da65a23e7 Code review for CREATE OR REPLACE VIEW patch. Do things in a saner order to
result in hopefully-less-confusing error messages when the new definition
isn't compatible with the old; minor other cleanup.
2008-12-15 21:35:31 +00:00
Magnus Hagander
5f3724dd7c Support specifying filename for SSL certificate, key, root certificate store
and certificate revokation list by using connection parameters or environment
variables.

Original patch by Mark Woodward, heavily reworked by Alvaro Herrera and
Magnus Hagander.
2008-12-15 10:28:22 +00:00
Tom Lane
65e3ea7641 Increase the default value of default_statistics_target from 10 to 100,
and its maximum value from 1000 to 10000.  ALTER TABLE SET STATISTICS
similarly now allows a value up to 10000.  Per discussion.
2008-12-13 19:13:44 +00:00
Tom Lane
17dc173660 To reduce confusion over whether VACUUM FULL is needed for anti-wraparound
vacuuming (it's not), say "database-wide VACUUM" instead of "full-database
VACUUM" in the relevant hint messages.  Also, document the permissions needed
to do this.  Per today's discussion.
2008-12-11 18:16:18 +00:00
Peter Eisentraut
218b4e8dd8 Append major version number and for libraries soname major version number
to the gettext domain name, to simplify parallel installations.

Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.
2008-12-11 07:34:09 +00:00
Bruce Momjian
253fa736b9 Update journaling performance docs based on comments by Michael Renner. 2008-12-10 11:05:49 +00:00
Tom Lane
5932915fef Add a specific example of parenthesizing when extracting a field of a
composite column.  Might help cut down on future questions...
2008-12-09 20:52:03 +00:00
Magnus Hagander
9edd720050 Clearify how processes are started by autovacuum, and what the effect
of autovacuum_max_workers parameter is.

Per discussion with Alvaro.
2008-12-08 20:30:58 +00:00
Magnus Hagander
bd33aca36e Add note that autovacuum can use up several times maintenance_work_mem,
with warning against setting it too high.
2008-12-08 15:11:39 +00:00
Alvaro Herrera
aa7f00464d Desultorily enclose programlisting tags in CDATA, to get rid of some obnoxious
SGML-escaping.
2008-12-07 23:46:39 +00:00
Bruce Momjian
ff1ea2173a Allow CREATE OR REPLACE VIEW to add columns to the _end_ of the view.
Robert Haas
2008-12-06 23:22:46 +00:00
Bruce Momjian
31076c8beb Document that non-data journaling is a recommended mount option. 2008-12-06 21:34:27 +00:00
Peter Eisentraut
455dffbb73 Default values for function arguments
Pavel Stehule, with some tweaks by Peter Eisentraut
2008-12-04 17:51:28 +00:00
Peter Eisentraut
44ff90966c Update key words table to 8.4 and SQL:2008. 2008-12-03 12:39:57 +00:00
Magnus Hagander
b0729b8d4e Documentation for wildcard certificates patch 2008-12-02 12:42:11 +00:00
Peter Eisentraut
6355e69d1e Add braces to clarify syntax synopsis 2008-12-01 09:38:08 +00:00
Peter Eisentraut
e3764aa1b1 Small correction 2008-12-01 09:20:37 +00:00
Peter Eisentraut
d653d47f37 typo 2008-12-01 08:24:19 +00:00
Tom Lane
3f936aacc0 Add a "LIKE = typename" clause to CREATE TYPE for base types. This allows
the basic representational details (typlen, typalign, typbyval, typstorage)
to be copied from an existing type rather than listed explicitly in the
CREATE TYPE command.  The immediate reason for this is to provide a simple
solution for add-on modules that want to define types represented as int8,
float4, or float8: as of 8.4 the appropriate PASSEDBYVALUE setting is
platform-specific and so it's hard for a SQL script to know what to do.

This patch fixes the contrib/isn breakage reported by Rushabh Lathia.
2008-11-30 19:01:29 +00:00
Magnus Hagander
5d2a1a41d0 Support regular expressions in pg_ident.conf. 2008-11-28 14:26:58 +00:00
Peter Eisentraut
c3cee16fe8 Add that PL/Java is an implementation of SQL/JRT, and drop claim that
PL/pgSQL has much to do with SQL/PSM.
2008-11-27 12:12:02 +00:00
Tom Lane
e309739670 Tweak wording of DISCARD ALL description to avoid giving the impression
that the presented list of equivalent operations is meant to be the
primary definition of what it does.  Per comment from Guillaume Smet.
2008-11-27 00:28:06 +00:00
Peter Eisentraut
f900afff3e configure check for docbook2man program, used in the new XML-based man
page build target.  This covers from-source, Debian, and Fedora
installation variants.
2008-11-26 11:26:54 +00:00
Tom Lane
1b26b07379 Make DISCARD ALL discard advisory locks, too. Marko Kreen 2008-11-26 01:21:08 +00:00
Tom Lane
8a10096440 information_schema.key_column_usage.position_in_unique_constraint was
misdocumented as not being implemented.  In reality it has worked since
the release of 8.2.
2008-11-25 20:47:42 +00:00
Tom Lane
1304f297a4 Remove PGINTERVALSTYLE from the set of special environment variables for
libpq.  As noted by Peter, adding this variable created a risk of unexpected
connection failures when talking to older server versions, and since it
doesn't do anything you can't do with PGOPTIONS, it doesn't seem really
necessary.  Removing it does occasion a few extra lines in pg_regress.c,
but saving a getenv() call per libpq connection attempt is perhaps worth
that anyway.
2008-11-25 19:30:42 +00:00
Peter Eisentraut
0884acbcab Move FAQ_AIX information to installation instructions.
The information on why the shared libraries are built the way they are
was not relevant to end users and has been made a mailing list archive
link in Makefile.shlib.
2008-11-24 11:59:37 +00:00
Peter Eisentraut
a378555501 CLUSTER VERBOSE and corresponding clusterdb --verbose option
Jim Cox and Peter Eisentraut
2008-11-24 08:46:04 +00:00
Tom Lane
86422cbbfc Minor copy-editing. 2008-11-21 20:21:59 +00:00
Magnus Hagander
bae2116ac6 Document which GUC settings are enums and not strings, along with a short
paragraph about what that means.
2008-11-21 19:42:12 +00:00
Magnus Hagander
e5c032d898 Docs update for enumvals patch. 2008-11-21 19:31:58 +00:00
Peter Eisentraut
47d6d641dd Include the platform "FAQs" into the installation instructions.
I weeded out some really old information along the way.
FAQ_AIX needs separate consideration and will be dealt with later.
2008-11-21 16:46:19 +00:00
Peter Eisentraut
5758d5ea31 Use relation_expr for TABLE command, requested by Tom. 2008-11-21 11:47:55 +00:00
Tom Lane
3d7ac0d0b1 Note that the example aggregate array_accum is comparable to the now
built-in array_agg.  Per suggestion from Robert Haas.
2008-11-20 21:10:44 +00:00
Bruce Momjian
170b66a0c5 Issue a proper error message when MD5 is attempted when
db_user_namespace is enabled.

Also document this limitation.
2008-11-20 20:45:30 +00:00
Peter Eisentraut
b09a1a2942 TABLE command 2008-11-20 14:04:46 +00:00
Magnus Hagander
f179d5ea99 Add support for using SSL client certificates to authenticate to the
database (only for SSL connections, obviously).
2008-11-20 11:48:26 +00:00
Magnus Hagander
3c486fbd1c Control client certificate requesting with the pg_hba option "clientcert"
instead of just relying on the root certificate file to be present.
2008-11-20 09:29:36 +00:00
Peter Eisentraut
5054867632 Add WITH as a refname to the SELECT reference page.
Now "\help WITH" works and there will be a separate WITH(7) man page.
2008-11-19 12:21:57 +00:00
Bruce Momjian
89ad92a216 Add "Most Common Implementation" row to high availablity table so the
table is less abstract.  Most common implementations were already
mentioned in the text.
2008-11-19 04:46:37 +00:00
Tom Lane
e125e28e78 Add auto-explain contrib module for automatic logging of the plans of
slow-running queries.

Takahiro Itagaki
2008-11-19 02:59:28 +00:00
Peter Eisentraut
f426fbf746 Ident authentication over Unix-domain sockets on Solaris, using
getpeerucred() function.

Author: Garick Hamlin <ghamlin@isc.upenn.edu>
2008-11-18 13:10:20 +00:00
Bruce Momjian
29ad832dba Document that Bucardo is an example of mulit-master replication with
conflict resolution.
2008-11-17 18:55:14 +00:00
Tom Lane
18004101ac Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE infrastructure to
locate the target row, if the cursor was declared with FOR UPDATE or FOR
SHARE.  This approach is more flexible and reliable than digging through the
plan tree; for instance it can cope with join cursors.  But we still provide
the old code for use with non-FOR-UPDATE cursors.  Per gripe from Robert Haas.
2008-11-16 17:34:28 +00:00
Tom Lane
07c179a82b Document a gotcha that happens on Windows when using libpq's new event
procedure support: it's possible to get confused because exported procedures
have two different addresses.  Per Andrew Chernow.
2008-11-14 22:58:51 +00:00
Tom Lane
32cc9e5533 Reduce contrib/intagg to a thin wrapper around the new core functions
array_agg() and unnest().  We could drop it entirely in the future,
but let's keep it for a release or two as a compatibility assist.
2008-11-14 19:58:45 +00:00
Peter Eisentraut
6e82501083 Since doc/src/sgml already builds the HTML docs twice to resolve index
entries, we don't have to do two builds here as well.
2008-11-14 10:43:59 +00:00
Peter Eisentraut
d129255077 Set SQL man pages to be section 7 by default, and only transform them to
another section if required by the platform (instead of the old way of
building them in section "l" and always transforming them to the
platform-specific section).

This speeds up the installation on common platforms, and it avoids some
funny business with the man page tools and build process.
2008-11-14 10:22:48 +00:00
Tom Lane
c889ebce0a Implement the basic form of UNNEST, ie unnest(anyarray) returns setof
anyelement.  This lacks the WITH ORDINALITY option, as well as the multiple
input arrays option added in the most recent SQL specs.  But it's still a
pretty useful subset of the spec's functionality, and it is enough to
allow obsoleting contrib/intagg.
2008-11-14 00:51:47 +00:00
Tom Lane
c23b6fa7b5 Marginal editorial improvements for array_agg patch documentation. 2008-11-13 23:01:09 +00:00
Peter Eisentraut
3379fae6de array_agg aggregate function, as per SQL:2008, but without ORDER BY clause
Rearrange the documentation a bit now that array_agg and xmlagg have similar
semantics and issues.

best of Robert Haas, Jeff Davis, Peter Eisentraut
2008-11-13 15:59:51 +00:00
Magnus Hagander
c89404edf3 Fix libpq certificate validation for SSL connections.
Add config parameter "sslverify" to control the verification. Default
is to do full verification.

Clean up some old SSL code that never really worked.
2008-11-13 09:45:25 +00:00
Peter Eisentraut
2b2fb7d85d Support for man page links, if a man page has more than one refname.
We don't actually use this anywhere, but it might come in handy for dealing
with SELECT/WITH/TABLE.

It works with both the old and the new man page target (for some value of
"works").
2008-11-12 16:01:51 +00:00
Peter Eisentraut
18eeacc463 Remove unnecessary whitespace in refname elements. This confuses the
man page tools.
2008-11-12 15:53:34 +00:00
Peter Eisentraut
2655ec1f2c Add refentrytitle elements to refentry pages. Their absence confused the
man page tools somewhat.
2008-11-12 15:52:44 +00:00
Peter Eisentraut
f98f6ee064 array_length() function, and for SQL compatibility also cardinality()
function as a special case.

This version still has the suspicious behavior of returning null for an
empty array (rather than zero), but this may need a wholesale revision of
empty array behavior, currently under discussion.

Jim Nasby, Robert Haas, Peter Eisentraut
2008-11-12 13:09:28 +00:00
Magnus Hagander
bd059c2d1d Mention the tup_fetched column in pg_stat_database.
Greg Sabino Mullane
2008-11-11 20:06:21 +00:00
Tom Lane
a4917bef0e Add support for input and output of interval values formatted per ISO 8601;
specifically, we can input either the "format with designators" or the
"alternative format", and we can output the former when IntervalStyle is set
to iso_8601.

Ron Mayer
2008-11-11 02:42:33 +00:00
Alvaro Herrera
6462e7b81c Add a --locale switch to createdb, to ease the creation of databases with
different locales.  This is just syntactical sweetener over --lc-collate and
--lc-ctype.  Per discussion.

While at it, properly document --lc-ctype and --lc-collate in SGML docs,
which apparently were forgotten (or purposefully ommited?) when they were
created.
2008-11-10 16:25:41 +00:00
Tom Lane
c5451c22e3 Make relhasrules and relhastriggers work like relhasindex, namely we let
VACUUM reset them to false rather than trying to clean 'em up during DROP.
2008-11-10 00:49:37 +00:00
Tom Lane
e4718f2c9e Replace pg_class.reltriggers with relhastriggers, which is just a boolean hint
("there might be triggers") rather than an exact count.  This is necessary
catalog infrastructure for the upcoming patch to reduce the strength of
locking needed for trigger addition/removal.  Split out and committed
separately for ease of reviewing/testing.

In passing, also get rid of the unused pg_class columns relukeys, relfkeys,
and relrefs, which haven't been maintained in many years and now have no
chance of ever being maintained (because of wishing to avoid locking).

Simon Riggs
2008-11-09 21:24:33 +00:00
Tom Lane
1d577f5e49 Add a startup check that pg_xlog and pg_xlog/archive_status exist.
If the latter doesn't exist, automatically recreate it.  (We don't do
this for pg_xlog, though, per discussion.)

Jonah Harris
2008-11-09 17:51:15 +00:00
Tom Lane
dbf57d31f8 Add some documentation about handling of fractions in interval input.
(It's always worked like this, but we never documented it before.)
2008-11-09 17:09:48 +00:00
Tom Lane
df7641e25a Add a new GUC variable called "IntervalStyle" that decouples interval output
from DateStyle, and create a new interval style that produces output matching
the SQL standard (at least for interval values that fall within the standard's
restrictions).  IntervalStyle is also used to resolve the conflict between the
standard and traditional Postgres rules for interpreting negative interval
input.

Ron Mayer
2008-11-09 00:28:35 +00:00
Tom Lane
399ad77c66 Improve documentation of pg_typeof, per gripe from David Wheeler. 2008-11-07 22:54:41 +00:00
Tom Lane
6517f377d6 Implement ALTER DATABASE SET TABLESPACE to move a whole database (or at least
as much of it as lives in its default tablespace) to a new tablespace.

Guillaume Lelarge, with some help from Bernd Helmle and Tom Lane
2008-11-07 18:25:07 +00:00
Tom Lane
cdc197cf31 Improve psql's \dC command to take a pattern parameter. Casts are shown
if their source or target types match the pattern (using the same definition
of "match" as \dT does).  Per recent discussion.
2008-11-06 15:18:36 +00:00
Bruce Momjian
e33e0c43fe Document that SSL is only possible on tcp/ip connections in the
postgresql.conf 'ssl' section.
2008-11-04 22:40:40 +00:00
Bruce Momjian
c227ccc2f7 Document that 'sslmode' is ignored for Unix domain socket communication;
backpatch to 8.3.X.
2008-11-04 22:36:07 +00:00
Peter Eisentraut
725ba51f2c Experimental new support for building man pages via docbook2x, an XSL-based
tool chain.  With some polishing, this might help us get rid of our ancient
and crufty man page build mechanism.
2008-11-04 14:58:22 +00:00
Peter Eisentraut
254aecb704 ADD array_ndims function
Author: Robert Haas <robertmhaas@gmail.com>
2008-11-04 14:49:12 +00:00
Bruce Momjian
4253f016c9 Add missing colon to docs. 2008-11-04 04:18:50 +00:00
Bruce Momjian
ac3797a913 Remove tabs from SGML file. 2008-11-04 00:59:45 +00:00
Tom Lane
31b15fe8dc Disallow LOCK TABLE outside a transaction block (or function), since this case
almost certainly represents user error.  Per a gripe from Sebastian Böhm
and subsequent discussion.
2008-11-04 00:57:19 +00:00
Peter Eisentraut
84aa797292 Allow uuid_in() to parse a wider variety of variant input formats for the UUID
data type.  This patch takes the approach of allowing an optional hyphen after
each group of four hex digits.

Author: Robert Haas <robertmhaas@gmail.com>
2008-11-03 22:14:40 +00:00
Andrew Dunstan
f0dae70431 suppress_redundant_updates_trigger function. 2008-11-03 20:17:21 +00:00
Tom Lane
b8fab2411d Add pg_typeof() function.
Brendan Jurd
2008-11-03 17:51:13 +00:00
Alvaro Herrera
aa3288146a Update URL to Docbook DSSSL stylesheets, per Gabriele Bartolini. 2008-11-03 15:39:38 +00:00
Tom Lane
3c2313f481 Change the pgstat logic so that the stats collector writes the stats file only
upon requests from backends, rather than on a fixed 500msec cycle.  (There's
still throttling logic to ensure it writes no more often than once per
500msec, though.)  This should result in a significant reduction in stats file
write traffic in typical scenarios where the stats are demanded only
infrequently.

This approach also means that the former difficulty with changing
stats_temp_directory on-the-fly has gone away, so remove the caution about
that as well as the thrashing we did to minimize the trouble window.

In passing, also fix pgstat_report_stat() so that we will send a stats
message if we have function call stats but not table stats to report;
this fixes a bug in the recent patch to support function-call stats.

Martin Pihlak
2008-11-03 01:17:08 +00:00
Tom Lane
9b46abb7c4 Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
RETURNING clause, not just a SELECT as formerly.

A side effect of this patch is that when a set-returning SQL function is used
in a FROM clause, performance is improved because the output is collected into
a tuplestore within the function, rather than using the less efficient
value-per-call mechanism.
2008-10-31 19:37:56 +00:00
Peter Eisentraut
29077051de The conversion rule from postgres.sgml to postgres.xml didn't work with
BSD sed.  So write it in Perl, which is more portable and a bit faster, too.
We already use Perl for standard documentation builds, so this imposes no
additional requirement.
2008-10-31 14:35:30 +00:00
Heikki Linnakangas
092bc49653 Add support for user-defined I/O conversion casts. 2008-10-31 08:39:22 +00:00
Tom Lane
d1e384884c Update back-branch release notes. 2008-10-30 22:22:24 +00:00
Bruce Momjian
3276599804 Remove tab from sgml file. 2008-10-29 14:35:04 +00:00
Peter Eisentraut
f7ad874ca8 Since SQL:2003, the array size specification in the SQL ARRAY syntax has
been optional.
2008-10-29 11:24:53 +00:00
Peter Eisentraut
06735e3256 Unicode escapes in strings and identifiers 2008-10-29 08:04:54 +00:00
Tom Lane
e3e3d2a789 Extend ExecMakeFunctionResult() to support set-returning functions that return
via a tuplestore instead of value-per-call.  Refactor a few things to reduce
ensuing code duplication with nodeFunctionscan.c.  This represents the
reasonably noncontroversial part of my proposed patch to switch SQL functions
over to returning tuplestores.  For the moment, SQL functions still do things
the old way.  However, this change enables PL SRFs to be called in targetlists
(observe changes in plperl regression results).
2008-10-28 22:02:06 +00:00
Peter Eisentraut
8ecd535169 Add WITH [NO] DATA clause to CREATE TABLE AS, per SQL.
Also, since WITH is now a reserved word, simplify the token merging code to
only deal with WITH_TIME.

by Tom Lane and myself
2008-10-28 14:09:45 +00:00
Magnus Hagander
53a5026b5c Remove support for (insecure) crypt authentication.
This breaks compatibility with pre-7.2 versions.
2008-10-28 12:10:44 +00:00
Tom Lane
b0169bb124 Install a more robust solution for the problem of infinite error-processing
recursion when we are unable to convert a localized error message to the
client's encoding.  We've been over this ground before, but as reported by
Ibrar Ahmed, it still didn't work in the case of conversion failures for
the conversion-failure message itself :-(.  Fix by installing a "circuit
breaker" that disables attempts to localize this message once we get into
recursion trouble.

Patch all supported branches, because it is in fact broken in all of them;
though I had to add some missing translations to the older branches in
order to expose the failure in the particular test case I was using.
2008-10-27 19:37:22 +00:00
Magnus Hagander
f3a0688ace Add support for multiple error messages from libpq, by simply appending them
after each other (since we already add a newline on each, this makes them
multiline).

Previously a new error would just overwrite the old one, so for example any
error caused when trying to connect with SSL enabled would be overwritten
by the error message form the non-SSL connection when using sslmode=prefer.
2008-10-27 09:42:31 +00:00
Peter Eisentraut
0fec77ae88 SQL:2008 syntax CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA. 2008-10-27 09:37:47 +00:00
Peter Eisentraut
5163b94e6f Allow EXPLAIN on CREATE TABLE AS. 2008-10-27 08:47:14 +00:00
Magnus Hagander
7356381ef5 * make pg_hba authoption be a set of 0 or more name=value pairs
* make LDAP use this instead of the hacky previous method to specify
  the DN to bind as
* make all auth options behave the same when they are not compiled
  into the server
* rename "ident maps" to "user name maps", and support them for all
  auth methods that provide an external username

This makes a backwards incompatible change in the format of pg_hba.conf
for the ident, PAM and LDAP authentication methods.
2008-10-23 13:31:10 +00:00
Peter Eisentraut
361bfc3572 SQL:2008 alternative syntax for LIMIT/OFFSET:
OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} ONLY
2008-10-22 11:00:34 +00:00
Peter Eisentraut
1471e3843d Allow SQL:2008 syntax ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE
alongside our traditional syntax.
2008-10-21 08:38:16 +00:00
Peter Eisentraut
00cbf22e8b Update compatibility section of TRUNCATE for SQL:2008 final. 2008-10-18 07:49:46 +00:00
Peter Eisentraut
123c8efd89 Update feature list for SQL:2008. 2008-10-18 00:35:32 +00:00
Tom Lane
e4fb8ff06a Add a new column to pg_am to specify whether an index AM supports backward
scanning; GiST and GIN do not, and it seems like too much trouble to make
them do so.  By teaching ExecSupportsBackwardScan() about this restriction,
we ensure that the planner will protect a scroll cursor from the problem
by adding a Materialize node.

In passing, fix another longstanding bug in the same area: backwards scan of
a plan with set-returning functions in the targetlist did not work either,
since the TupFromTlist expansion code pays no attention to direction (and
has no way to run a SRF backwards anyway).  Again the fix is to make
ExecSupportsBackwardScan check this restriction.

Also adjust the index AM API specification to note that mark/restore support
is unnecessary if the AM can't produce ordered output.
2008-10-17 22:10:30 +00:00
Teodor Sigaev
2a0083ede8 Improve headeline generation. Now headline can contain
several fragments a-la Google.

Sushant Sinha <sushant354@gmail.com>
2008-10-17 18:05:19 +00:00
Tom Lane
a303e4dc43 Extend the date type to support infinity and -infinity, analogously to
the timestamp types.  Turns out this doesn't even reduce the available
range of dates, since the restriction to dates that work for Julian-date
arithmetic is much tighter than the int32 range anyway.  Per a longstanding
TODO item.
2008-10-14 17:12:33 +00:00
Tom Lane
06224652f2 Add docs and regression test about sorting the output of a recursive query in
depth-first search order.  Upon close reading of SQL:2008, it seems that the
spec's SEARCH DEPTH FIRST and SEARCH BREADTH FIRST options do not actually
guarantee any particular result order: what they do is provide a constructed
column that the user can then sort on in the outer query.  So this is actually
just as much functionality ...
2008-10-14 00:41:35 +00:00
Tom Lane
1f238e569a Eliminate unnecessary array[] decoration in examples of recursive cycle
detection.
2008-10-14 00:12:44 +00:00
Tom Lane
e3b0117459 Implement comparison of generic records (composite types), and invent a
pseudo-type record[] to represent arrays of possibly-anonymous composite
types.  Since composite datums carry their own type identification, no
extra knowledge is needed at the array level.

The main reason for doing this right now is that it is necessary to support
the general case of detection of cycles in recursive queries: if you need to
compare more than one column to detect a cycle, you need to compare a ROW()
to an array built from ROW()s, at least if you want to do it as the spec
suggests.  Add some documentation and regression tests concerning the cycle
detection issue.
2008-10-13 16:25:20 +00:00
Tom Lane
74fd3d1b23 Fix COPY documentation to not imply that HEADER can be used outside CSV mode.
Per gripe from Bill Thoen.
2008-10-10 21:46:34 +00:00
Bruce Momjian
e229998138 Update Japanese FAQ.
Jun Kuwamura
2008-10-07 21:26:41 +00:00
Tom Lane
0d115dde82 Extend CTE patch to support recursive UNION (ie, without ALL). The
implementation uses an in-memory hash table, so it will poop out for very
large recursive results ... but the performance characteristics of a
sort-based implementation would be pretty unpleasant too.
2008-10-07 19:27:04 +00:00
Heikki Linnakangas
5f853c6556 Use fork names instead of numbers in the file names for additional
relation forks. While the file names are not visible to users, for those
that do peek into the data directory, it's nice to have more descriptive
names. Per Greg Stark's suggestion.
2008-10-06 14:13:17 +00:00
Tom Lane
e59ad5fbb6 Editorial improvements to description of pg_settings view. 2008-10-06 13:59:37 +00:00
Magnus Hagander
3bea93b3b0 Add columns boot_val and reset_val to the pg_settings view, to expose
the value a parameter has at server start and will have after RESET,
respectively.

Greg Smith, with some modifications by me.
2008-10-06 13:05:40 +00:00
Tom Lane
44d5be0e53 Implement SQL-standard WITH clauses, including WITH RECURSIVE.
There are some unimplemented aspects: recursive queries must use UNION ALL
(should allow UNION too), and we don't have SEARCH or CYCLE clauses.
These might or might not get done for 8.4, but even without them it's a
pretty useful feature.

There are also a couple of small loose ends and definitional quibbles,
which I'll send a memo about to pgsql-hackers shortly.  But let's land
the patch now so we can get on with other development.

Yoshiyuki Asaba, with lots of help from Tatsuo Ishii and Tom Lane
2008-10-04 21:56:55 +00:00
Tom Lane
d5d552fa01 Add a note about how to check for bare < and & in SGML docs, before the
knowledge disappears again.
2008-10-04 02:19:08 +00:00
Peter Eisentraut
6761a0309b Add regression test for macaddr type. Enhance documentation about accepted
input formats.
2008-10-03 15:37:18 +00:00
Heikki Linnakangas
706a308806 Add relation fork support to pg_relation_size() function. You can now pass
name of a fork ('main' or 'fsm', at the moment) to pg_relation_size() to
get the size of a specific fork. Defaults to 'main', if none given.

While we're at it, modify pg_relation_size to take a regclass as argument,
instead of separate variants taking oid and name. This change is
transparent to typical use where the table name is passed as a string
literal, like pg_relation_size('table'), but will break queries like
pg_relation_size(namecol), where namecol is of type name. text-type input
still works, and using a non-schema-qualified table name is not very
reliable anyway, so this is unlikely to break anyone's queries in practice.
2008-10-03 07:33:10 +00:00
Heikki Linnakangas
6736da5484 Make the blkno arguments bigints instead of int4s. A signed int4 is not
large enough for block numbers higher than 2^31. The old pre-FSM-rewrite
pg_freespacemap implementation got this right. While we're at it, remove
some unnecessary #includes.
2008-10-02 12:20:50 +00:00
Heikki Linnakangas
f10a86ece7 Fix function name in pg_freespacemap docs. It's "pg_freespace", not
"pg_freespacemap". Reported by hubert depesz lubaczewski.
2008-10-02 10:26:51 +00:00
Heikki Linnakangas
15c121b3ed Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each
relation (except for hash indexes; they don't use FSM).

This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any
trace of them from the backend, initdb, and documentation.

Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also
introduce a new variant of the get_raw_page(regclass, int4, int4) function in
contrib/pageinspect that let's you to return pages from any relation fork, and
a new fsm_page_contents() function to inspect the new FSM pages.
2008-09-30 10:52:14 +00:00
Bruce Momjian
436e6af2ad Add documentation about when trigger values NEW/OLD return NULL.
Jeff Davis
2008-09-24 19:51:22 +00:00
Bruce Momjian
93eab311e4 Fix markup tag error, envvar -> envar. 2008-09-24 16:30:26 +00:00
Bruce Momjian
5a8cb50e4f Mention battery-backed cache under hardware selection options. 2008-09-23 20:20:07 +00:00
Heikki Linnakangas
c2d4526495 Tighten the check in initdb and CREATE DATABASE that the chosen encoding
matches the encoding of the locale. LC_COLLATE is now checked in addition
to LC_CTYPE.
2008-09-23 10:58:03 +00:00
Heikki Linnakangas
61d9674988 Make LC_COLLATE and LC_CTYPE database-level settings. Collation and
ctype are now more like encoding, stored in new datcollate and datctype
columns in pg_database.

This is a stripped-down version of Radek Strnad's patch, with further
changes by me.
2008-09-23 09:20:39 +00:00
Tom Lane
c52aab5525 Get rid of pgpass_from_client tracking inside libpq --- given the conclusion
that presence of the password in the conninfo string must be checked *before*
risking a connection attempt, there is no point in checking it afterwards.
This makes the specification of PQconnectionUsedPassword() a bit simpler
and perhaps more generally useful, too.
2008-09-22 14:21:44 +00:00
Tom Lane
cae7ad906a Fix dblink_connect() so that it verifies that a password is supplied in the
conninfo string *before* trying to connect to the remote server, not after.
As pointed out by Marko Kreen, in certain not-very-plausible situations
this could result in sending a password from the postgres user's .pgpass file,
or other places that non-superusers shouldn't have access to, to an
untrustworthy remote server.  The cleanest fix seems to be to expose libpq's
conninfo-string-parsing code so that dblink can check for a password option
without duplicating the parsing logic.

Joe Conway, with a little cleanup by Tom Lane
2008-09-22 13:55:14 +00:00
Tom Lane
3290e6180f Add a PQfireResultCreateEvents function to allow applications to mimic the
sequence of operations that libpq goes through while creating a PGresult.
Also, remove ill-considered "const" decoration on parameters passed to
event procedures.
2008-09-19 20:06:13 +00:00
Tom Lane
4e57668da4 Create a selectivity estimation function for the text search @@ operator.
Jan Urbanski
2008-09-19 19:03:41 +00:00
Tom Lane
e2b7d0c65c Improve the recently-added libpq events code to provide more consistent
guarantees about whether event procedures will receive DESTROY events.
They no longer need to defend themselves against getting a DESTROY
without a successful prior CREATE.

Andrew Chernow
2008-09-19 16:40:40 +00:00
Tom Lane
9fe79c39ca Preliminary release notes for upcoming back branch releases. 2008-09-17 20:57:35 +00:00
Tom Lane
32f159cc55 Add an "events" system to libpq, whereby applications can get callbacks that
enable them to manage private data associated with PGconns and PGresults.

Andrew Chernow and Merlin Moncure
2008-09-17 04:31:08 +00:00
Tom Lane
4adc2f72a4 Change hash indexes to store only the hash code rather than the whole indexed
value.  This means that hash index lookups are always lossy and have to be
rechecked when the heap is visited; however, the gain in index compactness
outweighs this when the indexed values are wide.  Also, we only need to
perform datatype comparisons when the hash codes match exactly, rather than
for every entry in the hash bucket; so it could also win for datatypes that
have expensive comparison functions.  A small additional win is gained by
keeping hash index pages sorted by hash code and using binary search to reduce
the number of index tuples we have to look at.

Xiao Meng

This commit also incorporates Zdenek Kotala's patch to isolate hash metapages
and hash bitmaps a bit better from the page header datastructures.
2008-09-15 18:43:41 +00:00
Magnus Hagander
440b3384b0 Add missing quotes. 2008-09-15 12:41:54 +00:00
Magnus Hagander
9872381090 Parse pg_hba.conf in postmaster, instead of once in each backend for
each connection. This makes it possible to catch errors in the pg_hba
file when it's being reloaded, instead of silently reloading a broken
file and failing only when a user tries to connect.

This patch also makes the "sameuser" argument to ident authentication
optional.
2008-09-15 12:32:57 +00:00
Magnus Hagander
5a1d35ce5c Polish and Turkish FAQ also needed converting to UTF8 2008-09-15 08:50:09 +00:00
Magnus Hagander
3a58d2e172 Convert Russian FAQ to UTF8, to make it render properly on the website. 2008-09-15 08:40:46 +00:00
Tom Lane
ffea8fd381 Update citext's documentation to match the recently-applied patch,
per David Wheeler.
2008-09-12 18:29:49 +00:00
Peter Eisentraut
cdd0895978 Update man page build instructions. 2008-09-12 08:43:53 +00:00
Tom Lane
cff4aa6ad6 Add a duration option to pgbench, so that test length can be specified in seconds
instead of by number of transactions to run.  Takahiro Itagaki
2008-09-11 23:52:48 +00:00
Tom Lane
06edce4c3f Tighten up to_date/to_timestamp so that they are more likely to reject
erroneous input, rather than silently producing bizarre results as formerly
happened.

Brendan Jurd
2008-09-11 17:32:34 +00:00
Tom Lane
70530c808b Adjust the parser to accept the typename syntax INTERVAL ... SECOND(n)
and the literal syntax INTERVAL 'string' ... SECOND(n), as required by the
SQL standard.  Our old syntax put (n) directly after INTERVAL, which was
a mistake, but will still be accepted for backward compatibility as well
as symmetry with the TIMESTAMP cases.

Change intervaltypmodout to show it in the spec's way, too.  (This could
potentially affect clients, if there are any that analyze the typmod of an
INTERVAL in any detail.)

Also fix interval input to handle 'min:sec.frac' properly; I had overlooked
this case in my previous patch.

Document the use of the interval fields qualifier, which up to now we had
never mentioned in the docs.  (I think the omission was intentional because
it didn't work per spec; but it does now, or at least close enough to be
credible.)
2008-09-11 15:27:30 +00:00
Alvaro Herrera
3b9ec4682c Add "source file" and "source line" information to each GUC variable.
initdb forced due to changes in the pg_settings view.

Magnus Hagander and Alvaro Herrera.
2008-09-10 18:09:20 +00:00
Tom Lane
a0b76dc662 Create a separate grantable privilege for TRUNCATE, rather than having it be
always owner-only.  The TRUNCATE privilege works identically to the DELETE
privilege so far as interactions with the rest of the system go.

Robert Haas
2008-09-08 00:47:41 +00:00
Tom Lane
8818f3793e Clarify description of pg_restore's handling of large objects. 2008-09-07 19:12:57 +00:00
Tom Lane
2cf3f6694f Add a few more details in the source-code-formatting documentation.
This isn't exhaustive but it covers some of the more common layout
mistakes I've seen in submitted patches.
2008-09-07 02:01:04 +00:00
Bruce Momjian
1cfd878643 Clarify documention workding for xip_list().
Simon Riggs
2008-09-07 01:29:36 +00:00
Tom Lane
409c144d83 Adjust psql's new \ef command to present an empty CREATE FUNCTION template
for editing if no function name is specified.  This seems a much cleaner way
to offer that functionality than the original patch had.  In passing,
de-clutter the error displays that are given for a bogus function-name
argument, and standardize on "$function$" as the default delimiter for the
function body.  (The original coding would use the shortest possible
dollar-quote delimiter, which seems to create unnecessarily high risk of
later conflicts with the user-modified function body.)
2008-09-06 20:18:08 +00:00
Tom Lane
2c863ca818 Implement a psql command "\ef" to edit the definition of a function.
In support of that, create a backend function pg_get_functiondef().
The psql command is functional but maybe a bit rough around the edges...

Abhijit Menon-Sen
2008-09-06 00:01:25 +00:00
Peter Eisentraut
11f53b1063 Code coverage testing with gcov. Documentation is in the regression test
chapter.

Author: Michelle Caisse <Michelle.Caisse@Sun.COM>
2008-09-05 12:11:18 +00:00
Alvaro Herrera
7ad60b49dc Fixup pg_dumpall adding --lock-wait-timeout, to match pg_dump.
David Gould
2008-08-29 17:28:43 +00:00
Peter Eisentraut
7c31742a07 Remove all traces that suggest that a non-Bison yacc might be supported, and
change build system to use only Bison.  Simplify build rules, make file names
uniform.  Don't build the token table header file where it is not needed.
2008-08-29 13:02:33 +00:00
Tom Lane
6741688b16 Fix pg_dump docs to acknowledge that you can use -Z with plain text output. Pointed out by Daniel Migowski. 2008-08-26 00:03:15 +00:00
Tom Lane
e36716a653 Add standard boilerplate sentence about when stats_temp_directory can be changed. 2008-08-25 19:03:37 +00:00
Magnus Hagander
f1e237b6b2 Unconditionally write the statsfile when SIGHUP is received, to minimize
the window during which backends have no statistics file to read.
2008-08-25 18:55:43 +00:00
Alvaro Herrera
2bb4d09cac Have man page generation work on VPATH builds too. 2008-08-25 15:34:05 +00:00
Magnus Hagander
be8d6c5c34 Make stats_temp_directory PGC_SIGHUP, and document how it may cause a temporary
"outage" of the statistics views.

This requires making the stats collector respond to SIGHUP, like the other
utility processes already did.
2008-08-25 15:11:01 +00:00
Bruce Momjian
42d313f546 Update link to developer's FAQ from main FAQ. 2008-08-23 01:55:36 +00:00