Commit Graph

4955 Commits

Author SHA1 Message Date
Bruce Momjian
93a1fce5cc Add permission display to \db+. 2004-07-15 03:56:06 +00:00
Peter Eisentraut
a837ed88b1 Detect locale/encoding mismatch in initdb, or pick a suitable encoding
automatically if none was specified.
2004-07-14 17:55:10 +00:00
Bruce Momjian
bbcee544aa Have \dn+ show permissions and description for schemas.
Dennis Bjorklund
2004-07-13 16:48:16 +00:00
Bruce Momjian
dc0e76ca36 Change pg_dump to use ALTER OWNER commands instead of SET SESSION
AUTHORIZATION commands by default.  Move all GRANT and REVOKE commands
to the end of the dump to avoid restore failures in several situations.
Bring back --use-set-session-authorization option to get previous SET
behaviour

Christopher Kings-Lyne
2004-07-13 03:00:17 +00:00
Bruce Momjian
b6335b4fb4 Add tablespace location display for psql \d.
Gavin Sherry
2004-07-12 20:41:13 +00:00
Bruce Momjian
e47cbb3bad Add has_tablespace_privilege().
Christopher Kings-Lynne
2004-07-12 20:23:59 +00:00
Bruce Momjian
a0db74a35c This patch adds the following options to pg_dumpall, to be passed to
pg_dump:

-S, --superuser=NAME

-O, --no-owner

-X disable-dollar-quoting, --disable-dollar-quoting

-X disable-triggers, --disable-triggers

Christopher Kings-Lynne
2004-07-12 14:35:45 +00:00
Tom Lane
c14a43f657 Remove TABLESPACE option of CREATE SEQUENCE; sequences will now always
live in database or schema's default tablespace, as per today's discussion.
Also, remove some unused keywords from the grammar (PATH, PENDANT,
VERSION), and fix ALSO, which was added as a keyword but not added
to the keyword classification lists, thus making it worse-than-reserved.
2004-07-12 05:38:11 +00:00
Bruce Momjian
c5ff895c48 New text. 2004-07-12 03:58:34 +00:00
Bruce Momjian
a919fdfd3d Wording improvement. 2004-07-12 01:37:01 +00:00
Bruce Momjian
7bcdf2ebee Tablespace examples for CREATE TABLE/INDEX/SCHEMA/DATABASE as well as
some other examples for CREATE DATABASE.

Gavin Sherry
2004-07-12 01:22:53 +00:00
Bruce Momjian
3095c104f0 Move comma. 2004-07-12 01:10:17 +00:00
Bruce Momjian
098d0304d7 Add:
> * Add session start time and last statement time to pg_stat_activity
2004-07-12 00:39:11 +00:00
Bruce Momjian
1ec448cda3 Added Matthew:
<   rather than in /contrib
>   rather than in /contrib (Matthew)
515a516
> * Matthew T. O'Connor <matthew@zeut.net>
2004-07-12 00:23:59 +00:00
Bruce Momjian
233afe6a90 New Czech FAQ.
Pavel Stehule
2004-07-12 00:22:51 +00:00
Bruce Momjian
2bd17a5f52 Add FAQ entry on hardware selection. 2004-07-12 00:18:57 +00:00
Bruce Momjian
0589ab68c5 Remove:
< * Allow moving sequences and toast tables to other tablespaces
2004-07-11 23:52:05 +00:00
Bruce Momjian
a1f3209c07 Add:
> * Allow moving sequences and toast tables to other tablespaces
2004-07-11 23:31:27 +00:00
Bruce Momjian
8dbd10d96d This patch fixes a small error in the Porting PL/SQL to PL/pgSQL
section where a instr function parameter is mistyped as varchar. It
works properly when changed to integer.

Michael Glaesemann
2004-07-11 23:26:51 +00:00
Bruce Momjian
cf9fd800ec Example for create function using argument names
Gavin Sherry
2004-07-11 23:23:43 +00:00
Tom Lane
af4de81469 ALTER TABLE SET TABLESPACE. Gavin Sherry, some rework by Tom Lane. 2004-07-11 23:13:58 +00:00
Bruce Momjian
08d89db34d Update German FAQ> 2004-07-11 23:07:18 +00:00
Bruce Momjian
5c9d069daf Add:
> * Add NOVICE output level for helpful messages like automatic sequence/index creation
2004-07-11 21:57:03 +00:00
Bruce Momjian
5ff9566686 Remove postgresql.conf of 'info' as a valid client_min_messages level. 2004-07-11 21:48:25 +00:00
Bruce Momjian
59429adea9 Add:
> * Allow moving system tables to other tablespaces, where possible
2004-07-11 03:10:50 +00:00
Bruce Momjian
eee93173d4 Add:
> * Allow changing of already-created database and schema tablespaces
2004-07-11 02:03:22 +00:00
Bruce Momjian
e5ca4bde79 Add:
> *  Add an option to sync() before fsync()'ing checkpoint files
2004-07-11 00:28:30 +00:00
Bruce Momjian
6063d11464 Add:
<
> * Use a phantom command counter for nested subtransactions to reduce
>   tuple overhead
2004-07-11 00:26:36 +00:00
Bruce Momjian
130f89e93f Allow configuration files to be placed outside the data directory.
Add new postgresql.conf variables to point to data, pg_hba.conf, and
pg_ident.conf files.

