Commit Graph

1372 Commits

Author SHA1 Message Date
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
Bruce Momjian
a02f6ce33b Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
Joachim Wieland
2006-02-11 22:17:19 +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
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
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
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
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
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
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
bf7faa7c8f Fix broken markup. 2006-01-06 01:35:09 +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
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
Neil Conway
a4d69a410d Minor doc tweak: "NOT NULL" is redundant with "SERIAL" in example. 2005-12-25 01:41:15 +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
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
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
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
Tom Lane
1cf65140d0 Fix obsolete description of -h option, per Andreas Schmidt. 2005-12-02 23:13:46 +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
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
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
Tom Lane
2a8d3d83ef R-tree is dead ... long live GiST. 2005-11-07 17:36:47 +00:00
Peter Eisentraut
39dfbe5791 Spellchecking run, final cleanups 2005-11-04 23:14:02 +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
Tom Lane
b524cb36ac Make an editorial pass over the reference pages. 2005-11-01 21:09:51 +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
Bruce Momjian
9c67981683 Fix psql ref typo.
Andreas Seltenreich
2005-10-30 03:01:49 +00:00
Bruce Momjian
fbff2e9607 Remove mention that \x doesn't affect backslash commands. 2005-10-28 02:39:07 +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
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
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
Tom Lane
412734767a Improve documentation about CREATEROLE privilege. 2005-10-13 23:26:00 +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
Bruce Momjian
7d43349ab5 Fix capitalization of example. 2005-10-13 14:44:58 +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
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
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
Peter Eisentraut
7df9f55f4b Change the option spelling to --connection-limit to be consistent with the
SQL option spelling.
2005-09-30 07:13:54 +00:00
Tom Lane
4fc935a5d4 Fix problems with PGXS builds against an installation tree that was
relocated after installation.  We can't trust the installation paths
inserted into Makefile.global by configure, so instead we must get the
paths from pg_config.  This requires extending pg_config to support all
the separately-configurable path names, but that was on TODO anyway.
2005-09-27 17:39:35 +00:00
Bruce Momjian
18ea8ae531 Attached patch takes a swing at improving the autovacuum wording in
maintenance.sgml.

Robert Treat

