Commit Graph

5826 Commits

Author SHA1 Message Date
Bruce Momjian
5f98a6f7a3 Done:
< * Add two-phase commit [2phase]
> * -Add two-phase commit [2phase]
2005-06-18 01:45:03 +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
5495575903 Re-order item.
> * Auto-fill the free space map by scanning the buffer cache or by
>   checking pages written by the background writer
< * Auto-fill the free space map by scanning the buffer cache or by
<   checking pages written by the background writer
2005-06-17 19:20:27 +00:00
Bruce Momjian
524ec00d3e Move item:
* Auto-fill the free space map by scanning the buffer cache or by
  checking pages written by the background writer
2005-06-17 13:47:24 +00:00
Bruce Momjian
30b0f49ce6 Update NetBSD 'options' description.
Kris Jurka
2005-06-17 13:12:01 +00:00
Bruce Momjian
1414707e03 Improve wording of read-only GUC variables; shows -> reports. 2005-06-17 03:25:51 +00:00
Bruce Momjian
1b618e50a6 Add:
>
> * Create a bitmap of pages that need vacuuming
>
>   Instead of sequentially scanning the entire table, have the background
>   writer or some other process record pages that have expired rows, then
>   VACUUM can look at just those pages rather than the entire table.  In
>   the event of a system crash, the bitmap would probably be invalidated.
2005-06-17 02:20:43 +00:00
Neil Conway
4aaff55359 Minor SGML markup cleanup. 2005-06-15 06:29:25 +00:00
Bruce Momjian
0851a6fbc7 This patch makes it possible to use the full set of timezones when doing
"AT TIME ZONE", and not just the shorlist previously available. For
example:

SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';

works fine now. It will also obey whatever DST rules were in effect at
just that date, which the previous implementation did not.

It also supports the AT TIME ZONE on the timetz datatype. The whole
handling of DST is a bit bogus there, so I chose to make it use whatever
DST rules are in effect at the time of executig the query. not sure if
anybody is actuallyi *using* timetz though, it seems pretty
unpredictable just because of this...

Magnus Hagander
2005-06-15 00:34:11 +00:00
Bruce Momjian
8b84aebddf Add BETWEEN SYMMETRIC.
Pavel Stehule
2005-06-14 23:47:39 +00:00
Bruce Momjian
495f9aa098 reorder:
< * -Add BETWEEN ASYMMETRIC/SYMMETRIC
> * -Add BETWEEN SYMMETRIC/ASYMMETRIC
2005-06-14 23:44:47 +00:00
Bruce Momjian
853e8b1426 Done:
> * -Add BETWEEN ASYMMETRIC/SYMMETRIC
2005-06-14 23:44:27 +00:00
Bruce Momjian
f5835b4b8d Add pg_postmaster_start_time() function.
Euler Taveira de Oliveira
Matthias Schmidt
2005-06-14 21:04:42 +00:00
Bruce Momjian
b5e65c8325 Done:
> 	o -Have SHOW ALL show descriptions for server-side variables
2005-06-14 20:43:02 +00:00
Bruce Momjian
61e2c00e64 Have SHOW ALL include variable descriptions.
Matthias Schmidt
2005-06-14 20:42:53 +00:00
Bruce Momjian
cf48d8b3aa Update:
< 	o Have SHOW ALL and pg_settings show descriptions for server-side variables
> 	o Have SHOW ALL show descriptions for server-side variables
2005-06-14 18:24:06 +00:00
Bruce Momjian
d2c313bcf5 Move item into proper section:
o Have SHOW ALL and pg_settings show descriptions for server-side variables
2005-06-14 18:10:42 +00:00
Bruce Momjian
954f6bcffe Add GUC krb_server_hostname so the server hostname can be specified as
part of service principal.  If not set, any service principal matching
an entry in the keytab can be used.

NEW KERBEROS MATCHING BEHAVIOR FOR 8.1.

Todd Kover
2005-06-14 17:43:14 +00:00
Bruce Momjian
dac94e3495 Done:
> 	o -Allow PL/PgSQL's RAISE function to take expressions
2005-06-14 15:11:11 +00:00
Neil Conway
d6636543c4 Allow the parameters to PL/PgSQL's RAISE statement to be expressions,
instead of just scalar variables. Add regression tests and update the
documentation. Along the way, remove some redundant error checking
code from exec_stmt_perform().