Needs more documentation.
2004-07-11 00:18:45 +00:00
Bruce Momjian
b4a98c5fcc Add:
> * Add include functionality to postgresql.conf
>
2004-07-11 00:18:28 +00:00
Bruce Momjian
afa035c204 Clarify schema meanings in pg_dump manual page by referring to object
definitions more frequently.
2004-07-10 15:51:28 +00:00
Bruce Momjian
4525418451 Add OSX thread support for next 7.4.X 2004-07-07 13:04:45 +00:00
Bruce Momjian
f8d390402b Formatting improvements:
< The most recent version of this document can be viewed at
< the PostgreSQL web site, http://www.PostgreSQL.org.
> The most recent version of this document can be viewed at the PostgreSQL web site, http://www.PostgreSQL.org.
2004-07-07 12:48:54 +00:00
Bruce Momjian
b4e660e352 Regenerate:
> #A dash (-) marks changes that will appear in the upcoming 7.5 release.#
2004-07-07 12:45:50 +00:00
Bruce Momjian
8f599aa6ea regenerate. 2004-07-07 12:45:16 +00:00
Bruce Momjian
aec271475a Bold dash line.
> \#A dash (-) marks changes that will appear in the upcoming 7.5 release.#
2004-07-07 12:44:34 +00:00
Bruce Momjian
a08baad671 Update highlighting of dash. 2004-07-07 12:25:02 +00:00
Bruce Momjian
ea0078da2d Move section:
< * Add replication of distributed databases
< 	o Automatic failover
< 	o Load balancing
< 	o Master/slave replication
< 	o Multi-master replication
< 	o Partition data across servers
< 	o Queries across databases or servers (two-phase commit)
< 	o Allow replication over unreliable or non-persistent links
55a48,55
> * Improve replication solutions
> 	o Automatic failover
> 	o Load balancing
> 	o Master/slave replication
> 	o Multi-master replication
> 	o Partition data across servers
> 	o Queries across databases or servers (two-phase commit)
> 	o Allow replication over unreliable or non-persistent links
2004-07-06 20:29:31 +00:00
Bruce Momjian
33fe94b286 Reorder dash mention to be more prominient.
> A dash (-) marks changes that will appear in the upcoming 7.5 release.
>
> Bracketed items "[]" have more detail.
9,12d12
<
< A dash (-) marks changes that will appear in the upcoming 7.5 release.
<
< Bracketed items "[]" have more detail.
2004-07-06 16:18:31 +00:00
Bruce Momjian
a21bb2722a Done:
> * -Fix upper()/lower() to work for multibyte encodings
2004-07-06 03:23:31 +00:00
Bruce Momjian
da09dea3e3 Fix paragraph mention in ALTER DATABASE manual page.
Christopher Kings-Lynne
2004-07-05 02:34:43 +00:00
Tom Lane
959b353db2 Fix misspellings: langauge -> language. 2004-07-04 23:34:24 +00:00
Tom Lane
a72dd7a9e4 Okay, I've had it with answering newbie questions about why plpgsql
FOR loops are giving weird syntax errors.  Restructure parsing of FOR
loops so that the integer-loop-vs-query-loop decision is driven off
the presence of '..' between IN and LOOP, rather than the presence
of a matching record/row variable name.  Hopefully this will make the
behavior a bit more transparent.
2004-07-04 02:49:04 +00:00
Tom Lane
e34082ee3b Add missing operators of the form interval-plus-datetime, as required for
better SQL compliance in this area, per recent discussion.  Mark related
operators as commutators where possible.  (The system doesn't actually care
about commutator marking for operators not returning boolean, at the moment,
but this seems forward-thinking and besides it made it easier to verify
that we hadn't missed any.)
Also, remove interval-minus-time and interval-minus-timetz operators.
I'm not sure how these got in, but they are nonstandard and had very
obviously broken behavior.  (minus is not commutative in anyone's book.)
I doubt anyone had ever used 'em, because we'd surely have gotten a bug
report about it if so.
2004-07-02 22:50:23 +00:00
Joe Conway
0b89d261c7 Andreas Pflug wrote:
From an idea of Bruce, the attached patch implements the function
 pg_tablespace_databases(oid) RETURNS SETOF oid
 which delivers as set of database oids having objects in the selected
 tablespace, enabling an admin to examine only the databases affecting
 the tablespace for objects instead of scanning all of them.

initdb forced
2004-07-02 18:59:25 +00:00
Peter Eisentraut
c7beffcc1d Override upstream DSSSL style sheet formatting changes 2004-06-29 20:44:34 +00:00
Peter Eisentraut
bc7589a292 Comma splice police 2004-06-29 19:57:40 +00:00
Tom Lane
b3d36a2467 Fix bogus line break within a file name, as noted by Alvaro. 2004-06-27 22:58:19 +00:00
Tom Lane
0adfa2c39d Support renaming of tablespaces, and changing the owners of
aggregates, conversions, functions, operators, operator classes,
schemas, types, and tablespaces.  Fold the existing implementations
of alter domain owner and alter database owner in with these.

Christopher Kings-Lynne
2004-06-25 21:55:59 +00:00
Tom Lane
a0e842d81b Add pg_get_serial_sequence() function, and cause pg_dump to use it.
This eliminates the assumption that a serial column's sequence will
have the same name on reload that it was given in the original database.

Christopher Kings-Lynne
2004-06-25 17:20:29 +00:00
Dennis Bjorklund
d0f1b4c4fb Add argument name to syntax. 2004-06-25 07:05:34 +00:00
Tom Lane
b5b9e33564 Add documentation for pg_cancel_backend and pg_terminate_backend.
Magnus Hagander
2004-06-24 19:57:14 +00:00
Tom Lane
1b80b6da6a Add --pwfile option to initdb, so that passwords can be set by GUI tools
that aren't able to feed the password to initdb's /dev/tty.

Magnus Hagander
2004-06-24 19:26:59 +00:00
Bruce Momjian
153d5d31eb Remove link:
<   http://momjian.postgresql.org/main/writings/pgsql/project/pitr.html
2004-06-23 09:53:57 +00:00
Tom Lane
f5f448fb3e Rename the built-in tablespaces to pg_default and pg_global, and prohibit
creation of user-defined tablespaces with names starting with 'pg_', as
per suggestion of Chris K-L.  Also install admin-guide tablespace
documentation from Gavin.
2004-06-21 04:06:07 +00:00
Bruce Momjian
7864e0aa6a Add pgevent, with docs explaining out to install it on Win32. 2004-06-20 01:32:49 +00:00
Bruce Momjian
1181ea6a78 Add:
> * Fix oid2name and dbsize for tablespaces
2004-06-19 01:48:13 +00:00
Tom Lane
f7ca71a76b Replace createdb's obsolete --location switch with --tablespace.
I kept the same abbreviated letter -D, in hopes of maintaining some
modicum of backwards compatibility (though it's doubtful whether anyone
is really using scripts that invoke createdb -D ...)
2004-06-18 21:47:24 +00:00
Tom Lane
984c8a48f4 initlocation is history. (It's still mentioned in manage-ag.sgml,
but I'll leave that file alone so as not to mess up the doc patch
I trust Gavin is working on.)
2004-06-18 21:24:06 +00:00
Bruce Momjian
b33c7231e5 Add:
> * Allow reporting of which objects are in which tablespaces
> * Allow database recovery where tablespaces can't be created
211a213,214
> 	o Add ALTER TABLESPACE to change location, name, owner
> 	o Allow objects to be moved between tablespaces
2004-06-18 18:35:53 +00:00
Bruce Momjian
9e24182952 Remove tablespaces TODO.detail. 2004-06-18 16:04:13 +00:00
Bruce Momjian
0d1ffd36c4 Done:
> * -Add the concept of dataspaces/tablespaces (Gavin)
2004-06-18 16:03:20 +00:00
Tom Lane
2467394ee1 Tablespaces. Alternate database locations are dead, long live tablespaces.
There are various things left to do: contrib dbsize and oid2name modules
need work, and so does the documentation.  Also someone should think about
COMMENT ON TABLESPACE and maybe RENAME TABLESPACE.  Also initlocation is
dead, it just doesn't know it yet.

Gavin Sherry and Tom Lane.
2004-06-18 06:14:31 +00:00
Bruce Momjian
474875f443 The attached patch adds some index entries pointing to the cursor
reference pages.  Please apply.

Alvaro Herrera
2004-06-17 12:41:02 +00:00
Tom Lane
d70a42e642 Represent type-specific length coercion functions as pg_cast entries,
eliminating the former hard-wired convention about their names.  Allow
pg_cast entries to represent both type coercion and length coercion in
a single step --- this is represented by a function that takes an
extra typmod argument, just like a length coercion function.  This
nicely merges the type and length coercion mechanisms into something
at least a little cleaner than we had before.  Make use of the single-
coercion-step behavior to fix integer-to-bit coercion so that coercing
to bit(n) yields the rightmost n bits of the integer instead of the
leftmost n bits.  This should fix recurrent complaints about the odd
behavior of this coercion.  Clean up the documentation of the bit string
functions, and try to put it where people might actually find it.
Also, get rid of the unreliable heuristics in ruleutils.c about whether
to display nested coercion steps; instead require parse_coerce.c to
label them properly in the first place.
2004-06-16 01:27:00 +00:00
Tom Lane
8e7349b738 Fix doc bug: to_timestamp() returns timestamptz, not plain timestamp. 2004-06-14 19:01:09 +00:00
Bruce Momjian
f4b0d28aa0 New wording:
<   in-progress when the server terminates abruptly
>   in-progress when the server terminated abruptly
2004-06-14 13:44:00 +00:00
Bruce Momjian
8b8bbfff45 New wording:
<   in-progress when the server crashed
>   in-progress when the server terminates abruptly
2004-06-14 13:42:47 +00:00
Bruce Momjian
dd83b34d38 Updated wording:
< * Remove unreferenced table files and temp tables during database vacuum
<   or postmaster startup (Bruce)
> * Remove unreferenced table files created by transactions that were
>   in-progress when the server crashed
>
2004-06-13 23:42:59 +00:00
Bruce Momjian
75c8e51b08 Re-add:
> * Remove unreferenced table files and temp tables during database vacuum
>   or postmaster startup (Bruce)
2004-06-13 23:39:30 +00:00
Tom Lane
ba0f9ff3ba Code review for recently-added network functions. Get it to work when
log_hostname is enabled, clean up documentation.
2004-06-13 19:56:52 +00:00
Tom Lane
88961fc45d Correct erroneous table title, per Halley Pacheco de Oliveira. 2004-06-13 17:51:08 +00:00
Tom Lane
4832c53e10 Some editorializing on 7.4.3 release notes. 2004-06-12 19:30:29 +00:00
Bruce Momjian
aa5fe4ae76 Improve release wording. 2004-06-12 04:22:15 +00:00
Bruce Momjian
b24e361d11 Markup fix. 2004-06-12 04:08:02 +00:00
Bruce Momjian
342e3b06f8 Fix markup 2004-06-12 04:02:53 +00:00
Bruce Momjian
a1c4b9efe4 Update release notes for 7.4.3. 2004-06-12 03:54:51 +00:00
Tom Lane
7643bed58e When using extended-query protocol, postpone planning of unnamed statements
until Bind is received, so that actual parameter values are visible to the
planner.  Make use of the parameter values for estimation purposes (but
don't fold them into the actual plan).  This buys back most of the
potential loss of plan quality that ensues from using out-of-line
parameters instead of putting literal values right into the query text.

This patch creates a notion of constant-folding expressions 'for
estimation purposes only', in which case we can be more aggressive than
the normal eval_const_expressions() logic can be.  Right now the only
difference in behavior is inserting bound values for Params, but it will
be interesting to look at other possibilities.  One that we've seen
come up repeatedly is reducing now() and related functions to current
values, so that queries like ... WHERE timestampcol > now() - '1 day'
have some chance of being planned effectively.

Oliver Jowett, with some kibitzing from Tom Lane.
2004-06-11 01:09:22 +00:00
Bruce Momjian
6cc4175b25 Attached is a patch that takes care of the PATHSEP issue. I made a more
extensive change then what was suggested. I found the file path.c that
contained a lot of "Unix/Windows" agnostic functions so I added a function
there instead and removed the PATHSEP declaration in exec.c altogether. All
to keep things from scattering all over the code.

I also took the liberty of changing the name of the functions
"first_path_sep" and "last_path_sep". Where I come from (and I'm apparently
not alone given the former macro name PATHSEP), they should be called
"first_dir_sep" and "last_dir_sep". The new function I introduced, that
actually finds path separators, is now the "first_path_sep". The patch
contains changes on all affected places of course.

I also changed the documentation on dynamic_library_path to reflect the
chagnes.

Thomas Hallgren
2004-06-10 22:26:24 +00:00
Bruce Momjian
387b38bec4 Done:
> * -Print table names with constraint names in error messages, or make constraint
2004-06-10 19:04:49 +00:00
Bruce Momjian
93db6f6ae2 Reword:
< * Allow hash buckets to fill disk pages, rather than being sparse
> * Pack hash index buckets onto disk pages more efficiently
2004-06-10 11:56:27 +00:00
Bruce Momjian
13c30084f6 Add:
> * Allow pg_dump to use multiple -t and -n switches
2004-06-10 04:33:51 +00:00
Bruce Momjian
741681b7b2 Modify:
< * Order heap pointers on hash index pages by hash value and ctid
> * Allow hash buckets to fill disk pages, rather than being sparse
2004-06-10 04:06:21 +00:00
Bruce Momjian
c7099997ac Add Brazilian version of FAQ.
Euler Taveira de Oliveira
2004-06-10 03:46:11 +00:00
Bruce Momjian
babd02af5a Add:
> * Order heap pointers on hash index pages by hash value and ctid
2004-06-10 03:45:30 +00:00
Tom Lane
7e64dbc6b5 Support assignment to subfields of composite columns in UPDATE and INSERT.
As a side effect, cause subscripts in INSERT targetlists to do something
more or less sensible; previously we evaluated such subscripts and then
effectively ignored them.  Another side effect is that UPDATE-ing an
element or slice of an array value that is NULL now produces a non-null
result, namely an array containing just the assigned-to positions.
2004-06-09 19:08:20 +00:00
Bruce Momjian
69616f96ec Add:
> * Add ON COMMIT capability to CREATE TABLE AS SELECT
2004-06-09 03:15:51 +00:00
Bruce Momjian
cd8b0fc5f1 Change PGETC to PGSYSCONFDIR and PGLOCALE to PGLOCALEDIR, per Peter. 2004-06-08 13:49:23 +00:00
Bruce Momjian
9136613803 Add start/stop times for pg_dump/pg_dumpall when verbose output is used. 2004-06-07 20:35:57 +00:00
Bruce Momjian
613c684a60 Update date. 2004-06-07 15:11:23 +00:00
Tom Lane
982d005d62 Some preliminary documentation for composite-type stuff. 2004-06-07 04:04:47 +00:00
Tom Lane
c541bb86e9 Infrastructure for I/O of composite types: arrange for the I/O routines
of a composite type to get that type's OID as their second parameter,
in place of typelem which is useless.  The actual changes are mostly
centralized in getTypeInputInfo and siblings, but I had to fix a few
places that were fetching pg_type.typelem for themselves instead of
using the lsyscache.c routines.  Also, I renamed all the related variables
from 'typelem' to 'typioparam' to discourage people from assuming that
they necessarily contain array element types.
2004-06-06 00:41:28 +00:00
Bruce Momjian
768916d753 This is a small fix in FAQ. It just clean up some old comments and
change an old -not-working piece of code.
2004-06-04 04:09:40 +00:00
Bruce Momjian
bf2a115f2f Remove dash in pg_ctl signal name. It broke with getopt_long dash
reorganization processing, and it is clearer without the dash anyway.
2004-06-04 04:05:36 +00:00
Bruce Momjian
6870843339 Add PGETC (for pg_service.conf) and PGLOCALE (for locale dir)
environment variable processing to libpq.

The patch also adds code to our client apps so we set the environment
variable directly based on our binary location, unless it is already
set. This will allow our applications to emit proper locale messages
that are generated in libpq.
2004-06-03 00:07:38 +00:00
Bruce Momjian
70f5a87ecc Small patch that adds some documentation for the area() function.
Specifically, point out that intersecting points in a path will yield
(most likely), unexpected results.  Visually these are identical paths,
but mathematically they're not the same.  Ex:

  area |                                           plan
------
+-----------------------------------------------------------------------
-------------------
    -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))
     2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))