[ Also fix create domain markup.]
2005-09-23 02:01:35 +00:00
Bruce Momjian
0135cd88bd Add warning about DOMAINs.
David Fetter
2005-09-22 23:56:46 +00:00
Neil Conway
d6bc885bb9 Minor SGML markup fixes. 2005-09-13 15:24:57 +00:00
Tom Lane
b93a72afbf Forgot to add pg_pltemplate to the list of shared system catalogs that
appears in the REINDEX ref page.
2005-09-12 16:43:29 +00:00
Tom Lane
48123de717 Create the pg_pltemplate system catalog to hold template information
for procedural languages.  This replaces the hard-wired table I had
originally proposed as a stopgap solution.  For the moment, the initial
contents only include languages shipped with the core distribution.
2005-09-08 20:07:42 +00:00
Tom Lane
e0dedd0559 Implement a preliminary 'template' facility for procedural languages,
as per my recent proposal.  For now the template data is hard-wired in
proclang.c --- this should be replaced later by a new shared system
catalog, but we don't want to force initdb during 8.1 beta.  This change
lets us cleanly load existing dump files even if they contain outright
wrong information about a PL's support functions, such as a wrong path
to the shared library or a missing validator function.  Also, we can
revert the recent kluges to make pg_dump dump PL support functions that
are stored in pg_catalog.
While at it, I removed the code in pg_regress that replaced $libdir
with a hardcoded path for temporary installations.  This is no longer
needed given our support for relocatable installations.
2005-09-05 23:50:49 +00:00
Andrew Dunstan
2739e1d1c2 Add a note about CSV lines with trailing spaces.
Suggestion by Darcy Buskermolen, reworded by me.
2005-09-05 14:44:05 +00:00
Tom Lane
cc367951a9 Mention max_prepared_transactions in PREPARE TRANSACTION reference page,
per Bruce's suggestion.
2005-08-30 01:37:38 +00:00
Tom Lane
130b2dd8ea Add documentation for ALTER TABLE ENABLE/DISABLE TRIGGER. 2005-08-24 17:24:19 +00:00
Bruce Momjian
ae94f10397 Update documentation that non-super users can now do ALTER OWNER. 2005-08-22 21:32:01 +00:00
Tom Lane
83357da684 Cause ALTER INDEX OWNER to generate a warning and do nothing, rather than
erroring out as it has done for the last couple weeks.  Document that this
form is now ignored because indexes can't usefully have different owners
from their parent tables.  Fix pg_dump to not generate ALTER OWNER commands
for indexes.
2005-08-22 19:40:37 +00:00
Tom Lane
2498d8296e Clean up some stray remaining references to pg_shadow, pg_user, pg_group. 2005-08-15 02:40:36 +00:00
Tom Lane
840b7f5205 Update administrator's guide chapters for ROLEs patch. 2005-08-14 23:35:38 +00:00
Tom Lane
8ae0d476a9 Update the createuser utility for the ROLEs world. Alvaro Herrera 2005-08-14 20:16:03 +00:00
Tom Lane
84ccf7212c Fix up tab completion for ROLEs and add some more completion logic for
other stuff; change \du and \dg to be role-aware (Stefan Kaltenbrunner).
Also make tab completion fetch the list of GUC variables from pg_settings
instead of having a hard-wired copy of the list (Tom Lane).
2005-08-14 18:49:30 +00:00
Bruce Momjian
03be45fbe6 CREATE TABLE has optional column names, so change {} to [].
Alvaro.
2005-08-13 02:48:18 +00:00
Tom Lane
59c016aa9f Pass the type OID as the typioparam for all non-array types, rather than
only composite types as we did in 8.0.  Per discussion with Martijn
van Oosterhout.
2005-08-12 21:49:47 +00:00
Tom Lane
cbd015d718 Extend pg_config to be able to report the build-time values of CC,
CPPFLAGS, CFLAGS, CFLAGS_SL, LDFLAGS, LDFLAGS_SL, and LIBS.  Change it
so that invoking pg_config with no arguments reports all available
information, rather than just giving an error message.  Per discussion.
2005-08-09 22:47:03 +00:00
Tom Lane
33f5bf9700 ALTER TABLE OWNER must change the ownership of the table's rowtype too.
This was not especially critical before, but it is now that we track
ownership dependencies --- the dependency for the rowtype *must* shift
to the new owner.  Spotted by Bernd Helmle.
Also fix a problem introduced by recent change to allow non-superusers
to do ALTER OWNER in some cases: if the table had a toast table, ALTER
OWNER failed *even for superusers*, because the test being applied would
conclude that the new would-be owner had no create rights on pg_toast.
A side-effect of the fix is to disallow changing the ownership of indexes
or toast tables separately from their parent table, which seems a good
idea on the whole.
2005-08-04 01:09:29 +00:00
Tom Lane
2a4fad1a0e Add NOWAIT option to SELECT FOR UPDATE/SHARE.
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak
and Tom Lane.
2005-08-01 20:31:16 +00:00
Bruce Momjian
ca7abcd89d nor -> or. 2005-08-01 19:38:03 +00:00
Tom Lane
f58434f18f Documentation for ALTER object SET SCHEMA commands. Also some minor
editorialization.
2005-08-01 16:11:14 +00:00
Tom Lane
d42cf5a42a Add per-user and per-database connection limit options.
This patch also includes preliminary update of pg_dumpall for roles.
Petr Jelinek, with review by Bruce Momjian and Tom Lane.
2005-07-31 17:19:22 +00:00
Bruce Momjian
08d728372e More vacuum markup fixes. Alvaro 2005-07-30 17:15:35 +00:00
Bruce Momjian
31a2824263 Fix VACUUM sgml markup. 2005-07-30 17:03:56 +00:00
Bruce Momjian
2ab9997ec2 Patch to mention cost-based delay in vacuum reference
Alvaro Herrera
2005-07-30 15:45:49 +00:00
Bruce Momjian
85e9a5a014 Move reindexdb from /contrib to /bin.
Euler Taveira de Oliveira
2005-07-29 15:13:11 +00:00
Neil Conway
f124e820a1 Add some missing SGML markup. 2005-07-27 13:42:01 +00:00
Tom Lane
58d214e51f Basic documentation for ROLEs. The user-manag chapter still needs to
be rewritten, but at least the reference pages are reasonably sane.
2005-07-26 23:24:02 +00:00
Tom Lane
e5d6b91220 Add SET ROLE. This is a partial commit of Stephen Frost's recent patch;
I'm still working on the has_role function and information_schema changes.
2005-07-25 22:12:34 +00:00
Bruce Momjian
507465525e \pset numericsep -> numericlocale. 2005-07-18 20:57:53 +00:00
Bruce Momjian
45a19efa9e Change numericsep to a boolean, and make it locale-aware. 2005-07-14 08:42:37 +00:00
Neil Conway
c3f1b0f4dd This doc patch replaces all inappropriate references to SQL:1999 when it
is used as if it were the latest (and/or still valid) SQL standard.
SQL:2003 is used in its place. Patch from Simon Riggs.
2005-07-14 06:17:36 +00:00
Tom Lane
d78397d301 Change typreceive function API so that receive functions get the same
optional arguments as text input functions, ie, typioparam OID and
atttypmod.  Make all the datatypes that use typmod enforce it the same
way in typreceive as they do in typinput.  This fixes a problem with
failure to enforce length restrictions during COPY FROM BINARY.
2005-07-10 21:14:00 +00:00
Bruce Momjian
d1cffe2f77 Add --encoding to pg_dump.
The Problem:  Occassionally a DBA needs to dump a database to a new
encoding.   In instances where the current encoding, (or lack of an
encoding, like SQL_ASCII) is poorly supported on the target  database
server, it can be useful to dump into a particular  encoding.  But,
currently the only way to set the encoding of  a pg_dump file is to
change  client_encoding in postgresql.conf and restart postmaster.
This is more  than a little awkward for production systems.

Magnus Hagander
2005-07-10 15:08:52 +00:00
Bruce Momjian
73a7c322c3 Add psql \pset numericsep to allow output numbers like 100,000.0 or
100.000,0.