Original patch from Pavel Stehule, reworked by Neil Conway.
2005-06-14 06:43:15 +00:00
Bruce Momjian
189f89cb0e Done:
> * -Use index to restrict rows returned by multi-key index when used with
2005-06-14 03:20:10 +00:00
Bruce Momjian
2ee0d5549f Add -L option to psql to log sessions.
Lorne Sunley
2005-06-14 02:57:45 +00:00
Tom Lane
c186c93148 Change the planner to allow indexscan qualification clauses to use
nonconsecutive columns of a multicolumn index, as per discussion around
mid-May (pghackers thread "Best way to scan on-disk bitmaps").  This
turns out to require only minimal changes in btree, and so far as I can
see none at all in GiST.  btcostestimate did need some work, but its
original assumption that index selectivity == heap selectivity was
quite bogus even before this.
2005-06-13 23:14:49 +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
Tom Lane
a2fb7b8a1f Adjust lo_open() so that specifying INV_READ without INV_WRITE creates
a descriptor that uses the current transaction snapshot, rather than
SnapshotNow as it did before (and still does if INV_WRITE is set).
This means pg_dump will now dump a consistent snapshot of large object
contents, as it never could do before.  Also, add a lo_create() function
that is similar to lo_creat() but allows the desired OID of the large
object to be specified.  This will simplify pg_restore considerably
(but I'll fix that in a separate commit).
2005-06-13 02:26:53 +00:00
Tom Lane
f52a34229b Document the --enable-integer-datetimes configure option where the other
configure options are documented.  Per Michael Glaesemann.
2005-06-12 15:51:50 +00:00
Neil Conway
72a5db15d1 libpq was not consistently checking for memory allocation failures. This
patch adds missing checks to the call sites of malloc(), strdup(),
PQmakeEmptyPGresult(), pqResultAlloc(), and pqResultStrdup(), and updates
the documentation. Per original report from Volkan Yazici about
PQmakeEmptyPGresult() not checking for malloc() failure.
2005-06-12 00:00:21 +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
Neil Conway
d46bc444ac Implement two new special variables in PL/PgSQL: SQLSTATE and SQLERRM.
These contain the SQLSTATE and error message of the current exception,
respectively. They are scope-local variables that are only defined
in exception handlers (so attempting to reference them outside an
exception handler is an error). Update the regression tests and the
documentation.

Also, do some minor related cleanup: export an unpack_sql_state()
function from the backend and use it to unpack a SQLSTATE into a
string, and add a free_var() function to pl_exec.c

Original patch from Pavel Stehule, review by Neil Conway.
2005-06-10 16:23:11 +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
Bruce Momjian
453d74b99c Add the "PGPASSFILE" environment variable to specify to the password
file.

Andrew Dunstan
2005-06-10 03:02:30 +00:00
Bruce Momjian
3572e531ca Mention prefix %t has no milliseconds. 2005-06-09 22:35:23 +00:00
Bruce Momjian
6c2ba14d8d This patch against 8.0.0beta1 source adds log_line_prefix options for
millisecond timestamps (%m) and remote host (%h). The milliseconds are
useful for QPS measurements.

Ed L.
2005-06-09 22:29:52 +00:00
Tom Lane
0b8e46e49b Repair error in description of nonblocking usage of PQgetCopyData().
Per Volkan Yazici.
2005-06-09 19:08:28 +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
4d0e7b4aac Please find attached a patch (diff -c against cvs HEAD) to add a
function that accepts a double precision argument assumed to be a Unix
epoch timestamp and returns timestamp with time zone, and accompanying
documentation.

Usage:

test=# select to_timestamp(200120400);
       to_timestamp
------------------------
  1976-05-05 14:00:00+09
(1 row)

Michael Glaesemann
2005-06-09 16:35:09 +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
Bruce Momjian
c51815afed Remove idea of schema tablespaces:
< 	o Allow databases and schemas to be moved to different tablespaces
<
< 	  One complexity is whether moving a schema should move all existing
< 	  schema objects or just define the location for future object creation.
<
> 	o Allow databases to be moved to different tablespaces
484c480
< 	  schema. Global system tables can never be moved.
> 	  tablespace. Global system tables can never be moved.
2005-06-09 03:00:43 +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
b3e798d750 Fix word wrap:
<   changes made by the interface driver for its internal use.  One idea is
<   for this to be a protocol-only feature.  Another approach is to notify
<   the protocol when a RESET CONNECTION command is used.
>   changes made by the interface driver for its internal use.  One idea
>   is for this to be a protocol-only feature.  Another approach is to
>   notify the protocol when a RESET CONNECTION command is used.
2005-06-07 14:12:07 +00:00
Neil Conway
657c098e41 Add a function lastval(), which returns the value returned by the
last nextval() or setval() performed by the current session. Update the
docs, add regression tests, and bump the catalog version. Patch from
Dennis Björklund, various improvements by Neil Conway.
2005-06-07 07:08:35 +00:00
Neil Conway
c59887f916 Add support for an optional INTO clause to PL/PgSQL's EXECUTE command.
This allows the result of executing a SELECT to be assigned to a row
variable, record variable, or list of scalars. Docs and regression tests
updated. Per Pavel Stehule, improvements and cleanup by Neil Conway.
2005-06-07 02:47:23 +00:00
Bruce Momjian
0f011f6daa Update text for RESET CONNECTION:
<   all temporary tables, removal of any NOTIFYs, cursors, prepared
<   queries(?), currval()s, etc.  This could be used for connection pooling.
<   We could also change RESET ALL to have this functionality.
>   temporary tables, removing any NOTIFYs, cursors, open transactions,
>   prepared queries, currval()s, etc.  This could be used  for connection
>   pooling.  We could also change RESET ALL to have this functionality.
>   The difficult of this features is allowing RESET ALL to not affect
>   changes made by the interface driver for its internal use.  One idea is
>   for this to be a protocol-only feature.  Another approach is to notify
>   the protocol when a RESET CONNECTION command is used.
2005-06-07 01:59:39 +00:00
Bruce Momjian
d714560658 Add rtee box index discussion. 2005-06-06 22:12:00 +00:00
Bruce Momjian
5859215015 Add:
> * Fix incorrect rtree results due to wrong assumptions about "over"
>   operator semantics [rtree]
2005-06-06 22:03:44 +00:00
Bruce Momjian
928b06a6cc Update Hungarian FAQ and add an HTML version.
Laszlo Hornyak
2005-06-06 16:30:42 +00:00