The current algorithm for area(PATH) is very quick, but only handles
non-intersecting paths.  I'm going to work on two other functions for
the PATH data type that determines if a PATH is intersecting or not,
and a function that returns the area() for an intersecting PATH.  The
intersecting area() function will be considerably slower (I think it's
going to be O(n!) or worse instead of the current O(n), but that comes
with the territory).

Sean Chittenden
2004-06-02 21:34:49 +00:00
Bruce Momjian
36ae5efab1 Improve without cluster wording. 2004-06-02 21:04:40 +00:00
Bruce Momjian
1cdc58722c OK, here's the final version of ALTER TABLE ... SET WITHOUT CLUSTER.
Has docs + regression test.

Christopher Kings-Lynne
2004-06-02 21:01:10 +00:00
Tom Lane
4b2dafcc0b Align GRANT/REVOKE behavior more closely with the SQL spec, per discussion
of bug report #1150.  Also, arrange that the object owner's irrevocable
grant-option permissions are handled implicitly by the system rather than
being listed in the ACL as self-granted rights (which was wrong anyway).
I did not take the further step of showing these permissions in an
explicit 'granted by _SYSTEM' ACL entry, as that seemed more likely to
bollix up existing clients than to do anything really useful.  It's still
a possible future direction, though.
2004-06-01 21:49:23 +00:00
Bruce Momjian
a1bd1d70d6 Update pg_dump -v comments to mention additional comments in dump file. 2004-05-31 13:37:52 +00:00
Bruce Momjian
f024086db3 Done:
> 	o -Allow Java server-side programming
2004-05-31 02:58:43 +00:00
Bruce Momjian
95cdafd333 Remove pljava todo info. 2004-05-31 02:58:09 +00:00
Bruce Momjian
d157b7bbc7 Document new pg_ctl 'kill' command, specificially for Win32. 2004-05-27 03:50:25 +00:00
Tom Lane
c792cbcc26 Recommend ALTER TABLE ... TYPE as the best way to reclaim space occupied by deleted columns. The old method involving UPDATE and VACUUM FULL will be considerably less efficient. 2004-05-27 03:30:11 +00:00
Neil Conway
92b0b080eb Add an index entry for "Performance Tips". Patch from Alvaro Herrera. 2004-05-27 01:00:40 +00:00
Bruce Momjian
ffef9b8c50 AIX doc addition:
> FWIW, the section on configuring kernel resources under various
> Unixen[1] doesn't have any documentation for AIX. If someone out there
> knows which knobs need to be tweaked, would they mind sending in a doc
> patch? (Or just specifying what needs to be done, and I'll add the
> SGML.)