Eugen Nedelcu
2005-07-10 03:46:13 +00:00
Tom Lane
4cc7a93d22 Make REINDEX DATABASE do what one would expect, namely reindex all indexes
in the database.  The old behavior (reindex system catalogs only) is now
available as REINDEX SYSTEM.  I did not add the complementary REINDEX USER
case since there did not seem to be consensus for this, but it would be
trivial to add later.  Per recent discussions.
2005-06-22 21:14:31 +00:00
Tom Lane
7a28de2052 pg_dump can now dump large objects even in plain-text output mode, by
using the recently added lo_create() function.  The restore logic in
pg_restore is greatly simplified as well, since there's no need anymore
to try to adjust database references to match a new set of blob OIDs.
2005-06-21 20:45:44 +00:00
Tom Lane
6f7fc0bade Cause initdb to create a third standard database "postgres", which
unlike template0 and template1 does not have any special status in
terms of backend functionality.  However, all external utilities such
as createuser and createdb now connect to "postgres" instead of
template1, and the documentation is changed to encourage people to use
"postgres" instead of template1 as a play area.  This should fix some
longstanding gotchas involving unexpected propagation of database
objects by createdb (when you used template1 without understanding
the implications), as well as ameliorating the problem that CREATE
DATABASE is unhappy if anyone else is connected to template1.
Patch by Dave Page, minor editing by Tom Lane.  All per recent
pghackers discussions.
2005-06-21 04:02:34 +00:00
Tom Lane
d0a89683a3 Two-phase commit. Original patch by Heikki Linnakangas, with additional
hacking by Alvaro Herrera and Tom Lane.
2005-06-17 22:32:51 +00:00
Bruce Momjian
61e2c00e64 Have SHOW ALL include variable descriptions.
Matthias Schmidt
2005-06-14 20:42:53 +00:00
Bruce Momjian
2ee0d5549f Add -L option to psql to log sessions.
Lorne Sunley
2005-06-14 02:57:45 +00:00
Neil Conway
077811605e Per discussion on -hackers, this patch changes psql's "expanded" output
mode to only affect the presentation of normal query results, not the
output of psql slash commands. Documentation updated. I also made
some unrelated minor psql cleanup. Per suggestion from Stuart Cooper.
2005-06-13 06:36:22 +00:00
Neil Conway
8c05ca7754 SGML cleanup: consistently use "endterm" in <xref>s that link to the
reference page for SQL commands, so that the link text is italicized.
2005-06-13 02:40:08 +00:00
Bruce Momjian
e4c76191a9 Add space before :DBNAME for proper \set expansion.
Andreas Seltenreich
2005-06-10 16:31:48 +00:00
Neil Conway
a89c109e30 Minor cleanup of documentation for recently-added HISTFILE psql variable. 2005-06-10 16:26:59 +00:00
Bruce Momjian
ea88824a3e the following patch makes the filename used to store the readline
history customizable through a variable named HISTFILE, analogous to
psql's already implemented HISTCONTROL and HISTSIZE variables, and
bash's HISTFILE-Variable.

The motivation was to be able to get psql to maintain separate
histories for separate databases.  This is now easily achievable
through a line like the following in ~/.psqlrc:

\set HISTFILE ~/.psql_history-:DBNAME

Andreas Seltenreich
2005-06-10 15:34:26 +00:00
Peter Eisentraut
65d27324c3 Add example for pg_config --configure. 2005-06-09 18:15:05 +00:00
Bruce Momjian
ebc8649892 Since I needed this feature badly, I added the -n / --schema switch to
pg_restore. It restores the given schemaname only. It can be used in
conjunction with the -t and other switches to make the selection very
fine grained.

Richard van den Bergg, CISSP
2005-06-09 17:56:51 +00:00
Bruce Momjian
4a5cda7bba I've created a patch which adds support for troff "-ms" output to
psql.  i.e. "\pset format troff-ms".  The patch also corrects some
problems with the "latex" format, notably defining an extra column in
the output table, and correcting some alignment issues; it also
changes the output to match the border setting as documented in the
manual page and as shown with the "aligned" format.

The troff-ms output is mostly identical to the latex output allowing
for the differences between the two typesetters.

The output should be saved in a file and piped as follows:

  cat file | tbl | troff -T ps -ms > file.ps
or
  tbl file | troff -T ps -ms > file.ps

Because it contains tabs, you'll need to redirect psql output or use
"script", rather than pasting from a terminal window, due to the tabs
which can be replaced with spaces.

Roger Leigh
2005-06-09 15:27:27 +00:00
Tom Lane
77c168a836 Remove grammar productions for prefix and postfix % and ^ operators,
as well as the existing pg_catalog entries for prefix and postfix %.
These have never been documented, though they did appear in one old
regression test.  This avoids surprising behavior in cases like
"SELECT -25 % -10".  Per recent discussion.
Note: although there is a catalog change here, I did not force initdb
since there's no harm in leaving the inaccessible entries in one's
copy of pg_operator.
2005-06-08 21:15:29 +00:00
Tom Lane
f5b2f60bd1 Change WAL-logging scheme for multixacts to be more like regular
transaction IDs, rather than like subtrans; in particular, the information
now survives a database restart.  Per previous discussion, this is
essential for PITR log shipping and for 2PC.
2005-06-08 15:50:28 +00:00
Bruce Momjian
b51366396b Add support for \x hex strings in psql variables. 2005-06-02 01:23:48 +00:00
Bruce Momjian
202e6e73e6 Add support for \x hex escapes in COPY.
Sergey Ten
2005-06-02 01:21:22 +00:00
Bruce Momjian
5b3625f1b7 Tab cleanup for SGML.
Robert Treat
2005-05-31 14:48:47 +00:00
Bruce Momjian
a2cce84349 Update psql docs for recent octal-only string behavior. 2005-05-30 15:24:23 +00:00
Bruce Momjian
ecd70d7526 Add reference to libpq environment variables for client applications. 2005-05-29 03:32:18 +00:00
Tom Lane
357ea45b57 Document that utility commands such as DROP FUNCTION allow argument names
and modes to be included when naming an existing function.
2005-05-26 20:05:03 +00:00
Tom Lane
f81a77d5ef Update createuser examples to match the current program behavior,
and add an example showing assignment of a password.  Per suggestion
from Jari Aalto (via Martin Pitt).
2005-05-13 16:31:43 +00:00
Bruce Momjian
545828a754 Documentation adjustments.
Vladimir Chukharev
2005-05-08 03:08:05 +00:00
Bruce Momjian
b63990c6a8 Add COPY WITH CVS HEADER to allow a heading line as the first line in
COPY.

