diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index c0a0911701..507a55cbd7 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -352,6 +352,12 @@ a <@ b Contained in cubes are points, this is the normal distance function. + + cube(text) + Takes text input and returns a cube. This is useful for making + cubes from computed strings. + + cube(float8) returns cube This makes a one dimensional cube with both coordinates the same. diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml index e3240f6189..b01d825cee 100644 --- a/doc/src/sgml/intarray.sgml +++ b/doc/src/sgml/intarray.sgml @@ -12,9 +12,10 @@ Current implementation provides index support for one-dimensional array of - int4's - gist__int_ops, suitable for small and medium size of arrays (used on + integers: gist__int_ops, suitable for small and medium size of arrays (used by default), and gist__intbig_ops for indexing large arrays (we use superimposed - signature with length of 4096 bits to represent sets). + signature with length of 4096 bits to represent sets). There is also a + non-default gin__int_ops for GIN indexes on integer arrays. diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml index 3fe1edf378..c7ebe1f730 100644 --- a/doc/src/sgml/pageinspect.sgml +++ b/doc/src/sgml/pageinspect.sgml @@ -32,15 +32,14 @@ A page image obtained with get_raw_page should be passed as argument: - test=# SELECT * FROM page_header(get_raw_page('pg_class',0)); - lsn | tli | flags | lower | upper | special | pagesize | version - ----------+-----+-------+-------+-------+---------+----------+--------- - 0/3C5614 | 1 | 1 | 216 | 256 | 8192 | 8192 | 4 - (1 row) +regression=# SELECT * FROM page_header(get_raw_page('pg_class',0)); + lsn | tli | flags | lower | upper | special | pagesize | version | prune_xid + -----------+-----+-------+-------+-------+---------+----------+---------+----------- + 0/24A1B50 | 1 | 1 | 232 | 368 | 8192 | 8192 | 4 | 0 - The returned columns correspond to the fields in the PageHeaderData-struct, - see src/include/storage/bufpage.h for more details. + The returned columns correspond to the fields in the PageHeaderData struct. + See src/include/storage/bufpage.h for more details. diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/pgbench.sgml index 750d78e357..0e9dcfab44 100644 --- a/doc/src/sgml/pgbench.sgml +++ b/doc/src/sgml/pgbench.sgml @@ -380,6 +380,20 @@ SELECT abalance FROM accounts WHERE aid = :aid Variables can also be defined by using -D option. + + + \sleep num [us|ms|s] - Causes script execution to sleep for the + specified duration of microseconds (us), milliseconds (ms) or the default + seconds (s). + + + Example: + + +\setrandom millisec 1000 2500 +\sleep : millisec ms + + diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml index 4793f59ef2..140b33387f 100644 --- a/doc/src/sgml/pgrowlocks.sgml +++ b/doc/src/sgml/pgrowlocks.sgml @@ -102,7 +102,7 @@ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p WHERE p.locked_ row = a Example - pgrowlocks returns the following data type: + pgrowlocks returns the following columns: Here is a sample execution of pgrowlocks: diff --git a/doc/src/sgml/pgstandby.sgml b/doc/src/sgml/pgstandby.sgml index 3aafa09dbc..a8ed57edb4 100644 --- a/doc/src/sgml/pgstandby.sgml +++ b/doc/src/sgml/pgstandby.sgml @@ -6,9 +6,9 @@ - pg_standby is a production-ready program that can be used - to create a Warm Standby server. Other configuration is required as well, - all of which is described in the main server manual. + pg_standby allows the creation of a Warm Standby server. + Other configuration is required as well, all of which is described in the + main server manual. The program is designed to be a wait-for restore_command, @@ -17,7 +17,7 @@ you could configure pg_standby in the following way: - restore_command = 'pg_standby archiveDir %f %p' +restore_command = 'pg_standby archiveDir %f %p %r' which would be sufficient to define that files will be restored from @@ -71,12 +71,24 @@ with the pg_standby command usage as - pg_standby [OPTION]... [ARCHIVELOCATION] [NEXTWALFILE] [XLOGFILEPATH] + pg_standby [OPTION]... ARCHIVELOCATION NEXTWALFILE XLOGFILEPATH [RESTARTWALFILE] When used within the restore_command the %f and %p macros will provide the actual file and path required for the restore/recovery. + + pg_standby assumes that ARCHIVELOCATION + is a directory accessible by the server-owning user. + + + If RESTARTWALFILE is specified, typically by using the + %r option, then all files prior to this file will be + removed from ARCHIVELOCATION. This then minimises the + number of files that need to be held, whilst at the same time maintaining + restart capability. This capability additionally assumes that + ARCHIVELOCATION directory is writable. + Options @@ -94,8 +106,11 @@ -k numfiles - Cleanup files in the archive so that we maintain no more - than this many files in the archive. + Cleanup files in the archive so that we maintain no more than this + many files in the archive. This parameter will be silently ignored if + RESTARTWALFILE is specified, since that + specification method is more accurate in determining the correct + cut-off point in archive. You should be wary against setting this number too low, @@ -108,9 +123,17 @@ It is wholly unrelated to the setting of checkpoint_segments on either primary or standby. + + Setting numfiles to be zero will disable deletion + of files from ARCHIVELOCATION. + If in doubt, use a large value or do not set a value at all. + + If you specify neither RESTARTWALFILE nor -k, + then -k 0 will be assumed, i.e. keep all files in archive. + @@ -121,9 +144,10 @@ WAL files will remain in archive - Link is more efficient, but the default is copy to - allow you to maintain the WAL archive for recovery - purposes as well as high-availability. + Link is more efficient, but the default is copy to allow you to + maintain the WAL archive for recovery purposes as well as + high-availability. The default setting is not necessarily recommended, + consult the main database server manual for discussion. This option uses the Windows Vista command mklink @@ -144,7 +168,7 @@ we will wait 5 secs, 10 secs then 15 secs before reporting the failure back to the database server. This will be interpreted as and end of recovery and the Standby will come - up fully as a result. Default=3 + up fully as a result. Default=3 Min=0 @@ -155,7 +179,7 @@ if the file to be restored is available in the archive yet. The default setting is not necessarily recommended, consult the main database server manual for discussion. - Default=5 + Default=5, Min=1, Max=60 @@ -175,8 +199,9 @@ the maximum number of seconds to wait for the next file, after which recovery will end and the Standby will come up. The default setting is not necessarily recommended, - consult the main database server manual for discussion. - Default=0 + consult the main database server manual for discussion. A setting of + zero means wait forever. + Default=0, Min=0 @@ -191,6 +216,32 @@ + + Supported versions + + pg_standby is designed to work with PostgreSQL 8.2 and + and later. It is currently compatible across minor changes between the way + 8.3 and 8.2 operate. + + + PostgreSQL 8.3 provides the %r command line substitution, + designed to let pg_standby know the last file it needs to + keep. If the last parameter is omitted, no error is generated, allowing + pg_standby to function correctly with PostgreSQL 8.2 + also. With PostgreSQL 8.2, the -k option must be used if + archive cleanup is required. This option remains available in 8.3. + + + + + Additional design notes + + The use of a move command seems like it would be a good idea, but this would + prevent recovery from being restartable. Also, the last WAL file is always + requested twice from the archive. + + + Examples @@ -227,8 +278,7 @@ archive_command = 'copy %p ..\\archive\\%f' *not* in the restore_command, in 8.2, 8.1, 8.0 on Windows. -restore_command = 'pg_standby -c -d -s 5 -w 0 -t C:\pgsql.trigger.5442 - ..\archive %f %p 2>> standby.log' +restore_command = 'pg_standby -c -d -s 5 -w 0 -t C:\pgsql.trigger.5442 ..\archive %f %p 2>> standby.log' which will