After verifying that nobody wound up messing with the kernel
parameters, here's a docs patch...

 Chris Browne
2004-05-26 18:51:43 +00:00
Bruce Momjian
97d625dd1c *) inet_(client|server)_(addr|port)() and necessary documentation for
the four functions.


> Also, please justify the temp-related changes.  I was not aware that we
> had any breakage there.

patch-tmp-schema.txt contains the following bits:

*) Changes pg_namespace_aclmask() so that the superuser is always able
to create objects in the temp namespace.
*) Changes pg_namespace_aclmask() so that if this is a temp namespace,
objects are only allowed to be created in the temp namespace if the
user has TEMP privs on the database.  This encompasses all object
creation, not just TEMP tables.
*) InitTempTableNamespace() checks to see if the current user, not the
session user, has access to create a temp namespace.

The first two changes are necessary to support the third change.  Now
it's possible to revoke all temp table privs from non-super users and
limiting all creation of temp tables/schemas via a function that's
executed with elevated privs (security definer).  Before this change,
it was not possible to have a setuid function to create a temp
table/schema if the session user had no TEMP privs.

patch-area-path.txt contains:

*) Can now determine the area of a closed path.


patch-dfmgr.txt contains:

*) Small tweak to add the library path that's being expanded.

I was using $lib/foo.so and couldn't easily figure out what the error
message, "invalid macro name in dynamic library path" meant without
looking through the source code.  With the path in there, at least I
know where to start looking in my config file.