Andrew Dunstan
2005-05-07 02:22:49 +00:00
Bruce Momjian
051ecca022 Remove documentation that CSV didn't handle carriage returns and line
feeds properly.
2005-05-06 03:38:05 +00:00
Tom Lane
893b57c871 Alter the signature for encoding conversion functions to declare the
output area as INTERNAL not CSTRING.  This is to prevent people from
calling the functions by hand.  This is a permanent solution for the
back branches but I hope it is just a stopgap for HEAD.
2005-05-03 19:17:59 +00:00
Neil Conway
b656150ec0 Add some missing "See Also" entries to the domain-related SQL reference
pages. From Robert Treat.
2005-05-02 01:52:50 +00:00
Tom Lane
6c412f0605 Change CREATE TYPE to require datatype output and send functions to have
only one argument.  (Per recent discussion, the option to accept multiple
arguments is pretty useless for user-defined types, and would be a likely
source of security holes if it was used.)  Simplify call sites of
output/send functions to not bother passing more than one argument.
2005-05-01 18:56:19 +00:00
Tom Lane
ae793ff63c Fix incorrect backslashing in regexp example, per Robert Treat. 2005-05-01 15:57:59 +00:00
Tom Lane
bedb78d386 Implement sharable row-level locks, and use them for foreign key references
to eliminate unnecessary deadlocks.  This commit adds SELECT ... FOR SHARE
paralleling SELECT ... FOR UPDATE.  The implementation uses a new SLRU
data structure (managed much like pg_subtrans) to represent multiple-
transaction-ID sets.  When more than one transaction is holding a shared
lock on a particular row, we create a MultiXactId representing that set
of transactions and store its ID in the row's XMAX.  This scheme allows
an effectively unlimited number of row locks, just as we did before,
while not costing any extra overhead except when a shared lock actually
has to be shared.   Still TODO: use the regular lock manager to control
the grant order when multiple backends are waiting for a row lock.

Alvaro Herrera and Tom Lane.
2005-04-28 21:47:18 +00:00
Bruce Momjian
a65b1b738c Add psql \set ON_ERROR_ROLLBACK to allow statements in a transaction to
error without affecting the entire transaction.  Valid values are
"on|interactive|off".
2005-04-28 13:09:59 +00:00
Bruce Momjian
6f61ddd40d Typo fix. Alvaro. 2005-04-22 15:32:58 +00:00
Bruce Momjian
d76f279a55 Remove pre-7.3 mention that FOR UPDATE can be before LIMIT.
Document that FOR UPDATE and LIMIT together can return fewer rows that
LIMIT specifies, and why.
2005-04-22 04:20:44 +00:00
Tom Lane
2e7a68896b Add aggsortop column to pg_aggregate, so that MIN/MAX optimization can
be supported for all datatypes.  Add CREATE AGGREGATE and pg_dump support
too.  Add specialized min/max aggregates for bpchar, instead of depending
on text's min/max, because otherwise the possible use of bpchar indexes
cannot be recognized.
initdb forced because of catalog changes.
2005-04-12 04:26:34 +00:00
Neil Conway
eb4b7a0b77 Change the default setting of "add_missing_from" to false. This has been
the long-term plan for this behavior for quite some time, but it is only
possible now that DELETE has a USING clause so that the user can join
other tables in a DELETE statement without relying on this behavior.
2005-04-08 00:59:59 +00:00
Neil Conway
f5ab0a14ea Add a "USING" clause to DELETE, which is equivalent to the FROM clause
in UPDATE. We also now issue a NOTICE if a query has _any_ implicit
range table entries -- in the past, we would only warn about implicit
RTEs in SELECTs with at least one explicit RTE.

As a result of the warning change, 25 of the regression tests had to
be updated. I also took the opportunity to remove some bogus whitespace
differences between some of the float4 and float8 variants. I believe
I have correctly updated all the platform-specific variants, but let
me know if that's not the case.

Original patch for DELETE ... USING from Euler Taveira de Oliveira,
reworked by Neil Conway.
2005-04-07 01:51:41 +00:00
Tom Lane
47888fe842 First phase of OUT-parameters project. We can now define and use SQL
functions with OUT parameters.  The various PLs still need work, as does
pg_dump.  Rudimentary docs and regression tests included.
2005-03-31 22:46:33 +00:00
Tom Lane
251d3f75d0 Note that the -F and -R command line options only affect unaligned
output mode.  This was already stated in other places in the psql
reference page, but not here.
2005-03-14 06:19:01 +00:00
Neil Conway
c069655441 Allow ALTER FUNCTION to change a function's strictness, volatility, and
whether or not it is a security definer. Changing a function's strictness
is required by SQL2003, and the other capabilities make sense. Also, allow
an optional RESTRICT noise word to be specified, for SQL conformance.

