Commit Graph

3995 Commits

Author SHA1 Message Date
Bruce Momjian a2b6c896e5 Rename in release notes: Mac -> OS/X, Intel to x86:
Fix for OS/X Bonjour on x86 systems (Ashley Clark)
2006-05-23 20:20:52 +00:00
Tom Lane e9cc53025a Update release notes for upcoming releases. 2006-05-21 21:49:22 +00:00
Tom Lane 515112f9d4 Modify libpq's string-escaping routines to be aware of encoding considerations
and standard_conforming_strings.  The encoding changes are needed for proper
escaping in multibyte encodings, as per the SQL-injection vulnerabilities
noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
to the server to ensure that it rejects queries that may have been corrupted
by attempted SQL injection, but this merely guarantees that unpatched clients
will fail rather than allow injection.  An actual fix requires changing the
client-side code.  While at it we have also fixed these routines to understand
about standard_conforming_strings, so that the upcoming changeover to SQL-spec
string syntax can be somewhat transparent to client code.

Since the existing API of PQescapeString and PQescapeBytea provides no way to
inform them which settings are in use, these functions are now deprecated in
favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
functions take the PGconn to which the string will be sent as an additional
parameter, and look inside the connection structure to determine what to do.
So as to provide some functionality for clients using the old functions,
libpq stores the latest encoding and standard_conforming_strings values
received from the backend in static variables, and the old functions consult
these variables.  This will work reliably in clients using only one Postgres
connection at a time, or even multiple connections if they all use the same
encoding and string syntax settings; which should cover many practical
scenarios.