Sean Chittenden
2004-05-26 18:35:51 +00:00
Bruce Momjian
8096fe45ce The added aggregates are:
(1) boolean-and and boolean-or aggregates named bool_and and bool_or.
    they (SHOULD;-) correspond to standard sql every and some/any aggregates.
    they do not have the right name as there is a problem with
    the standard and the parser for some/any. Tom also think that
    the standard name is misleading because NULL are ignored.
    Also add 'every' aggregate.

(2) bitwise integer aggregates named bit_and and bit_or for
    int2, int4, int8 and bit types. They are not standard, but I find
    them useful. I needed them once.


The patches adds:

- 2 new very short strict functions for boolean aggregates in
  src/backed/utils/adt/bool.c,
  src/include/utils/builtins.h and src/include/catalog/pg_proc.h

- the new aggregates declared in src/include/catalog/pg_proc.h and
  src/include/catalog/pg_aggregate.h

- some documentation and validation about these new aggregates.

Fabien COELHO
2004-05-26 15:26:28 +00:00
Bruce Momjian
3dc37cd8d6 The patch adresses the TODO list item "Allow external interfaces to
extend the GUC variable set".

Plugin modules like the pl<lang> modules needs a way to declare
configuration parameters. The postmaster has no knowledge of such
modules when it reads the postgresql.conf file. Rather than allowing
totally unknown configuration parameters, the concept of a variable
"class" is introduced. Variables that belongs to a declared classes will
create a placeholder value of string type and will not generate an
error. When a module is loaded, it will declare variables for such a
class and make those variables "consume" any placeholders that has been
defined. Finally, the module will generate warnings for unrecognized
placeholders defined for its class.