Some trivial regression tests added and the documentation has been
updated.
2005-03-14 00:19:37 +00:00
Neil Conway
ff02d0a052 Make default_with_oids default to false -- user-created tables will now
no longer include OIDs, unless WITH OIDS is specified or the
default_with_oids configuration parameter is enabled. Update the docs
accordingly.
2005-03-13 09:36:31 +00:00
Tom Lane
595ed2a855 Make the behavior of HAVING without GROUP BY conform to the SQL spec.
Formerly, if such a clause contained no aggregate functions we mistakenly
treated it as equivalent to WHERE.  Per spec it must cause the query to
be treated as a grouped query of a single group, the same as appearance
of aggregate functions would do.  Also, the HAVING filter must execute
after aggregate function computation even if it itself contains no
aggregate functions.
2005-03-10 23:21:26 +00:00
Bruce Momjian
e3d7de6b99 Rename canonical encodings, per Peter:
UNICODE => UTF8
	ALT => WIN866
	WIN => WIN1251
	TCVN => WIN1258

The old codes continue to work.
2005-03-07 04:30:55 +00:00
Tom Lane
26b9a2860f Document that only a table's owner may TRUNCATE it. Per Keith Worthington. 2005-02-22 19:06:18 +00:00
Bruce Momjian
78bb800bc2 Update initdb locale/encoding documentation description. Backpatch to
8.0.X.
2005-02-22 02:54:19 +00:00
Neil Conway
f18752dab5 Document the "register" and "unregister" pg_ctl subcommands, for use on
Windows. Patch from Magnus Hagander.
2005-02-21 02:13:26 +00:00
Bruce Momjian
056a664fa1 Mention that some psql environment variables come from libpq and note
more variables can be found in the libpq manual section.

Mention .pgpass in the psql manual page section dealing with connection
parameters and point to the libpq section for more details.

Backpatch to 8.0.X.
2005-02-11 04:19:05 +00:00
Neil Conway
73f630500b Add support for temporary views, including documentation and regression
tests. Contributed by Koju Iijima, review from Neil Conway, Gavin Sherry
and Tom Lane.

Also, fix error in description of WITH CHECK OPTION clause in the CREATE
VIEW reference page: it should be "CASCADED", not "CASCADE".
2005-02-02 06:36:02 +00:00
Tom Lane
f07b9689c9 Generalize TRUNCATE to support truncating multiple tables in one
command.  This is useful because we can allow truncation of tables
referenced by foreign keys, so long as the referencing table is
truncated in the same command.

Alvaro Herrera
2005-01-27 03:19:37 +00:00
Tom Lane
aba691b728 Close all cursors created during a failed subtransaction. This is needed
to avoid problems when a cursor depends on objects created or changed in
the same subtransaction.  We'd like to do better someday, but this seems
the only workable answer for 8.0.1.
2005-01-26 23:20:21 +00:00
Bruce Momjian
d08889aa8b Add tools/find_gt_lt to find < and > in SGML source.
Lowercase some uppercase tags so tools is more reliable at finding
problems.
2005-01-23 00:30:59 +00:00
Bruce Momjian
754b5e1c42 More < and > changes to ampersands.
8.0.X and HEAD.
2005-01-22 23:22:19 +00:00
Bruce Momjian
9e292e3e48 More fixes for => and ->, use proper ampersand markups. 2005-01-22 22:31:52 +00:00
Neil Conway
8a9cc26ee1 Fix minor thinko in pg_dump documentation of "-n" option. 2005-01-17 04:30:37 +00:00
Tom Lane
a294726bc1 Incorporate examples and doc patches from Mark Kirkwood and David Fetter. 2005-01-14 01:16:52 +00:00
Bruce Momjian
29e58330a6 Change Win32 client configuration files from *.txt to *.conf. 2005-01-14 00:25:56 +00:00
Tom Lane
ab3bb9cf78 Add some real documentation about TOAST (finally). Combine this with
the old 'page' chapter and the recently added 'filelayout' chapter to
make a coherent chapter about PostgreSQL's physical storage layout.
2005-01-10 00:04:43 +00:00
Tom Lane
b548cde1f5 Some more small improvements in response to 7.4 interactive docs comments. 2005-01-09 05:57:45 +00:00
Tom Lane
41ca756386 Spell APPDATA as %APPDATA%, per recommendation from Magnus. 2005-01-06 21:20:44 +00:00
Tom Lane
7507d594d2 Adjust examples to avoid using keywords as identifiers, per Honda Shigehiro. 2005-01-06 20:53:34 +00:00
Tom Lane
a3f98d5795 Adjust lookup of client-side profile files (.pgpass and so on) as per
discussion on pgsql-hackers-win32 list.  Documentation still needs to
be tweaked --- I'm not sure how to refer to the APPDATA folder in
user documentation.
2005-01-06 18:29:11 +00:00
Tom Lane
e0b9085074 Re-readjust synopses for CREATE/ALTER USER. 2005-01-06 00:11:14 +00:00
Bruce Momjian
a87f494d9c Fix example, change table name from 'array' to 'array_int'. 2005-01-05 18:03:19 +00:00
Peter Eisentraut
8c6147b911 Revert cosmetic synopsis changes that break psql translations. 2005-01-05 14:22:39 +00:00
Tom Lane
a7abae4954 Fix subsection ordering (DISTINCT should be described before LIMIT). 2005-01-04 08:59:45 +00:00
Tom Lane
cc093bc3ad More minor updates and copy-editing. 2005-01-04 03:58:16 +00:00
Tom Lane
4e94ea9fc9 More minor updates and copy-editing. 2005-01-04 00:39:53 +00:00
Bruce Momjian
246be304a5 Add mention of performance impact on LIKE of non-C locales. 2005-01-04 00:05:45 +00:00
Tom Lane
d9236a69fc Make libpq default to localhost connections on machines without Unix-domain
sockets, rather than failing as it formerly did.  Revert the
thereby-obsoleted patch to make psql supply the localhost default.
2004-12-28 23:17:54 +00:00
Tom Lane
39475990e0 Move info about psql console code page issues out of install-win32.sgml,
where it doesn't belong, and put it in the psql reference page.
2004-12-27 20:13:48 +00:00
Bruce Momjian
766b0bbb4d Add mention that pg_ctl will return an accurate exit code when waiting
for startup or shutdown.  We have always done this but it wasn't documented.
2004-12-22 02:17:15 +00:00
Tom Lane
59bffa3707 Adjust pg_resetxlog to handle 8.0 WAL file names properly. 2004-12-20 01:42:11 +00:00
Peter Eisentraut
5ec30faee6 Spell checker run 2004-12-13 18:05:10 +00:00
Tom Lane
e9c03c3b1b Disallow the combination VACUUM FULL FREEZE for safety's sake, for the
reasons I outlined in pghackers a few days ago.