Clients that use homebrew escaping methods, such as PHP's addslashes()
function or even hardwired regexp substitution, will require extra effort
to fix :-(.  It is strongly recommended that such code be replaced by use of
PQescapeStringConn/PQescapeByteaConn if at all feasible.
2006-05-21 20:19:23 +00:00
Tom Lane b3eb4ea5d8 Add a new GUC parameter backslash_quote, which determines whether the SQL
parser will allow "\'" to be used to represent a literal quote mark.  The
"\'" representation has been deprecated for some time in favor of the
SQL-standard representation "''" (two single quote marks), but it has been
used often enough that just disallowing it immediately won't do.  Hence
backslash_quote allows the settings "on", "off", and "safe_encoding",
the last meaning to allow "\'" only if client_encoding is a valid server
encoding.  That is now the default, and the reason is that in encodings
such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a
multibyte character, accepting "\'" allows SQL-injection attacks as per
CVE-2006-2314 (further details will be published after release).  The
"on" setting is available for backward compatibility, but it must not be
used with clients that are exposed to untrusted input.

Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21 20:10:42 +00:00
Alvaro Herrera 1f219cf433 Add last-vacuum/analyze-time columns to the stats collector, both manual and
issued by autovacuum.  Add accessor functions to them, and use those in the
pg_stat_*_tables system views.

Catalog version bumped due to changes in the pgstat views and the pgstat file.

Patch from Larry Rosenman, minor improvements by me.
2006-05-19 19:08:27 +00:00
Bruce Momjian 411a64ba73 Stamp 8.1.4, except configure/configure.in. 2006-05-19 03:55:40 +00:00
Bruce Momjian 7540476dc6 Update release notes for 8.1.4. 2006-05-19 03:49:05 +00:00
Bruce Momjian 45ec63cb24 Change <type>string</> to <parameter>string</>. 2006-05-18 03:18:24 +00:00
Bruce Momjian d6a35c8125 Make function param_name/type documentation more consistent. 2006-05-18 00:50:08 +00:00
Bruce Momjian 18627c5531 Allow the .pgpass hostname to match the default socket directory, as
well as a blank pghost.
2006-05-17 21:50:54 +00:00
Bruce Momjian fb4c180da0 Update pg_dump vesion wording. 2006-05-13 17:10:35 +00:00
Bruce Momjian 4b7b1df8a6 Mention version portability of pg_dump. 2006-05-13 16:19:54 +00:00
Tom Lane 637028afe1 Code review for standard_conforming_strings patch. Fix it so it does not
throw warnings for 100%-SQL-standard constructs, clean up some minor
infelicities, try to un-break ecpg to the best of my ability.  (It's not clear
how ecpg is going to find out the setting of standard_conforming_strings,
though.)  I think pg_dump still needs work, too.
2006-05-11 19:15:36 +00:00
Tom Lane 3fdeb189e9 Clean up code associated with updating pg_class statistics columns
(relpages/reltuples).  To do this, create formal support in heapam.c for
"overwrite" tuple updates (including xlog replay capability) and use that
instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
Take the responsibility for updating stats during CREATE INDEX out of the
individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
from being more modular, this avoids having to update the same tuple twice in
some paths through CREATE INDEX.  It's probably not measurably faster, but
for sure it's a lot cleaner than before.
2006-05-10 23:18:39 +00:00
Bruce Momjian 12049d343e Revert documentation mention of array dimension checking, in next paragraph. 2006-05-09 23:12:54 +00:00
Bruce Momjian 0c9fab6c3b Mention array dimmensions are not enforced either. 2006-05-09 16:31:23 +00:00
Bruce Momjian d9d2d91544 Recommend more clearly custom pg_dump format over tar, buy showing
custom format examples first.
2006-05-06 23:25:37 +00:00
Bruce Momjian bcf860b7f3 Document SSL CRL usage by libpq. 2006-05-06 16:25:11 +00:00
Tom Lane 52667d56a3 Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
The former approach used ExclusiveLock on pg_database, which being a
cluster-wide lock meant only one of these operations could proceed at
a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
Now that we have LockSharedObject(), we can use locks of different types
applied to databases considered as objects.  This allows much more
flexible management of the interlocking: two CREATE DATABASEs need not
block each other, and need not block connections except to the template
database being used.  Similarly DROP DATABASE doesn't block unrelated
operations.  The locking used in flatfiles.c is also much narrower in
scope than before.  Per recent proposal.
2006-05-04 16:07:29 +00:00
Tom Lane e57345975c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
This formulation requires every AM to provide amvacuumcleanup, unlike before,
but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
2006-05-02 22:25:10 +00:00
Tom Lane d3171dd64b Fix broken markup. 2006-05-02 18:07:51 +00:00
Tom Lane 82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
2006-04-30 21:15:33 +00:00
Tom Lane 986085a7f0 Improve the representation of FOR UPDATE/FOR SHARE so that we can
support both FOR UPDATE and FOR SHARE in one command, as well as both
NOWAIT and normal WAIT behavior.  The more general code is actually
simpler and cleaner.
2006-04-30 18:30:40 +00:00
Bruce Momjian 4899aaf2d5 Add GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf.
Gevik Babakhani
2006-04-30 02:09:07 +00:00
Bruce Momjian e747f4935a Add support for SSL Certificate Revocation List (CRL) files, root.crl.
Libor Hoho?
2006-04-27 02:29:14 +00:00
Bruce Momjian 02eb8f4f5c Use schema search path to find the first matching contraint name for SET
CONSTRAINT, rather than affecting all constraints in all schemas (which
is what we used to do).  Also allow schema specifications.

Kris Jurka
2006-04-27 00:33:46 +00:00
Bruce Momjian 0df32e3cbe Allow pg_resetxlog -f to reset pg_control counters using xlog
information, and add a -r option to reset pg_control without affecting
xlog.

yuanjia lee
2006-04-26 02:17:15 +00:00
Bruce Momjian 89083876c9 Adjust SGML spacing. 2006-04-25 21:02:33 +00:00
Tom Lane 7e2d5594d7 Back out the rest of the RESET CONNECTION patch. 2006-04-25 18:58:37 +00:00
Bruce Momjian ff49a020ca Remove equals sign from environment variable with not defaults for
configure.
2006-04-25 15:19:16 +00:00
Bruce Momjian 1bd8f4f54f Make configure environment variable options without defaults not have an
equals sign.
2006-04-25 15:17:04 +00:00
Bruce Momjian 67248f7290 Add documentation about configure environment variabbles used.
David Wheeler
2006-04-25 15:14:16 +00:00
Bruce Momjian 706cbfd632 Call SET varaiables "configuration_parameter"s in the documentation. 2006-04-25 14:56:04 +00:00
Bruce Momjian e72fd16fa8 Change "parameter" to "varname" in the alter role and alter user
documentation sections.  Also update SET/RESET to be consistent.

Nicolas Barbier
2006-04-25 14:47:29 +00:00
Bruce Momjian 59d591e79a Back out RESET CONNECTION until there is more discussion. 2006-04-25 14:11:59 +00:00
Bruce Momjian 6378fdd971 Add RESET CONNECTION, to reset all aspects of a session.
Hans-J?rgen Sch?nig
2006-04-25 14:09:21 +00:00
Bruce Momjian e6004f0151 Add statement_timestamp(), clock_timestamp(), and
transaction_timestamp() (just like now()).

Also update statement_timeout() to mention it is statement arrival time
that is measured.

Catalog version updated.
2006-04-25 00:25:22 +00:00
Bruce Momjian efe3de07e9 Removes or minimizes some documentation mentions of backward
compatibility for release 7.2 and earlier.  I have not altered any
mentions of release 7.3 or later.  The release notes were not modified,
so the changes are still documented, just not in the main docs.
2006-04-23 03:39:52 +00:00
Bruce Momjian 9d483b7bcf Suggest Win32 users user E'' strings and double backslashes used for
patch separators in COPY.

Backpatch doubleing backslashes suggestion to 8.1.
2006-04-22 03:03:11 +00:00
Bruce Momjian af86aa8443 Remove kill mention in install docs, was for pre-7.0 releases. 2006-04-18 22:52:07 +00:00
Bruce Momjian f57b2f09a8 Mention "syntax" error as not logged by log_statement.
Backpatch.
2006-04-18 12:41:15 +00:00
Bruce Momjian 5bd59b9c0a Document that errors are not output by log_statement (was they were in
8.0), and add as suggestion to use log_min_error_statement for this
purpose.  I also fixed the code so the first EXECUTE has it's prepare,
rather than the last which is what was in the current code.  Also remove
"protocol" prefix for SQL EXECUTE output because it is not accurate.

Backpatch to 8.1.X.
2006-04-18 00:52:23 +00:00
Bruce Momjian 598dfee552 Document that pg_dump -d/-D prevents invalid data from canceling the
entire table load.
2006-04-15 18:11:16 +00:00
Tom Lane 3651a3e6fb Support the syntax
CREATE AGGREGATE aggname (input_type) (parameter_list)
along with the old syntax where the input type was named in the parameter
list.  This fits more naturally with the way that the aggregate is identified
in DROP AGGREGATE and other utility commands; furthermore it has a natural
extension to handle multiple-input aggregates, where the basetype-parameter
method would get ugly.  In fact, this commit fixes the grammar and all the
utility commands to support multiple-input aggregates; but DefineAggregate
rejects it because the executor isn't fixed yet.
I didn't do anything about treating agg(*) as a zero-input aggregate instead
of artificially making it a one-input aggregate, but that should be considered
in combination with supporting multi-input aggregates.
2006-04-15 17:45:46 +00:00
Bruce Momjian ef5fde0881 Oops, sysctl, not sysconf, for FreeBSD. 2006-04-11 21:04:52 +00:00
Bruce Momjian 7626181bf7 More FreeBSD jail wording improvements. 2006-04-11 19:45:33 +00:00
Bruce Momjian cc7b6c75e3 Update jail wording to mention non-root users. 2006-04-11 19:42:27 +00:00
Bruce Momjian ba60acf17e Add documentation about running postmasters in FreeBSD jails (use
separate users).
2006-04-11 19:26:42 +00:00
Peter Eisentraut 0bc2a8ca65 Build src/test/regress/README during tarball making like the other
generated text files.  Fix build of that file, too.

Put the text files in the right place during make dist, so there are no
extra manual steps required anymore.
2006-04-06 18:54:37 +00:00
Tom Lane 7fdb4305db Fix a bunch of problems with domains by making them use special input functions
that apply the necessary domain constraint checks immediately.  This fixes
cases where domain constraints went unchecked for statement parameters,
PL function local variables and results, etc.  We can also eliminate existing
special cases for domains in places that had gotten it right, eg COPY.

Also, allow domains over domains (base of a domain is another domain type).
This almost worked before, but was disallowed because the original patch
hadn't gotten it quite right.
2006-04-05 22:11:58 +00:00
Tom Lane 147d4bf3e5 Modify all callers of datatype input and receive functions so that if these
functions are not strict, they will be called (passing a NULL first parameter)
during any attempt to input a NULL value of their datatype.  Currently, all
our input functions are strict and so this commit does not change any
behavior.  However, this will make it possible to build domain input functions
that centralize checking of domain constraints, thereby closing numerous holes
in our domain support, as per previous discussion.

While at it, I took the opportunity to introduce convenience functions
InputFunctionCall, OutputFunctionCall, etc to use in code that calls I/O
functions.  This eliminates a lot of grotty-looking casts, but the main
motivation is to make it easier to grep for these places if we ever need
to touch them again.
2006-04-04 19:35:37 +00:00
Tom Lane eaef111396 Define a separately configurable XLOG_BLCKSZ symbol for the page size
used within WAL files.  Historically this was the same as the data file
BLCKSZ, but there's no necessary connection, and it's possible that
performance gains might ensue from reducing XLOG_BLCKSZ.  In any case
distinguishing two symbols should improve code clarity.  This commit
does not actually change the page size, only provide the infrastructure
to make it possible to do so.  initdb forced because of addition of a
field to pg_control.
Mark Wong, with some help from Simon Riggs and Tom Lane.
2006-04-03 23:35:05 +00:00
Neil Conway 7815ca7bef Rewrite much of psql's \connect code, for the sake of code clarity and
to fix regressions introduced in the recent patch adding additional
\connect options. This is based on work by Volkan YAZICI, although
this version of the patch doesn't bear much resemblance to Volkan's
version.

\connect takes 4 optional arguments: database name, user name, host
name, and port number. If any of those parameters are omitted or
specified as "-", the value of that parameter from the previous
connection is used instead; if there is no previous connection,
the libpq default is used. Note that this behavior makes it
impossible to reuse the libpq defaults without quitting psql and
restarting it; I don't really see the use case for needing to do
that.
2006-04-02 20:08:22 +00:00
Peter Eisentraut f7ae90041e Update information schema for SQL:2003 and new PostgreSQL features. 2006-04-02 17:38:13 +00:00
Neil Conway d73336f8f4 Correct some errors and do some SGML police work on the reference pages
for REASSIGN OWNED and DROP OWNED.
2006-04-02 04:02:40 +00:00
Neil Conway a619e068d3 Minor improvement to DROP TABLE reference page. 2006-04-02 03:56:40 +00:00
Peter Eisentraut 5094f99830 Document long names for format options (plain, tar, custom). They already
worked and someone asked about them, so we might as well document them.
2006-03-17 16:02:47 +00:00
Bruce Momjian f3d99d160d Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
Neil Conway 0ebf1cc834 Implement 4 new aggregate functions from SQL2003. Specifically: var_pop(),
var_samp(), stddev_pop(), and stddev_samp(). var_samp() and stddev_samp()
are just renamings of the historical Postgres aggregates variance() and
stddev() -- the latter names have been kept for backward compatibility.
This patch includes updates for the documentation and regression tests.
The catversion has been bumped.

NB: SQL2003 requires that DISTINCT not be specified for any of these
aggregates. Per discussion on -patches, I have NOT implemented this
restriction: if the user asks for stddev(DISTINCT x), presumably they
know what they are doing.
2006-03-10 20:15:28 +00:00
Bruce Momjian 497b5ad928 Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
Tom Lane 66fc528d99 Remove somebody's flight of fancy about an UPDATE with ORDER BY and LIMIT. 2006-03-08 22:59:09 +00:00
Bruce Momjian ce1106d2fa Properly set "escape_string_warning" to default to true. 2006-03-07 02:54:23 +00:00
Bruce Momjian 135fe1899d SGML typo fix. 2006-03-06 22:54:14 +00:00
Bruce Momjian d69b163247 Attached is the new patch. To summarize:
- new function justify_interval(interval)
   - modified function justify_hours(interval)
   - modified function justify_days(interval)

These functions are defined to meet the requirements as discussed in
this thread.  Specifically:

   - justify_hours makes certain the sign bit on the hours
     matches the sign bit on the days.  It only checks the
     sign bit on the days, and not the months, when
     determining if the hours should be positive or negative.
     After the call, -24 < hours < 24.

   - justify_days makes certain the sign bit on the days
     matches the sign bit on the months.  It's behavior does
     not depend on the hours, nor does it modify the hours.
     After the call, -30 < days < 30.

   - justify_interval makes sure the sign bits on all three
     fields months, days, and hours are all the same.  After
     the call, -24 < hours < 24 AND -30 < days < 30.

Mark Dilger
2006-03-06 22:49:17 +00:00
Bruce Momjian 19c21d115d Enable standard_conforming_strings to be turned on.
Kevin Grittner
2006-03-06 19:49:20 +00:00
Bruce Momjian 7d40942a27 in the docs, the function "ascii(text)" is described as
returning "ASCII code of the first character of the argument"

(see
http://www.postgresql.org/docs/8.1/interactive/functions-string.html,
Table  9-6. "Other String Functions").

Presumably this should read "ASCII code of the first byte of the
argument",
which is what is returned when the argument is a multi-byte character
(although then with UTF-8 at least that might not necessarily be an
ASCII
code).

Ian Barwick
2006-03-06 04:53:50 +00:00
Andrew Dunstan 5d723d05c0 Prepared queries for PLPerl, plus fixing a small plperl memory leak. Patch
and docs from Dmitry Karasik, slightly editorialised.
2006-03-05 16:40:51 +00:00
Bruce Momjian f2f5b05655 Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Tom Lane c1bb2877b2 Improve OS X shared-memory documentation: fix typos and provide a usable
example of /etc/sysctl.conf contents.
2006-03-05 03:50:44 +00:00
Tom Lane 5b8ac71042 Support include directives in postgresql.conf.
Patch by Joachim Wieland, somewhat reworked for clarity and portability.
2006-03-04 22:19:31 +00:00
Bruce Momjian f1d7f80c1a > It doesn't say that only the listed commands acquire ACCESS EXCLUSIVE,
> just that certain commands do.  TRUNCATE isn't shown.

Patch against HEAD to add TRUNCATE to the list of commands that aquire
ACCESS EXCLUSIVE.

Jim C. Nasby, Sr.
2006-03-04 04:41:36 +00:00
Bruce Momjian 26d6054128 That was a typo in my comment before the code (the nutshell
descriptions after the code are correct). Only shmmax needs to be
multiples of the page size (at least, that's how I interpret the
Darwin code).

Chris Campbell
2006-03-04 03:47:29 +00:00
Bruce Momjian 43e9bab94a Rename Online Backup to Continuous Archiving. 2006-03-03 22:02:08 +00:00
Tom Lane 523adeb111 Teach PQcmdTuples() that a COPY command tag might contain a row count,
and tighten up its sanity checking of the tag as a safety measure.
Volkan Yazici.
2006-03-03 20:57:32 +00:00
Tom Lane 023570f5e3 Make the COPY command return a command tag that includes the number of
rows copied.  Backend side of Volkan Yazici's recent patch, with
corrections and documentation.
2006-03-03 19:54:10 +00:00
Tom Lane 984a6ced3e Add CASCADE option to TRUNCATE. Joachim Wieland 2006-03-03 03:30:54 +00:00
Bruce Momjian b35440eae8 Appended is a small documentation patch that adds a note to the CREATE
ROLE page, based on what Tom Lane told me here:

	http://archives.postgresql.org/pgsql-general/2005-11/msg00998.php


Joachim Wieland
2006-03-03 03:06:05 +00:00
Tom Lane 56aa84a69c Fix ancient error in large objects usage example: overwrite() subroutine
was opening with INV_READ flag and then writing.  Prior to 8.1 the backend
did not reject this, but now it does.
2006-03-02 21:49:09 +00:00
Bruce Momjian 487b7f5de3 Update OS X shared memory documentation for 10.3.9 and later to use
/etc/sysctl.conf.

Chris Campbell
2006-03-02 20:30:21 +00:00
Bruce Momjian 33a84bb306 Mark tsearch2 item as Tom's, not Teodor's. 2006-03-02 19:34:43 +00:00
Neil Conway 8e5a10d46c This patch makes the error message strings throughout the backend
more compliant with the error message style guide. In particular,
errdetail should begin with a capital letter and end with a period,
whereas errmsg should not. I also fixed a few related issues in
passing, such as fixing the repeated misspelling of "lexeme" in
contrib/tsearch2 (per Tom's suggestion).
2006-03-01 06:30:32 +00:00
Bruce Momjian 87fa10a426 Add pg_service.conf documentation for libpq. 2006-03-01 00:23:21 +00:00
Tom Lane 8e68d78390 Allow the syntax CREATE TYPE foo, with no parameters, to permit explicit
creation of a shell type.  This allows a less hacky way of dealing with
the mutual dependency between a datatype and its I/O functions: make a
shell type, then make the functions, then define the datatype fully.
We should fix pg_dump to handle things this way, but this commit just deals
with the backend.

Martijn van Oosterhout, with some corrections by Tom Lane.
2006-02-28 22:37:27 +00:00
Bruce Momjian 7f19339cca Back out libpq changes for service --- not ready yet. 2006-02-28 22:35:35 +00:00
Bruce Momjian b04d19f230 Fix PG_VERSION_NUM for different awk -F handling. 2006-02-28 22:34:24 +00:00
Neil Conway c5e0415a28 Minor SGML work: add some more hyperlinks, where appropriate. 2006-02-26 03:20:46 +00:00
Bruce Momjian eb8f9cc066 Mention that the archive history file has the wal start/stop file names. 2006-02-24 14:03:01 +00:00
Neil Conway 85c0eac1af Add TABLESPACE and ON COMMIT clauses to CREATE TABLE AS. ON COMMIT is
required by the SQL standard, and TABLESPACE is useful functionality.
Patch from Kris Jurka, minor editorialization by Neil Conway.
2006-02-19 00:04:28 +00:00
Neil Conway 8c5dfbabff Minor SGML style police work. 2006-02-18 23:14:45 +00:00
Peter Eisentraut 1b658473ea Add support for Windows codepages 1253, 1254, 1255, and 1257 and clean
up a bunch of the support utilities.

In src/backend/utils/mb/Unicode remove nearly duplicate copies of the
UCS_to_XXX perl script and replace with one version to handle all generic
files.  Update the Makefile so that it knows about all the map files.
This produces a slight difference in some of the map files, using a
uniform naming convention and not mapping the null character.

In src/backend/utils/mb/conversion_procs create a master utf8<->win
codepage function like the ISO 8859 versions instead of having a separate
handler for each conversion.

There is an externally visible change in the name of the win1258 to utf8
conversion.  According to the documentation notes, it was named
incorrectly and this changes it to a standard name.

Running the Unicode mapping perl scripts has shown some additional mapping
changes in koi8r and iso8859-7.
2006-02-18 16:15:23 +00:00
Peter Eisentraut 422998d275 Put the first section of a chapter in its own chunk. 2006-02-16 01:03:48 +00:00
Bruce Momjian 99b384b8b6 Document that GRANT on a table does not affect sequence permissions,
inclusing SERIAL column sequences.
2006-02-14 03:32:14 +00:00
Bruce Momjian e93b33754c Document that xact commit/abort stats are collected if any stat variable
is set.
2006-02-14 02:03:44 +00:00
Tom Lane d537e0b41b Improve documentation of --single-transaction option: fix markup, and
don't promise more than the code actually delivers.
2006-02-13 21:29:08 +00:00
Tom Lane 47a048f3f3 Update release notes. 2006-02-12 22:35:26 +00:00
Tom Lane 1ac1526ea0 Fix broken markup. 2006-02-12 20:31:58 +00:00
Bruce Momjian 04a2b54c09 Revert patch becaues of locking concerns:
Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME

Joachim Wieland
2006-02-12 19:11:01 +00:00
Bruce Momjian 92a26489ac > Actually, if you submit a patch that says either "SCROLL is the
default"
> or "NO SCROLL is the default", it will be rejected as incorrect.  The
> reason is that the default behavior is different from either of these,
> as is explained in the NOTES section.

Ok, so *that's* where the bit about the query plan being simple enough.
Based on that, ISTM that it should be premissable for us to decide that
a cursor requiring a sort isn't "simple enough" to support SCROLL.

In any case, here's a patch that makes the non-standard behavior easier
for people to find.

Jim C. Nasby
2006-02-12 19:02:15 +00:00
Bruce Momjian 0bbd470443 Fix release item ordering. 2006-02-12 18:13:10 +00:00
Bruce Momjian 6df2da06bd Update back branch release notes. 2006-02-12 17:57:37 +00:00
Bruce Momjian a321d6755f Fix release markup. 2006-02-12 17:27:33 +00:00
Bruce Momjian 720bad3b32 Update release notes for 8.1.3. 2006-02-12 17:10:47 +00:00
Tom Lane 15c72174f3 Apply code-reviewed version of for-scalar-list patch: mostly, fixing
it to report reasonable errors in error cases.
2006-02-12 06:37:05 +00:00
Bruce Momjian 58634caa0f Add MSVC support for utility commands and pg_dump.
Hiroshi Saito
2006-02-12 06:11:51 +00:00
Bruce Momjian 025ffe586f Allow PL/pgSQL FOR statement to return values to scalars as well as
records and row types.

Pavel Stehule
2006-02-12 06:03:38 +00:00
Bruce Momjian f695750c43 Allow to_char() to print localized month and day names.
Euler Taveira de Oliveira
2006-02-12 04:44:15 +00:00
Bruce Momjian 0f57851e31 Add psql option:
-1 or --single-transaction

Simon Riggs
2006-02-12 04:04:32 +00:00
Bruce Momjian f9a726aa88 I've created a new shared catalog table pg_shdescription to store
comments on cluster global objects like databases, tablespaces, and
roles.

It touches a lot of places, but not much in the way of big changes.  The
only design decision I made was to duplicate the query and manipulation
functions rather than to try and have them handle both shared and local
comments.  I believe this is simpler for the code and not an issue for
callers because they know what type of object they are dealing with.
This has resulted in a shobj_description function analagous to
obj_description and backend functions [Create/Delete]SharedComments
mirroring the existing [Create/Delete]Comments functions.

pg_shdescription.h goes into src/include/catalog/

Kris Jurka
2006-02-12 03:22:21 +00:00
Bruce Momjian 07bae9c099 Please find enclosed a patch that lets you use \c to connect
(optionally) to a new host and port without exiting psql.  This
eliminates, IMHO, a surprise in that you can now connect to PostgreSQL
on a differnt machine from the one where you started your session. This
should help people who use psql as an administrative tool.

David Fetter
2006-02-12 02:54:30 +00:00
Tom Lane fd267c1ebc Skip ambulkdelete scan if there's nothing to delete and the index is not
partial.  None of the existing AMs do anything useful except counting
tuples when there's nothing to delete, and we can get a tuple count
from the heap as long as it's not a partial index.  (hash actually can
skip anyway because it maintains a tuple count in the index metapage.)
GIST is not currently able to exploit this optimization because, due to
failure to index NULLs, GIST is always effectively partial.  Possibly
we should fix that sometime.
Simon Riggs w/ some review by Tom Lane.
2006-02-11 23:31:34 +00:00
Bruce Momjian a02f6ce33b Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
Joachim Wieland
2006-02-11 22:17:19 +00:00
Bruce Momjian 1372515271 Add INET/CIDR operators: and, or, not, plus int8, minus int8, and inet
minus inet.

Stephen R. van den Berg
2006-02-11 03:32:41 +00:00
Tom Lane 7ae2ccbc85 Reject out-of-range dates in date_in().
Kris Jurka
2006-02-09 03:39:17 +00:00
Bruce Momjian db5e39b2f0 Fix typo in configuration docs.
Devrim GUNDUZ
2006-02-05 18:19:14 +00:00
Bruce Momjian 354213c7f4 Update PL/pgSQL trigger example to be clearer about how to "merge" data
into a table.

Jim C. Nasby
2006-02-05 02:47:53 +00:00
Tom Lane 3893127431 Fix constraint exclusion to work in inherited UPDATE/DELETE queries
... in fact, it will be applied now in any query whatsoever.  I'm still
a bit concerned about the cycles that might be expended in failed proof
attempts, but given that CE is turned off by default, it's the user's
choice whether to expend those cycles or not.  (Possibly we should
change the simple bool constraint_exclusion parameter to something
more fine-grained?)
2006-02-04 23:03:20 +00:00
Tom Lane 48d9ad3722 Fix broken markup. 2006-02-04 22:38:39 +00:00
Andrew Dunstan f8b54fe6ed DROP IF EXISTS for ROLE/USER/GROUP 2006-02-04 19:06:47 +00:00
Michael Meskes 097df388b7 Removed single quotes from connect to example. 2006-01-31 13:32:20 +00:00
Tom Lane 8d8bf12760 Clean up the INET-vs-CIDR situation. Get rid of the internal is_cidr flag
and rely exclusively on the SQL type system to tell the difference between
the types.  Prevent creation of invalid CIDR values via casting from INET
or set_masklen() --- both of these operations now silently zero any bits
to the right of the netmask.  Remove duplicate CIDR comparison operators,
letting the type rely on the INET operators instead.
2006-01-26 02:35:51 +00:00
Tom Lane 726b42abd0 Improve wording of descriptions of SIGHUP GUC parameters, as per my
suggestion a couple days ago.  Fix some cases in which the documentation
neglected to mention any restriction on when a parameter can be set.
Try to be consistent about calling parameters parameters; use the term
option only for command-line switches.
2006-01-23 18:16:41 +00:00
Tom Lane 16c5a471a3 Improve note about not using the target table name in the SET clause.
It's not related to whether an alias is used or not.
2006-01-22 20:34:11 +00:00
Neil Conway 1d763d9107 Allow an optional alias for the target table to be specified for UPDATE
and DELETE. If specified, the alias must be used instead of the full
table name. Also, the alias currently cannot be used in the SET clause
of UPDATE.

Patch from Atsushi Ogawa, various editorialization by Neil Conway.
Along the way, make the rowtypes regression test pass if add_missing_from
is enabled, and add a new (skeletal) regression test for DELETE.
2006-01-22 05:20:35 +00:00
Neil Conway 57a84ca48e Minor improvements to GEQO documentation. 2006-01-22 03:56:58 +00:00
Tom Lane b42f307340 Marginal improvements in the wording of the autovacuum documentation:
be consistent about whether it's called a daemon or a subprocess, and
don't describe the autovacuum setting in exactly the same way as the
stats_start_collector setting, because that leaves people thinking (if
they aren't paying close attention) that autovacuum can't be changed
on the fly.
2006-01-21 19:34:42 +00:00
Tom Lane 27959dd746 Fix broken markup. 2006-01-21 19:05:59 +00:00
Bruce Momjian 4789e98801 Add GRANT ON SEQUENCE syntax to support sequence-only permissions.
Continue to support GRANT ON [TABLE] for sequences for backward
compatibility;  issue warning for invalid sequence permissions.

[Backward compatibility warning message.]

Add USAGE permission for sequences that allows only currval() and
nextval(), not setval().

Mention object name in grant/revoke warnings because of possible
multi-object operations.
2006-01-21 02:16:21 +00:00
Bruce Momjian 138fdf32bb Update EXPLAIN wording for GEQO usage. 2006-01-20 16:41:55 +00:00
Bruce Momjian cd5d464e9f Doc patch that adds an example of a correllated UPDATE.
David Fetter
2006-01-19 23:09:42 +00:00
Bruce Momjian 807cb000f6 Clarify STABLE function documentation to highlight how such functions
can be optimized.
2006-01-19 22:52:08 +00:00
Bruce Momjian 7259cc1e7e Clarify use of btree indexes for ILIKE and ~*. 2006-01-18 21:29:45 +00:00
Bruce Momjian ccebb6745e You'll find attached a patch for a fixed explanation on parameter_mode
column, OUT and INOUT added.

Guillaume LELARGE
2006-01-18 21:02:55 +00:00
Neil Conway 33e06ebccb Add a new system view, pg_cursors, that displays the currently available
cursors. Patch from Joachim Wieland, review and ediorialization by Neil
Conway. The view lists cursors defined by DECLARE CURSOR, using SPI, or
via the Bind message of the frontend/backend protocol. This means the
view does not list the unnamed portal or the portal created to implement
EXECUTE. Because we do list SPI portals, there might be more rows in
this view than you might expect if you are using SPI implicitly (e.g.
via a procedural language).

Per recent discussion on -hackers, the query string included in the
view for cursors defined by DECLARE CURSOR is based on
debug_query_string. That means it is not accurate if multiple queries
separated by semicolons are submitted as one query string. However,
there doesn't seem a trivial fix for that: debug_query_string
is better than nothing. I also changed SPI_cursor_open() to include
the source text for the portal it creates: AFAICS there is no reason
not to do this.

Update the documentation and regression tests, bump the catversion.
2006-01-18 06:49:30 +00:00
Bruce Momjian e38217d1ec Improve constraint_name wording. 2006-01-16 20:48:49 +00:00
Bruce Momjian a0ae3dbacb Add markup for new constraint_name mention. 2006-01-16 19:53:12 +00:00
Bruce Momjian 9200318972 Add documentaiotn mention that constraint names can be sentences that
can convey information to clients on constraint violation.
2006-01-16 19:50:03 +00:00
Neil Conway b06e6f1a9a Change the parameter_types column of the pg_prepared_statements to be
an array of regtype, rather than an array of OIDs. This is likely to
be more useful to user, and the type OID can easily be obtained by
casting a regtype value to OID. Per suggestion from Tom.

Update the documentation and regression tests, and bump the catversion.
2006-01-16 18:15:31 +00:00
Neil Conway 106a3695f5 Allow the types of parameters to PREPARE to be inferred. If a parameter's
data type is unspecified or is declared to be "unknown", the type will
be inferred from the context in which the parameter is used. This was
already possible for protocol-level prepared statements.
2006-01-15 22:18:47 +00:00
Tom Lane 7d6d02b640 Document that CREATE OPERATOR CLASS amounts to granting public execute
permissions on the functions and operators contained in the opclass.
Since we already require superuser privilege to create an operator class,
there's no expansion-of-privilege hazard here, but if someone were to get
the idea of building an opclass containing functions that need security
restrictions, we'd better warn them off.  Also, change the permission
checks from have-execute-privilege to have-ownership, and then comment
them all out since they're dead code anyway under the superuser restriction.
2006-01-13 18:10:25 +00:00
Tom Lane 1564e92cea Require the issuer of CREATE TYPE to own the functions mentioned in the
type definition.  Because use of a type's I/O conversion functions isn't
access-checked, CREATE TYPE amounts to granting public execute permissions
on the functions, and so allowing it to anybody means that someone could
theoretically gain access to a function he's not supposed to be able to
execute.  The parameter-type restrictions already enforced by CREATE TYPE
make it fairly unlikely that this oversight is meaningful in practice,
but still it seems like a good idea to plug the hole going forward.
Also, document the implicit grant just in case anybody gets the idea of
building I/O functions that might need security restrictions.
2006-01-13 18:06:45 +00:00
Tom Lane 9484e14c5c Remove extraneous backslash from 'fixseq.sql' example --- mea culpa
certainly.  Per report from George Woodring.
2006-01-12 18:09:24 +00:00
Tom Lane 445144b8c2 Update comment about outer joins in description of geqo_threshold. 2006-01-11 23:14:29 +00:00
Neil Conway 416689c866 Documentation tweak: add spaces around the brackets in the description
of the CREATE CONVERSION syntax, for consistency with the other SQL
reference pages.
2006-01-11 22:16:39 +00:00
Tom Lane 782eefc580 Create a standard function pg_sleep() to sleep for a specified amount of time.
Replace the former ad-hoc implementation used in the regression tests.
Joachim Wieland
2006-01-11 20:12:43 +00:00
Neil Conway 44b928e876 Add a new system view, pg_prepared_statements, that can be used to
access information about the prepared statements that are available
in the current session. Original patch from Joachim Wieland, various
improvements by Neil Conway.

The "statement" column of the view contains the literal query string
sent by the client, without any rewriting or pretty printing. This
means that prepared statements created via SQL will be prefixed with
"PREPARE ... AS ", whereas those prepared via the FE/BE protocol will
not. That is unfortunate, but discussion on -patches did not yield an
efficient way to improve this, and there is some merit in returning
exactly what the client sent to the backend.

Catalog version bumped, regression tests updated.
2006-01-08 07:00:27 +00:00
Tom Lane 615d99feb4 Release-note updates and copy editing. 2006-01-06 02:59:57 +00:00
Tom Lane bf7faa7c8f Fix broken markup. 2006-01-06 01:35:09 +00:00
Bruce Momjian 04236bb296 New pgcrypto item wording. 2006-01-05 15:19:05 +00:00
Bruce Momjian 8b2b1d87f8 Wording improvements. 2006-01-05 15:12:36 +00:00
Bruce Momjian 1c59af06db Improve markup. 2006-01-05 14:53:47 +00:00
Peter Eisentraut 86c23a6eb2 Make all command-line options of postmaster and postgres the same. See
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
2006-01-05 10:07:46 +00:00
Bruce Momjian 4e1712ea54 Update release notes for 8.1.X, 8.0.X, 7.4.X, and 7.3.X. 2006-01-05 05:15:50 +00:00
Bruce Momjian 44f9021223 Remove BEOS port. 2006-01-05 03:01:38 +00:00
Bruce Momjian a1675649e4 Remove QNX port. 2006-01-05 01:56:30 +00:00
Bruce Momjian be6187e1c2 Remove a space that incorrectly precedes a comma in the PL/pgSQL
documentation.

Michael Fuhr
2005-12-29 04:02:32 +00:00
Bruce Momjian 9c72df4e86 Update COPY CSV \. wording for externally created files. 2005-12-28 14:38:32 +00:00
Bruce Momjian 87289ff35c Add regression tests for CSV and \., and add automatic quoting of a
single column dump that has a \. value, so the load works properly.  I
also added documentation describing this issue.
2005-12-28 03:25:32 +00:00
Tom Lane 6e07709760 Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly).  Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names.  This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.

I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.

initdb forced due to changes in stored rules.
2005-12-28 01:30:02 +00:00
Andrew Dunstan a37422e042 Increase amount of shared buffers initdb tries to allocate to 4000,
and add logic to try max_fsm_pages up to 200000, plus accompanying minor
docs changes.
2005-12-27 23:54:01 +00:00
Peter Eisentraut 6840cccd11 Rename pg_make_encrypted_password to PQencryptPassword. 2005-12-26 14:58:06 +00:00
Neil Conway a4d69a410d Minor doc tweak: "NOT NULL" is redundant with "SERIAL" in example. 2005-12-25 01:41:15 +00:00
Tom Lane 7d732f06cc Wups, fat-fingered the calculation the first time. Update comment in
postgresql.conf.sample too.
2005-12-23 23:28:35 +00:00
Tom Lane b1bff7e6fa Update info about shared memory space calculation to match CVS tip's behavior. 2005-12-23 23:02:26 +00:00
Peter Eisentraut 98b3c3c450 Allow CREATE/ALTER ROLE PASSWORD NULL to allow restoring the default state
of having no password.
2005-12-23 16:46:39 +00:00
Tom Lane ea9b028dc7 Add an officially exported libpq function to encrypt passwords, and
modify the previous \password patch to use it instead of depending
on a not-officially-exported function.  Per discussion.
2005-12-23 01:16:38 +00:00
Bruce Momjian e80f9dfa80 Add quotes around search_path "$user" so that SHOW output can be used in
SET.
2005-12-23 00:38:04 +00:00
Bruce Momjian 7b53b45a64 Update interval documenation to mention the storage system used. 2005-12-22 21:45:19 +00:00
Bruce Momjian 2ddac948f8 Add documentation example of using interval multiplication with 'days'.
Backpatch to 8.1.X.
2005-12-21 23:22:55 +00:00
Bruce Momjian 3086f6e4f0 Add additional example for interval multiplication.
Fix example for day and hours interval subtraction for new computation
method.

Update interval examples to display zero seconds, which is our default.

Backpatch to 8.1.X.
2005-12-21 16:02:24 +00:00
Tom Lane e3b9852728 Teach planner how to rearrange join order for some classes of OUTER JOIN.
Per my recent proposal.  I ended up basing the implementation on the
existing mechanism for enforcing valid join orders of IN joins --- the
rules for valid outer-join orders are somewhat similar.
2005-12-20 02:30:36 +00:00
Tom Lane 1a6aaaa6c4 Fix broken markup. 2005-12-20 00:51:45 +00:00
Peter Eisentraut b16566d771 Add new psql command \password for changing role password with client-side
password encryption.  Also alter createuser command to the same effect.
2005-12-18 02:17:16 +00:00
Neil Conway be8100d64e Implement IS NOT DISTINCT FROM, update the regression tests and docs.
Patch from Pavel Stehule, minor fixups by myself.
2005-12-11 10:54:28 +00:00
Tom Lane 3a20db975e Add release notes for back branches (7.3 and up).
Also minor improvements to 8.1.1 release notes.
2005-12-09 20:40:12 +00:00
Bruce Momjian ede54f3cd7 Add documentation about the behavior of BEFORE triggers and referential
integrity actions.

Stephan Szabo
2005-12-09 19:39:41 +00:00
Bruce Momjian 9c9b9446da Remove mention that history is _now_ automatically saved on exit. It
has been that way for a long time.
2005-12-09 19:19:17 +00:00
Tom Lane a8c53d6207 Fix broken markup. 2005-12-09 18:07:49 +00:00
Peter Eisentraut 625d4b38e0 Let initdb detect the date order of the lc_time locale and initialize the
datestyle parameter of the new cluster accordingly.
2005-12-09 15:51:14 +00:00
Bruce Momjian 34848052d0 Release note wording improvements. 2005-12-08 23:22:20 +00:00
Bruce Momjian 8c09ba866c Wrap UTF-8 paragraph. 2005-12-08 22:44:55 +00:00
Bruce Momjian f2946c717d Update wording of translation bug item. 2005-12-08 22:35:44 +00:00
Bruce Momjian 4b0951133d Update release notes for 8.1.1. 2005-12-08 22:21:26 +00:00
Bruce Momjian 04db9d25d1 there's a paragraph in the ALTER TABLE reference page that reads:
DROP CONSTRAINT

    This form drops constraints on a table. Currently, constraints on tables
    are not required to have unique names, so there may be more than one
    constraint matching the specified name. All matching constraints will be
    dropped.

To my knowledge, it is no longer possible to create constraints with the
same name for the same relation. When you create a constraint and specify
the same name explictly, an error is raised. Implicit constraint creation
won't choose an existing name either and up to now you could not rename a
constraint. Renaming works with the patch I sent in a few hours ago but this
patch as well won't allow constraints with identical names on the same
relation.

The attached patch thus removes the note in the docs.

Joachim Wieland
2005-12-08 21:35:36 +00:00
Bruce Momjian af6ef3028d Remove empty heading row in error table. 2005-12-08 21:23:09 +00:00
Bruce Momjian ac5618fa4e Add "Constant" column to error code table.
Also, better mark section headings.

kdio@uenf.br
2005-12-08 21:01:52 +00:00
Peter Eisentraut dbd1c1abd6 Documentation fix: s/event_object_name/event_object_table/g 2005-12-08 20:48:10 +00:00
Bruce Momjian dc1cb4ceb9 Add documentation about the inability of plpsql to use parameter names
that are the same as column names used in the function.
2005-12-08 18:02:04 +00:00
Tom Lane 6de1fef52c Fix incorrect SPI example, per Yoshihisa Nakano. 2005-12-07 15:39:25 +00:00
Bruce Momjian 823702be9d Improve lazy vacuum wording. 2005-12-07 14:35:45 +00:00
Bruce Momjian 95aca45010 Clarify vacuum lazy can shrink a file under certain circumstances. 2005-12-07 05:35:53 +00:00
Bruce Momjian 3001b4697d Update iconv wording, per Peter. 2005-12-06 21:00:53 +00:00
Bruce Momjian 40c729ae6c Highlight diff idea for iconv. 2005-12-06 20:25:42 +00:00
Bruce Momjian 363fcbafa1 iconv uses UTF-8, not UTF8. 2005-12-06 20:19:17 +00:00
Bruce Momjian 394fedfd72 Document method of removing invalid UTF8 escape sequences from dump
file.  Backpatch to 8.1.X.

Paul Lindner
2005-12-06 19:26:43 +00:00
Bruce Momjian af2e8a872d Documentation cleanup mention:
non-ascii                       convert to & escapes
2005-12-06 18:45:18 +00:00
Bruce Momjian dae896b67d Since my name has a non-ascii-letter in it, it's often spelled wrong. In
the latest release notes there is a latin1 character that shouldn't be
there so I made a patch to fix that. This patch also fixes some old
entries that uses o instead of &ouml; (which is also wrong but not as
bad as including a latin1 character in the sgml file).

Dennis Bj?rklund
2005-12-06 18:43:26 +00:00
Bruce Momjian 10e3d224e0 Add configure flag to allow libedit to be preferred over GNU readline:
--with-libedit-preferred  prefer BSD Libedit over GNU Readline
2005-12-04 03:52:29 +00:00
Bruce Momjian d20901a39b Allow to_char(interval) and to_char(time) to use AM/PM specifications.
Map them to a single day, so '30 hours' is 'AM'.

Have to_char(interval) and to_char(time) use "HH", "HH12" as 12-hour
intervals, rather than bypass and print the full interval hours.  This
is neeeded because to_char(time) is mapped to interval in this function.
Intervals should use "HH24", and document suggestion.

Allow "D" format specifiers for interval/time.
2005-12-03 16:45:06 +00:00
Tom Lane 1cf65140d0 Fix obsolete description of -h option, per Andreas Schmidt. 2005-12-02 23:13:46 +00:00
Neil Conway cab40818ea Fix typo in PL/PgSQL documentation, per Chris KL. 2005-12-01 10:36:57 +00:00
Alvaro Herrera 19fecee06e Document PGXS' REGRESS feature. 2005-11-29 01:46:54 +00:00
Bruce Momjian ee4aa3021e Improve documentation for COALESCE and NULLIF. Add references for NVL
and IFNULL.

Backpatch to 8.1.X.
2005-11-28 23:18:48 +00:00
Andrew Dunstan 5b352d8e12 DROP DATABASE IF EXISTS variant 2005-11-22 15:24:18 +00:00
Alvaro Herrera cec3b0a9e6 Implement DROP OWNED and REASSIGN OWNED. These new commands facilitate the
process of dropping roles by dropping objects owned by them and privileges
granted to them, or giving the owned objects to someone else, through the
use of the data stored in the new pg_shdepend catalog.

Some refactoring of the GRANT/REVOKE code was needed, as well as ALTER OWNER
code.  Further cleanup of code duplication in the GRANT code seems necessary.

Implemented by me after an idea from Tom Lane, who also provided various kind
of implementation advice.

Regression tests pass.  Some tests for the new functionality are also added,
as well as rudimentary documentation.
2005-11-21 12:49:33 +00:00
Tom Lane 659f681638 Change array comparison rules to consider dimensionality information,
not only the array contents, before claiming two arrays are equal.
Per recent discussion.
2005-11-19 19:44:55 +00:00
Andrew Dunstan daea4d8eae DROP objecttype IF EXISTS for the following objects:
table view index sequence schema type domain conversion
2005-11-19 17:39:45 +00:00
Tom Lane 1e9a1a70ad Change array_push and array_cat so that they retain the lower bound of
the array (for array_push) or higher-dimensional array (for array_cat)
rather than decrementing it as before.  This avoids generating lower
bounds other than one for any array operation within the SQL spec.  Per
recent discussion.
Interestingly, this seems to have been the original behavior, because
while updating the docs I noticed that a large fraction of relevant
examples were *wrong* for the old behavior and are now right.  Is it
worth correcting this in the back-branch docs?
2005-11-19 01:50:08 +00:00
Tom Lane cecb607559 Make SQL arrays support null elements. This commit fixes the core array
functionality, but I still need to make another pass looking at places
that incidentally use arrays (such as ACL manipulation) to make sure they
are null-safe.  Contrib needs work too.
I have not changed the behaviors that are still under discussion about
array comparison and what to do with lower bounds.
2005-11-17 22:14:56 +00:00
Bruce Momjian 04ce3cb02d Properly document return value of strpos(). 2005-11-16 03:56:16 +00:00
Bruce Momjian 788f7c63a1 Add reminder that we should link to the documentation section for new
features.
2005-11-15 22:16:03 +00:00
Tom Lane 2a8d3d83ef R-tree is dead ... long live GiST. 2005-11-07 17:36:47 +00:00
Tom Lane 9ba4c42401 Yet another supported-platforms update. 2005-11-05 00:04:04 +00:00
Tom Lane fd68553860 Editorial review for partitioning/constraint exclusion documentation. 2005-11-04 23:53:18 +00:00
Peter Eisentraut 39dfbe5791 Spellchecking run, final cleanups 2005-11-04 23:14:02 +00:00
Bruce Momjian 1630571a04 Update release notes for 8.1. 2005-11-04 22:21:33 +00:00
Tom Lane e47ea0566c Update supported-platforms list. 2005-11-04 16:15:20 +00:00
Tom Lane 03381695c6 Avoid referring to a specific version of the SQL standard except where
necessary, and be careful to refer to the right version where it is
useful to do so.  This partially reverts an ill-considered search and
replace from a few months ago.
2005-11-04 02:56:31 +00:00
Neil Conway 8bd1cbb86d Some minor improvements to the CE docs. Also fix a bit of SGML markup
elsewhere.
2005-11-03 00:51:43 +00:00
Bruce Momjian ced9dd3699 Add Tomoaki Sato to pgbench changes in release notes. 2005-11-02 14:08:43 +00:00
Neil Conway eddcd492fe Add some documentation for constraint exclusion and basic partitioning.
From Simon Riggs; cleanup and editorialization by Neil Conway.
2005-11-01 23:19:05 +00:00
Tom Lane b524cb36ac Make an editorial pass over the reference pages. 2005-11-01 21:09:51 +00:00
Tom Lane 37a4232a0c Update supported-platforms entry for Tru64. 2005-10-31 21:12:35 +00:00
Bruce Momjian ee72793a91 Mention in the docs that temporary/non-temp tables can not share
referential integrity relationships.
2005-10-31 18:13:52 +00:00
Tom Lane 90456d1303 Update supported-platforms list. 2005-10-30 19:21:42 +00:00
Bruce Momjian 9c67981683 Fix psql ref typo.
Andreas Seltenreich
2005-10-30 03:01:49 +00:00
Tom Lane a7335a3401 Update supported-platforms list. 2005-10-28 20:01:40 +00:00
Tom Lane 65a99590ab Fix broken markup. 2005-10-28 20:00:03 +00:00
Bruce Momjian fbff2e9607 Remove mention that \x doesn't affect backslash commands. 2005-10-28 02:39:07 +00:00
Bruce Momjian 6859d8c141 Add mention that .pgpass localhost matches tcp and unix domain sockets. 2005-10-27 13:53:41 +00:00
Bruce Momjian 3332e38189 Disable expanded mode only for \d tablename, not for all backslash
commands.  Per complaint that \df+ is clearer in expanded mode.
2005-10-27 13:34:47 +00:00
Tom Lane 4a309defb4 Add info about using rsync to make base backups. Per report from
Jeff Frost, it may be necessary to ignore specific exit codes.
2005-10-26 20:42:35 +00:00
Tom Lane fc5894bf77 Adjust parser so that POSTQUEL-style implicit RTEs are stored with
inFromCl true, meaning that they will list out as explicit RTEs if they
are in a view or rule.  Update comments about inFromCl to reflect the way
it's now actually used.  Per recent discussion.
2005-10-26 19:21:55 +00:00
Bruce Momjian 7d9ff58b22 Rename config section headings.
Simon Riggs
2005-10-26 12:55:07 +00:00
Tom Lane 602007842c Convert explanation of interval change into something resembling grammatical
English, and fix the incorrect example.
2005-10-25 17:54:30 +00:00
Tom Lane c78f3039f2 Small grammar correction. 2005-10-25 15:47:51 +00:00
Bruce Momjian b83547201f Update 24 hours/1 day distinction in release notes. 2005-10-25 15:12:22 +00:00
Bruce Momjian 352a7841bf Update the URL for "The Hitch-Hiker's Guide to Evolutionary Computation".
Sergey E. Koposov
2005-10-25 13:38:09 +00:00
Bruce Momjian 42b689aed4 More forcefully recommend MD5 over crypt authentication. 2005-10-24 15:49:54 +00:00
Andrew Dunstan 24fa8746ae Fix incorrect wording about function failure time on unsafe ops - these
are now caught by the validator. And a small visit from the perl style police:
check the return value from open().
2005-10-24 15:39:50 +00:00
Bruce Momjian 819159709f I have applied the following patch to document PQinitSSL() and
PQregisterThreadLock().

I also remove the crypt() mention in the libpq threading section and
added a single sentence in the client-auth manual page under crypt().
Crypt authentication is so old now that a separate paragraph about it
seemed unwise.

I also added a comment about our use of locking around pqGetpwuid().
2005-10-24 15:38:37 +00:00
Tom Lane 7d3ab8ac55 A bit of minor copy-editing. 2005-10-23 19:29:49 +00:00
Tom Lane 55337e40b3 I've confirmed 8.1beta4 passes regression tests on all hardware platforms
of RHEL 4.  Update supported-platforms list accordingly.
2005-10-23 18:30:49 +00:00
Tom Lane c3a7b0577b Add a note about GNU tar's propensity to complain if a file changes
while tar is copying it.  This behavior is unhelpful when taking a base
backup.  Per gripe from Pallav Kalva back in April.
2005-10-22 22:09:49 +00:00
Tom Lane f72a342fb7 Copy-editing for recent documentation changes relevant to WAL,
full_page_writes, etc.
2005-10-22 21:56:07 +00:00
Tom Lane 96b85f1ccb Fix documentation to specify the correct range of timezone offsets for
type time with time zone, ie, +/- 13:59 not +/- 12:00.  Also some minor
wording improvements.
2005-10-22 19:33:57 +00:00
Alvaro Herrera 63aa492466 Fix typo. 2005-10-22 14:44:35 +00:00
Tom Lane fdff883aca Clean up autovacuum documentation, which was a bit out of sync with what
the code actually does, and needed copy-editing anyway.  Also take the
opportunity to expand the section on routine reindexing.
2005-10-21 19:39:08 +00:00
Tom Lane f8529779ee Update obsolete URL, per Chris. 2005-10-21 13:59:05 +00:00
Neil Conway d6707cb66e Minor PL/PgSQL doc tweak: use current_timestamp rather than now() in
an example function.
2005-10-21 05:11:23 +00:00
Tom Lane 9bd7ed828e Clean up some obsolete statements about GiST indexes, and add a section
documenting GiST crash recovery procedures, as requested some time ago
by Teodor.  (The GiST chapter doesn't seem quite the right place for
the latter, but I'm not sure what else to do with it.)
2005-10-21 01:41:28 +00:00
Tom Lane d1959f9ff6 Improve testlibpq3.c's example of PQexecParams() usage to include sending
a parameter in binary format.  Also, add a TIP explaining how to use casts
in the query text to avoid needing to specify parameter types by OID.
Also fix bogus spacing --- apparently somebody expanded the tabs in the
example programs to 8 spaces instead of 4 when transposing them into SGML.
2005-10-20 23:57:52 +00:00
Neil Conway 61abd9a3fb Minor tweak to libpq documentation: make "PREPARE" and "DEALLOCATE" xrefs. 2005-10-20 21:04:14 +00:00
Tom Lane c9de6b922e Document the behavior of GRANT/REVOKE in cases where the privilege is
held by means of role membership, rather than directly.  Per discussion
and bug fix of a couple weeks ago.
2005-10-20 19:18:01 +00:00
Andrew Dunstan 48f3d77858 replace use of predefined perl vars $a and $b with $x and $y - per Greg Sabino Mullane 2005-10-18 22:53:54 +00:00
Tom Lane a33fadfd6d Add an entry to the discussion of regression test failures about the
possibility of a failure due to stack overflow when max_stack_depth is
not set properly for the platform.
2005-10-18 21:43:33 +00:00
Tom Lane 220f2a7d15 Code review for regexp_replace patch. Improve documentation and comments,
fix problems with replacement-string backslashes that aren't followed by
one of the expected characters, avoid giving the impression that
replace_text_regexp() is meant to be called directly as a SQL function,
etc.
2005-10-18 20:38:58 +00:00
Tom Lane d330f1554d Clean up libpq's pollution of application namespace by renaming the
exported routines of ip.c, md5.c, and fe-auth.c to begin with 'pg_'.
Also get rid of the vestigial fe_setauthsvc/fe_getauthsvc routines
altogether.
2005-10-17 16:24:20 +00:00
Tom Lane 8ffdcbf23b Add note that some versions of OS X require SHMMAX to be an exact multiple
of 4096.  Also add comment explaining why we don't suggest using
/etc/sysctl.conf to avoid needing to edit /etc/rc.
2005-10-16 21:22:12 +00:00
Neil Conway 2c19629f93 Remove a long comment from cvs.sgml -- AFAICS this is no longer useful,
or at any rate doesn't belong as a comment in a random SGML file.
2005-10-15 20:15:48 +00:00
Neil Conway fc8f4bac0e Fix assorted typos in the documentation, and use American spelling
rather than British. Patch from Michael Fuhr.
2005-10-15 20:12:33 +00:00
Tom Lane 6faa334bef Update 'supported platforms' list with current buildfarm results. 2005-10-15 17:59:38 +00:00
Bruce Momjian d62616e6ca Fix kerberos description: localhost -> server hostname. 2005-10-15 15:29:24 +00:00
Neil Conway 1d2e0e6d3e Merge some user-submitted suggestions for improvement into the
documentation. Mostly add some <xref>s, fix a few typos, and
document that zlib is required in the installation docs.
2005-10-15 01:47:12 +00:00
Alvaro Herrera 1b5cd6dcdc Fix typo. 2005-10-15 01:15:33 +00:00
Tom Lane abd3f43b4c Fix syslog bug: if any messages are emitted to write_syslog before
the facility has been set, the facility gets set to LOCAL0 and cannot
be changed later.  This seems reasonably plausible to happen, particularly
at higher debug log levels, though I am not certain it explains Han Holl's
recent report.  Easiest fix is to teach the code how to change the value
on-the-fly, which is nicer anyway.  I made the settings PGC_SIGHUP to
conform with log_destination.
2005-10-14 20:53:56 +00:00
Andrew Dunstan f620098dc8 fix nonsensical summary row on example 2005-10-14 20:48:18 +00:00
Bruce Momjian a93bf4503f Allow times of 24:00:00 to match rounding behavior:
regression=# select '23:59:59.9'::time(0);
	   time
	----------
	 24:00:00
	(1 row)

	This is bad because:

	regression=# select '24:00:00'::time(0);
	ERROR:  date/time field value out of range: "24:00:00"

The last example now works.
2005-10-14 11:47:57 +00:00
Tom Lane dbc214f7e6 Add documentation mentioning that there are separate regression tests
for the PL languages and for contrib.
2005-10-13 23:41:07 +00:00
Tom Lane 412734767a Improve documentation about CREATEROLE privilege. 2005-10-13 23:26:00 +00:00
Bruce Momjian 5aae047e23 Update krb_server_name to document that a missing entry defaults to
'localhost'.

Improve kerberos error message.
2005-10-13 22:55:19 +00:00
Tom Lane f91370cd2f Update documentation to reflect the new ALTER OWNER rules for all
affected types of objects.
2005-10-13 22:44:51 +00:00
Tom Lane a9980ec37b Describe the behavior of the SQL_ASCII encoding more accurately. 2005-10-13 21:43:43 +00:00
Tom Lane 6f9cb4eb43 Adjust the discussion of triggers to more clearly guide people in the
direction of writing triggers in a procedural language, rather than C.
Per discussion.
2005-10-13 21:09:38 +00:00
Bruce Momjian 8ac386226d The patch updates the documentation to reflect the fact that higher values
of client_min_messages (fatal + panic) are valid and also fixes a slight
issue with how psql tried to display error messages that aren't sent to
the client.

We often tell people to ignore errors in response to requests for things
like "drop if exists", but there's no good way to completely hide this
without upping client_min_messages past ERROR.  When running a file like

SET client_min_messages TO 'FATAL';

DROP TABLE doesntexist;

with "psql -f filename" you get an error prefix of
"psql:/home/username/filename:3" even though there is no error message to
prefix because it isn't sent to the client.

Kris Jurka
2005-10-13 20:58:42 +00:00
Peter Eisentraut 12ee2b98ce Turn off list of tables, figures, and examples. 2005-10-13 20:10:03 +00:00
Bruce Momjian 6d62338d5e Rewording, use the more common multi-threaded/single-threaded. 2005-10-13 17:55:18 +00:00
Bruce Momjian 8fc0aa4cca Clarify causes of possible mismatch between Win32 libraries and
applications that use FILE pointers.
2005-10-13 17:46:18 +00:00
Bruce Momjian 165565cd94 Some additional doc changes based around compression of page images in
WAL and the interaction of the new full_page_writes parameter with PITR.

The too-small WAL first sect1 has been merged with the one following
sect1 for clarity.

Some minor comments have been made in the WAL config section also.

Passes SGML make and proofread for typos.
Files changed:
patching file doc/src/sgml/backup.sgml
patching file doc/src/sgml/config.sgml
patching file doc/src/sgml/wal.sgml

Simon Riggs
2005-10-13 17:32:42 +00:00
Bruce Momjian 7d43349ab5 Fix capitalization of example. 2005-10-13 14:44:58 +00:00
Bruce Momjian 4a6dcf0322 Update trigger demo to reflect new trigger ordering. 2005-10-13 02:23:12 +00:00
Bruce Momjian 3d50e107ad Remove extra <para> 2005-10-13 02:00:09 +00:00
Tom Lane 23e2f9ebf7 Fix spelling error, per Michael Fuhr. 2005-10-12 23:19:22 +00:00
Bruce Momjian 6b97e437ca Add warning about plperl nested named subroutines
Andrew Dunstan
2005-10-12 14:28:33 +00:00
Peter Eisentraut 4102640683 Update keywords table for 8.1. 2005-10-12 09:45:29 +00:00
Tom Lane 96a83d8807 Release notes up to date as of today. 2005-10-11 21:17:11 +00:00
Tom Lane c6b9924bec Remove the DELETEs from pg_shadow and pg_group that pg_dumpall used to
emit when given the --clean option, in favor of individual DROP ROLE
commands.  The old technique could not possibly work in 8.1, and was
never a very good idea anyway IMHO.  The DROP ROLE approach has the
defect that the DROPs will fail for roles that own objects or have
privileges, but perhaps we can improve that later.
2005-10-10 22:29:48 +00:00
Tom Lane 7754f7634c Fix a thinko in description of krb_server_hostname. 2005-10-08 20:27:25 +00:00
Neil Conway 663476919c Minor tweaks for PL/PgSQL documentation. 2005-10-06 20:51:20 +00:00
Tom Lane cb8b6618ce Revise pgstats stuff to fix the problems with not counting accesses
generated by bitmap index scans.  Along the way, simplify and speed up
the code for counting sequential and index scans; it was both confusing
and inefficient to be taking care of that in the per-tuple loops, IMHO.
initdb forced because of internal changes in pg_stat view definitions.
2005-10-06 02:29:23 +00:00
Bruce Momjian 8c6f345005 Improve wording of entry. 2005-10-05 19:52:22 +00:00
Peter Eisentraut a8da71e0c4 Clean up some messages and fix missing translation support. Option --log
renamed to --log-file for clarity.
2005-10-04 19:01:18 +00:00
Tom Lane 060d13f7c7 COPY's test for read-only transaction was backward; it prohibited COPY TO
where it should prohibit COPY FROM.  Found by Alon Goldshuv.
2005-10-03 23:43:09 +00:00
Tom Lane 53e47cdd79 Add a trace_sort option to help with measuring resource usage of external
sort operations.  Per recent discussion.  Simon Riggs and Tom Lane.
2005-10-03 22:55:56 +00:00
Tom Lane 9c873828bd Fix procedure for updating nextval() defaults so that it actually works.
Update release dates for pending back-branch releases.
2005-10-03 16:04:13 +00:00
Bruce Momjian a87174dca1 Fix font of sequence header. 2005-10-03 13:52:28 +00:00
Bruce Momjian 1624d6d4d2 Fix null bytes at end of file (weird). 2005-10-03 02:49:31 +00:00
Bruce Momjian f890004cc1 Update sequence docs. 2005-10-03 02:46:43 +00:00
Bruce Momjian 4361e0d295 Merge Tom and my descriptions of new sequence behavior into one entry. 2005-10-03 02:21:16 +00:00
Bruce Momjian 07e74305fe Update release notes to show how to upgrade a database to use the new
early binding for nextval() calls in default clauses.
2005-10-03 01:57:59 +00:00
Tom Lane aa731ed843 Change nextval and other sequence functions to specify their sequence
argument as a 'regclass' value instead of a text string.  The frontend
conversion of text string to pg_class OID is now encapsulated as an
implicitly-invocable coercion from text to regclass.  This provides
backwards compatibility to the old behavior when the sequence argument
is explicitly typed as 'text'.  When the argument is just an unadorned
literal string, it will be taken as 'regclass', which means that the
stored representation will be an OID.  This solves longstanding problems
with renaming sequences that are referenced in default expressions, as
well as new-in-8.1 problems with renaming such sequences' schemas or
moving them to another schema.  All per recent discussion.
Along the way, fix some rather serious problems in dbmirror's support
for mirroring sequence operations (int4 vs int8 confusion for instance).
2005-10-02 23:50:16 +00:00