More detail:
The design is outlined after the suggestions made by Tom Lane and Joe
Conway in this thread:

http://archives.postgresql.org/pgsql-hackers/2004-02/msg00229.php

A new string variable 'custom_variable_classes' is introduced. This
variable is a comma separated string of identifiers. Each identifier
denots a 'class' that will allow its members to be added without error.
This variable must be defined in postmaster.conf.

The lexer (guc_file.l) is changed so that it can accept a qualified name
in the form <ID>.<ID> as the name of a variable. I also changed so that
the 'custom_variable_classes', if found, is added first of all variables
in order to remove the order of declaration issue.

The guc_variables table is made more dynamic. It is originally created
with 20% slack and can grow dynamically. A capacity is introduced to
avoid resizing every time a new variable is added. guc_variables and
num_guc_variables becomes static (hidden).

The GucInfoMain now uses the new function get_guc_variables() and
GetNumConfigOptions  instead or using the guc_variables directly.

The find_option() function, when passed a missing name, will check if
the name is qualified. If the name is qualified and if the qualifier
denotes a class included in the 'custom_variable_classes', a placeholder
variable will be created. Such a placeholder will not participate in a
list operation but will otherwise function as a normal string variable.

Define<type>GucVariable() functions will be added, one for each variable
type. They are inteded to be used by add-on modules like the pl<lang>
mappings. Example:

extern void DefineCustomBoolVariable(
         const char* name,
         const char* short_desc,
         const char* long_desc,
         bool* valueAddr,
         GucContext context,
         GucBoolAssignHook assign_hook,
         GucShowHook show_hook);