Also, undo someone's overly optimistic decision to reduce tuple state
checks from if (...) elog() to Asserts.  If I trusted this code more,
I might think it was a good idea to disable these checks in production
installations.  But I don't.
2004-12-02 19:28:49 +00:00
Bruce Momjian
8408f65252 Rework libpq threaded SIGPIPE handling to avoid interference with
calling applications.  This is done by blocking sigpipe in the libpq
thread and using sigpending/sigwait to possibily discard any sigpipe we
generated.
2004-12-02 15:32:54 +00:00
Peter Eisentraut
a420b76ca5 Correctly name the Windows operating systems 2004-11-27 21:56:05 +00:00
Peter Eisentraut
49cbef7947 Update of conformance information to SQL:2003
by Troels Arvin, Simon Riggs, Elein Mustain

Make spelling of SQL standard names uniform.
2004-11-27 21:27:08 +00:00
Neil Conway
a51e54cf5b Document a limitation of COPY's new CSV mode. Doc patch from Andrew
Dunstan, editorializing by Neil Conway.
2004-11-17 02:50:06 +00:00
Neil Conway
ec7a6bd9a2 Replace "--" and "---" with "&mdash;" as appropriate, for better-looking
output.
2004-11-15 06:32:15 +00:00
Tom Lane
98e8b48053 Create 'default_tablespace' GUC variable that supplies a TABLESPACE
clause implicitly whenever one is not given explicitly.  Remove concept
of a schema having an associated tablespace, and simplify the rules for
selecting a default tablespace for a table or index.  It's now just
(a) explicit TABLESPACE clause; (b) default_tablespace if that's not an
empty string; (c) database's default.  This will allow pg_dump to use
SET commands instead of tablespace clauses to determine object locations
(but I didn't actually make it do so).  All per recent discussions.
2004-11-05 19:17:13 +00:00
Tom Lane
e48b9b5570 Minor documentation updates from Simon Riggs. 2004-11-04 19:08:42 +00:00
Tom Lane
7d38e59448 Fix broken example for PREPARE. 2004-10-29 19:40:33 +00:00
Neil Conway
51967daa06 Improvements to the CREATE DATABASE reference page's description of the
TABLESPACE clause.
2004-10-29 03:17:22 +00:00
Tom Lane
5d8ac07353 Update for 8.0: pg_tablespace is now also a shared catalog. 2004-10-24 22:52:04 +00:00
Tom Lane
9309d5f2ba In ALTER COLUMN TYPE, strip any implicit coercion operations appearing
at the top level of the column's old default expression before adding
an implicit coercion to the new column type.  This seems to satisfy the
principle of least surprise, as per discussion of bug #1290.
2004-10-22 17:20:05 +00:00
Neil Conway
f4680c0ff3 Fix documentation typo. 2004-10-22 14:12:41 +00:00
Tom Lane
9eff02f5ac Update obsolete comments about COPY vs INSERT options, per Uwe Schroeder. 2004-10-21 22:48:54 +00:00
Tom Lane
12a47c6aca Disallow referential integrity actions from being deferred; only the
NO ACTION check is deferrable.  This seems to be a closer approximation
to what the SQL spec says than what we were doing before, and it prevents
some anomalous behaviors that are possible now that triggers can fire
during the execution of PL functions.
Stephan Szabo.
2004-10-21 21:33:59 +00:00
Tom Lane
7ca3a0f3e2 Whack some sense into the configuration-file-location patch.
Refactor code into something reasonably understandable, cause
use of the feature to not fail in standalone backends or in
EXEC_BACKEND case, fix sloppy guc.c table entries, make the
documentation minimally usable.
2004-10-08 01:36:36 +00:00
Bruce Momjian
c62a5465fb Suppress psql \s help display for platforms like Win32 that don't
typically install witn readline, and throw an error if they try to
access it.
2004-10-06 18:39:16 +00:00
Tom Lane
4c5e810fcd Code review for NOWAIT patch: downgrade NOWAIT from fully reserved keyword
to unreserved keyword, use ereport not elog, assign a separate error code
for 'could not obtain lock' so that applications will be able to detect
that case cleanly.
2004-10-01 16:40:05 +00:00
Neil Conway
3738510c2c Remove more traces of libpgtcl from the source tree. Also, make some
semi-related SGML cleanup. Original patch from ljb220@mindspring.com,
additional cleanup by Neil Conway.
2004-10-01 02:00:44 +00:00
Neil Conway
3300707d01 Add more index entries for reference pages related to prepare queries.
From Alvaro Herrera, editorializing by Neil Conway.
2004-09-30 04:23:27 +00:00
Neil Conway
5a2c8cf4b1 Fix misstatement in docs: CREATE TABLE AS is now part of the standard. 2004-09-26 23:48:07 +00:00
Neil Conway
505d9be3e6 Update CREATE TABLE AS docs to reflect the fact that CREATE TABLE AS was
added to the SQL:2003 standard.
2004-09-23 03:43:57 +00:00
Tom Lane
2f48836b1f Some editorializing on the docs for the dollar-quoting feature: fix
grammar, don't drop discussions into the middle of unrelated discussions,
etc.
2004-09-20 22:48:29 +00:00
Tom Lane
5b564e5307 Fix some shortcomings in psql's autocommit-off mode concerning detection
of commands for which a transaction block should not be forced.  Recognize
VACUUM and other PreventTransactionChain commands; handle nested /* .. */
comments correctly; handle multibyte encodings correctly.
Michael Paesold with some kibitzing from Tom Lane.
2004-09-20 18:51:19 +00:00
Neil Conway
f6279e9ed7 Minor documentation cleanup and improvement. 2004-09-20 00:04:19 +00:00
Neil Conway
12ce26f8da Hyperlink a reference to DROP CAST in the CREATE CAST reference page. 2004-09-17 02:06:33 +00:00
Neil Conway
42c0d1f3cd Minor doc tweak: mention that function names can be optionally schema-
qualified.
2004-09-16 04:16:08 +00:00
Tom Lane
b2c4071299 Redesign query-snapshot timing so that volatile functions in READ COMMITTED
mode see a fresh snapshot for each command in the function, rather than
using the latest interactive command's snapshot.  Also, suppress fresh
snapshots as well as CommandCounterIncrement inside STABLE and IMMUTABLE
functions, instead using the snapshot taken for the most closely nested
regular query.  (This behavior is only sane for read-only functions, so
the patch also enforces that such functions contain only SELECT commands.)
As per my proposal of 6-Sep-2004; I note that I floated essentially the
same proposal on 19-Jun-2002, but that discussion tailed off without any
action.  Since 8.0 seems like the right place to be taking possibly
nontrivial backwards compatibility hits, let's get it done now.
2004-09-13 20:10:13 +00:00
Tom Lane
b339d1fff6 Fire non-deferred AFTER triggers immediately upon query completion,
rather than when returning to the idle loop.  This makes no particular
difference for interactively-issued queries, but it makes a big difference
for queries issued within functions: trigger execution now occurs before
the calling function is allowed to proceed.  This responds to numerous
complaints about nonintuitive behavior of foreign key checking, such as
http://archives.postgresql.org/pgsql-bugs/2004-09/msg00020.php, and
appears to be required by the SQL99 spec.
Also take the opportunity to simplify the data structures used for the
pending-trigger list, rename them for more clarity, and squeeze out a
bit of space.
2004-09-10 18:40:09 +00:00
Tom Lane
b1c4bdae74 Clarify description of SET CONSTRAINTS. Point out that it is still
missing the ability to schema-qualify constraint names.
2004-09-08 20:47:37 +00:00
Tom Lane
0b143dd725 Remove a stray reference to sequences as having tablespaces. 2004-09-01 14:09:19 +00:00
Tom Lane
3ff8cc45ad Add a note about the difference between Postgres' treatment of the rights
of an object owner and the SQL spec's treatment of these rights.
2004-09-01 04:13:11 +00:00
Neil Conway
cda1bd6cfe Various minor improvements to the SGML documentation: fix some incorrect
SGML markup, add a "deprecated features" section to the 8.0 release
notes, untabify release.sgml and runtime.sgml, and make some other
minor improvements.
2004-08-24 00:06:51 +00:00
Tom Lane
bebbbde6aa Seems it would be nice if the ALTER INDEX ref page were actually
linked into the docs ...
2004-08-21 16:16:04 +00:00
Tom Lane
c1700bf8c0 Fix typo (extraneous comma). 2004-08-21 15:45:46 +00:00
Bruce Momjian
0bd5a8cd59 Fix typo in new ALTER INDEX manual page. 2004-08-20 14:56:57 +00:00
Bruce Momjian
09d4e96d7e Add ALTER INDEX, particularly for moving tablespaces.
Gavin Sherry
2004-08-20 04:29:33 +00:00
Bruce Momjian
daa076c4fd > Please find attached a submission to add a "exit on error" option to
> pg_restore, as it seems that some people have scripts that rely on the
> previous "abort on error" default behavior when restoring data with a
> direct connection.
>
> Fabien Coelho
2004-08-20 04:20:23 +00:00
Tom Lane
d6b69cf2fc Fix typo, per Andreas Seltenreich. 2004-08-14 23:49:07 +00:00
Tom Lane
11d8138ca3 Minor editorializing. 2004-08-14 22:17:08 +00:00
Tom Lane
7f7e8cc3f2 Allow commas in BEGIN, START TRANSACTION, and SET TRANSACTION, as required
by the SQL standard.  For backwards compatibility, however, continue to
accept the syntax without.  Minor editorialization in the reference pages
for these commands, too.
2004-08-12 21:00:34 +00:00
Tom Lane
a583675108 Allow optional SAVEPOINT keyword in RELEASE and ROLLBACK TO, for greater
compliance with SQL2003 spec syntax.

Oliver Jowett
2004-08-12 19:12:21 +00:00
Tom Lane
97b1ac1aef Update documentation to reflect the fact that we now know exactly what
time zone names we support.
2004-08-10 00:55:08 +00:00
Tom Lane
6c3561b9e4 Minor editorialization on example --- I think that the use of dollar
quoting in this case is just needless obscurantism.
2004-08-08 02:05:32 +00:00
Bruce Momjian
0236b5e07e This patch adds an example to the CREATE DOMAIN docs.
David Fetter
2004-08-08 01:49:30 +00:00
Bruce Momjian
ff8d68df5c Included is an example of using savepoints in a non-trivial example.
Giving examples in the SQL command reference is hard because we don't
have conditionals at the SQL level.

Gavin Sherry
2004-08-08 01:48:31 +00:00
Tom Lane
27fedc8a5e Improve privileges discussion (mostly, mention grant options). 2004-08-07 20:44:50 +00:00
Tom Lane
fcbc438727 Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments
and documentation to reference 8.0 instead of 7.5.
2004-08-04 21:34:35 +00:00
Tom Lane
58c41712d5 Add functions pg_start_backup, pg_stop_backup to create backup label
and history files as per recent discussion.  While at it, remove
pg_terminate_backend, since we have decided we do not have time during
this release cycle to address the reliability concerns it creates.
Split the 'Miscellaneous Functions' documentation section into
'System Information Functions' and 'System Administration Functions',
which hopefully will draw the eyes of those looking for such things.
2004-08-03 20:32:36 +00:00
Bruce Momjian
e3b8530cc3 Readd pg_config --pgxs code. 2004-08-02 12:34:14 +00:00
Tom Lane
f0efe26402 Support USING INDEX TABLESPACE clause for PRIMARY KEY and UNIQUE
constraints.  Christopher Kings-Lynne.
2004-08-02 04:28:29 +00:00
Tom Lane
efcaf1e868 Some mop-up work for savepoints (nested transactions). Store a small
number of active subtransaction XIDs in each backend's PGPROC entry,
and use this to avoid expensive probes into pg_subtrans during
TransactionIdIsInProgress.  Extend EOXactCallback API to allow add-on
modules to get control at subxact start/end.  (This is deliberately
not compatible with the former API, since any uses of that API probably
need manual review anyway.)  Add basic reference documentation for
SAVEPOINT and related commands.  Minor other cleanups to check off some
of the open issues for subtransactions.
Alvaro Herrera and Tom Lane.
2004-08-01 17:32:22 +00:00
Bruce Momjian
ca9540d34f Add docs for initdb --auth. 2004-08-01 06:19:26 +00:00
Bruce Momjian
45995219a0 Here is another patch that fixes a stack of pg_dump bugs:
* Fix help text ordering

* Add back --set-session-authorization to pg_dumpall.  Updated the docs
for that.  Updated help for that.

* Dump ALTER USER commands for the cluster owner ("pgsql").  These are
dumped AFTER the create user and create database commands in case the
permissions to do these have been revoked.

* Dump ALTER OWNER for public schema (because it's possible to change
it).  This was done by adding TOC entries for the public schema, and
filtering them out at archiver time.  I also save the owner in the TOC
entry just for the public schema.

* Suppress dumping single quotes around schema_path and DateStyle
options when they are set using ALTER USER or ALTER DATABASE.  Added a
comment to the steps in guc.c to remind people to update that list.

* Fix dumping in --clean mode against a pre-7.3 server.  It just sets
all drop statements to assume the public schema, allowing it to restore
without error.

* Cleaned up text output.  eg. Don't output -- Tablespaces comment if
there are none.  Same for groups and users.

* Make the commands to DELETE FROM pg_shadow and DELETE FROM pg_group
only be output when -c mode is enabled.  I'm not sure why that hasn't
been done before?!?!

This should be good for application asap, after which I will start on
regression dumping 7.0-7.4 databases.

Christopher Kings-Lynne
2004-07-19 21:39:48 +00:00
Tom Lane
694b9ef783 Fix broken markup, per Jonathan Gardner. 2004-07-17 16:33:31 +00:00
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
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
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
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
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
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
da09dea3e3 Fix paragraph mention in ALTER DATABASE manual page.
Christopher Kings-Lynne
2004-07-05 02:34:43 +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
Dennis Bjorklund
d0f1b4c4fb Add argument name to syntax. 2004-06-25 07:05:34 +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
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
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
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
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
9136613803 Add start/stop times for pg_dump/pg_dumpall when verbose output is used. 2004-06-07 20:35:57 +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
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
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
d157b7bbc7 Document new pg_ctl 'kill' command, specificially for Win32. 2004-05-27 03:50:25 +00:00