(I created typedefs for the assign-hook and show-hook functions). A call
to these functions will define a new GUC-variable. If a placeholder
exists it will be replaced but it's value will be used in place of the
default value. The valueAddr is assumed ot point at a default value when
the define function is called. The only constraint that is imposed on a
Custom variable is that its name is qualified.

Finally, a function:

void EmittWarningsOnPlacholders(const char* className)

was added. This function should be called when a module has completed
its variable definitions. At that time, no placeholders should remain
for the class that the module uses. If they do, elog(INFO, ...) messages
will be issued to inform the user that unrecognized variables are
present.

Thomas Hallgren
2004-05-26 15:07:41 +00:00
Bruce Momjian
cfbfdc557d This patch implement the TODO [ALTER DATABASE foo OWNER TO bar].
It was necessary to touch in grammar and create a new node to make home
to the new syntax. The command is also supported in E
CPG. Doc updates are attached too. Only superusers can change the owner
of the database. New owners don't need any aditional
privileges.

Euler Taveira de Oliveira
2004-05-26 13:57:04 +00:00
Bruce Momjian
daac2d2c48 Update Russian FAQ.
Viktor Vislobokov
2004-05-24 15:14:52 +00:00
Neil Conway
2b3f6ecdf5 Clarify an entry in the 7.4 release notes. 2004-05-24 04:54:22 +00:00
Bruce Momjian
ffd1880bb4 Add:
> * Allow GRANT/REVOKE permissions to be given to all schema objects with one command
2004-05-24 03:23:00 +00:00
Tom Lane
5fc1046f2f Fix broken markup. 2004-05-23 15:13:43 +00:00
Neil Conway
bfa1171c84 Fix a few more minor errors in the 7.4 release notes. 2004-05-22 11:06:55 +00:00
Neil Conway
76e70108e7 Fix typo in an entry in the 7.4 release notes. 2004-05-22 09:48:15 +00:00
Tom Lane
63bd0db121 Integrate src/timezone library for all platforms. There is more we can
and should do now that we control our own destiny for timezone handling,
but this commit gets the bulk of the picayune diffs in place.
Magnus Hagander and Tom Lane.
2004-05-21 05:08:06 +00:00
Bruce Momjian
40296aa2ec Remove pyton, spell check fix:
> * Support composite types as table columns
286,289d286
< * Python
< 	o Allow users to register their own types with pg_
< 	o Allow SELECT to return a dictionary of dictionaries
< 	o Allow COPY BINARY FROM
456d452
< * Support composite types as table columns
2004-05-20 16:36:14 +00:00
Bruce Momjian
8027065660 Updates from Tom:
< Bracketed items "[]" have more detailed.
> Bracketed items "[]" have more detail.
35,36d34
< * Remove unreferenced table files and temp tables during database vacuum
<   or postmaster startup (Bruce)
68c66
< * Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
> * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
70c68
< * Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
> * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
76c74
< * Make LENGTH() of CHAR() not count trailing spaces
> * -Make LENGTH() of CHAR() not count trailing spaces
145c143
< * Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
> * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
179c177
< * Allow more ISOLATION LEVELS to be accepted, but issue a warning for them
> * -Allow more ISOLATION LEVELS to be accepted
186c184
< * Add GUC setting to make created tables default to WITHOUT OIDS
> * -Add GUC setting to make created tables default to WITHOUT OIDS
265d262
< * Allow fastpast to pass values in portable format
271c268
< * Move psql backslash database information into the backend, use nmumonic
> * Move psql backslash database information into the backend, use nmeumonic
275,283d271
< * JDBC
< 	o Comprehensive test suite. This may be available already.
< 	o JDBC-standard BLOB support
< 	o Error Codes (pending backend implementation)
< 	o Support both 'make' and 'ant'
< 	o Fix LargeObject API to handle OIDs as unsigned ints
< 	o Use cursors implicitly to avoid large results (see setCursorName())
< 	o Add LISTEN/NOTIFY support to the JDBC driver (Barry)
<
332c320
< * Have pg_dump -c clear the database using dependency information
> * -Have pg_dump -c clear the database using dependency information
367,368c355,356
< * Cache last known per-tuple offsets to speed long tuple access
< * Automatically place fixed-width, NOT NULL columns first in a table
> * Cache last known per-tuple offsets to speed long tuple access, adjusting
>   for NULLs and TOAST values
467c455,456
< * Change representation of whole-tuple parameters to functions
> * -Change representation of whole-tuple parameters to functions
> * Support composite types as table columns
478,479d466
< * Allow the regression tests to start postmaster with -i so the tests
<   can be run on systems that don't support unix-domain sockets
2004-05-20 15:57:26 +00:00
Bruce Momjian
bb206b6dce Update SCO FAQ.
Larry Rosenman
2004-05-20 04:19:26 +00:00
Bruce Momjian
3e485d0ea1 Add:
> * Investigate SMP context switching issues
2004-05-20 04:10:44 +00:00
Bruce Momjian
4714dcb06c Remove item:
< * Allow col IS TRUE/FALSE use an index like col = TRUE/FALSE
2004-05-20 03:27:16 +00:00
Bruce Momjian
5f55347e33 Add:
> 	o Add default clustering to system tables
2004-05-20 02:58:18 +00:00
Bruce Momjian
f92630bdca Add:
> 	o Add ALTER DOMAIN TYPE
2004-05-20 02:07:50 +00:00
Bruce Momjian
0ca0099139 Add:
> * Allow col IS TRUE/FALSE use an index like col = TRUE/FALSE
2004-05-20 02:01:00 +00:00
Bruce Momjian
d5003e5221 Document &< and &> properly.
William White <bwhite@frognet.net>
2004-05-19 23:56:38 +00:00
Bruce Momjian
24a1fafc8d Clearify CHECK handling of unknown test values.
Karl O. Pinc
2004-05-19 23:10:43 +00:00
Bruce Momjian
952c772158 Done:
> * -Make pg_restore continue after errors, so it acts more like pg_dump scripts
2004-05-19 21:09:53 +00:00
Bruce Momjian
4c82cb9d40 Trim down relocatable docs, per Peter. 2004-05-18 21:46:25 +00:00
Bruce Momjian
dcf459e662 Add some documentation on relocatable installs. 2004-05-18 20:34:01 +00:00
Bruce Momjian
da401bd314 Add:
> * Allow binaries to be statically linked so they are more easily relocated
2004-05-18 16:06:08 +00:00
Bruce Momjian
e30efa0da1 Update Russian FAQ.
Viktor Vislobokov
2004-05-18 13:18:30 +00:00
Bruce Momjian
d14db1321b Add documentation that installations are relocatable unless configure
locations are overridden.
2004-05-17 16:06:25 +00:00
Bruce Momjian
2657c24b6d Reformat sgml doc paragraph. 2004-05-17 15:00:50 +00:00
Neil Conway
8295c27c89 Add documentation for the new "dollar quoting" feature, and update existing
examples to use dollar quoting when appropriate. Original patch from David
Fetter, additional work and editorializing by Neil Conway.
2004-05-16 23:22:08 +00:00
Neil Conway
2871f60f23 Change ln(), log(), power(), and sqrt() to emit the correct SQLSTATE
error codes for certain error conditions, as specified by SQL2003.
2004-05-16 23:18:55 +00:00
Bruce Momjian
335cf9ae7f Restore one mention of logrotate, per Peter. 2004-05-16 19:34:46 +00:00
Neil Conway
0079547bcb Implement the width_bucket() function, per SQL2003. This commit only adds
a variant of the function for the 'numeric' datatype; it would be possible
to add additional variants for other datatypes, but I haven't done so yet.

This commit includes regression tests and minimal documentation; if we
want developers to actually use this function in applications, we'll
probably need to document what it does more fully.
2004-05-14 21:42:30 +00:00
Bruce Momjian
19a495caaa Properly document rotatelogs, and add mention of it to pg_ctl manual page. 2004-05-14 20:01:19 +00:00
Neil Conway
0cb27df5c6 Improve documentation for SQLSTATE error codes, per recent thread on
-patches.
2004-05-14 18:04:02 +00:00
Bruce Momjian
3bfd4d9284 Remove:
< 	o Add PL/PHP (Joe)
2004-05-12 04:10:41 +00:00
Bruce Momjian
270c9aa34a Add DELETE:
> * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
2004-05-11 20:23:05 +00:00
Bruce Momjian
f739deb50f Add mention of rules/triggers:
> * Add MERGE command that does UPDATE, or on failure, INSERT (rules, triggers?)
2004-05-11 13:44:05 +00:00
Tom Lane
2f63232d30 Promote row expressions to full-fledged citizens of the expression syntax,
rather than allowing them only in a few special cases as before.  In
particular you can now pass a ROW() construct to a function that accepts
a rowtype parameter.  Internal generation of RowExprs fixes a number of
corner cases that used to not work very well, such as referencing the
whole-row result of a JOIN or subquery.  This represents a further step in
the work I started a month or so back to make rowtype values into
first-class citizens.
2004-05-10 22:44:49 +00:00
Neil Conway
9a939886ac Fix typo. 2004-05-10 21:08:28 +00:00
Bruce Momjian
b071a40068 Add:
> * Add MERGE command that does UPDATE, or on failure, INSERT
2004-05-10 03:58:19 +00:00
Bruce Momjian
1fe11fad54 Fix typo. 2004-05-08 02:13:31 +00:00
Bruce Momjian
97c7cb0930 Uppercase keyword for ecpg. 2004-05-07 02:40:43 +00:00
Bruce Momjian
4d46274b33 Done:
> 	o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
2004-05-06 19:32:09 +00:00
Bruce Momjian
22a2c4b576 Erase MD5 user passwords when a user is renamed because the username is
used as salt for the MD5 password.
2004-05-06 16:59:16 +00:00