OSDN Git Service
Bruce Momjian [Fri, 14 Jun 2002 04:36:58 +0000 (04:36 +0000)]
SSL patch that adds support for optional client certificates.
If the user has certificates in $HOME/.postgresql/postgresql.crt
and $HOME/.postgresql/postgresql.key exist, they are provided
to the server. The certificate used to sign this cert must be
known to the server, in $DataDir/root.crt. If successful, the
cert's "common name" is logged.
Client certs are not used for authentication, but they could be
via the port->peer (X509 *), port->peer_dn (char *) or
port->peer_cn (char *) fields. Or any other function could be
used, e.g., many sites like the issuer + serial number hash.
Bear Giles
Bruce Momjian [Fri, 14 Jun 2002 04:35:02 +0000 (04:35 +0000)]
Patch that checks ownership and permissions on server static
private key. (You want it to be a regular file owned by the
database process, with 0400 or 0600 permissions.)
Bear Giles
Bruce Momjian [Fri, 14 Jun 2002 04:33:53 +0000 (04:33 +0000)]
SSL patch to periodically renegotiate session key.
In order to reduce the risk of cryptanalysis during extended
sessions (or brief ones involving a substantial amount of data),
this patch renegotiates the session key after 64kib has been
transferred.
Bear Giles
Bruce Momjian [Fri, 14 Jun 2002 04:31:49 +0000 (04:31 +0000)]
SSL support for ephemeral DH keys.
As the comment headers in be-secure.c discusses, EPH preserves
confidentiality even if the static private key (which is usually
kept unencrypted) is compromised.
Because of the value of this, common default values are hard-coded
to protect the confidentiality of the data even if an attacker
successfully deletes or modifies the external file.
Bear Giles
Bruce Momjian [Fri, 14 Jun 2002 04:23:17 +0000 (04:23 +0000)]
UPDATED PATCH:
Attached are a revised set of SSL patches. Many of these patches
are motivated by security concerns, it's not just bug fixes. The key
differences (from stock 7.2.1) are:
*) almost all code that directly uses the OpenSSL library is in two
new files,
src/interfaces/libpq/fe-ssl.c
src/backend/postmaster/be-ssl.c
in the long run, it would be nice to merge these two files.
*) the legacy code to read and write network data have been
encapsulated into read_SSL() and write_SSL(). These functions
should probably be renamed - they handle both SSL and non-SSL
cases.
the remaining code should eliminate the problems identified
earlier, albeit not very cleanly.
*) both front- and back-ends will send a SSL shutdown via the
new close_SSL() function. This is necessary for sessions to
work properly.
(Sessions are not yet fully supported, but by cleanly closing
the SSL connection instead of just sending a TCP FIN packet
other SSL tools will be much happier.)
*) The client certificate and key are now expected in a subdirectory
of the user's home directory. Specifically,
- the directory .postgresql must be owned by the user, and
allow no access by 'group' or 'other.'
- the file .postgresql/postgresql.crt must be a regular file
owned by the user.
- the file .postgresql/postgresql.key must be a regular file
owned by the user, and allow no access by 'group' or 'other'.
At the current time encrypted private keys are not supported.
There should also be a way to support multiple client certs/keys.
*) the front-end performs minimal validation of the back-end cert.
Self-signed certs are permitted, but the common name *must*
match the hostname used by the front-end. (The cert itself
should always use a fully qualified domain name (FDQN) in its
common name field.)
This means that
psql -h eris db
will fail, but
psql -h eris.example.com db
will succeed. At the current time this must be an exact match;
future patches may support any FQDN that resolves to the address
returned by getpeername(2).
Another common "problem" is expiring certs. For now, it may be
a good idea to use a very-long-lived self-signed cert.
As a compile-time option, the front-end can specify a file
containing valid root certificates, but it is not yet required.
*) the back-end performs minimal validation of the client cert.
It allows self-signed certs. It checks for expiration. It
supports a compile-time option specifying a file containing
valid root certificates.
*) both front- and back-ends default to TLSv1, not SSLv3/SSLv2.
*) both front- and back-ends support DSA keys. DSA keys are
moderately more expensive on startup, but many people consider
them preferable than RSA keys. (E.g., SSH2 prefers DSA keys.)
*) if /dev/urandom exists, both client and server will read 16k
of randomization data from it.
*) the server can read empheral DH parameters from the files
$DataDir/dh512.pem
$DataDir/dh1024.pem
$DataDir/dh2048.pem
$DataDir/dh4096.pem
if none are provided, the server will default to hardcoded
parameter files provided by the OpenSSL project.
Remaining tasks:
*) the select() clauses need to be revisited - the SSL abstraction
layer may need to absorb more of the current code to avoid rare
deadlock conditions. This also touches on a true solution to
the pg_eof() problem.
*) the SIGPIPE signal handler may need to be revisited.
*) support encrypted private keys.
*) sessions are not yet fully supported. (SSL sessions can span
multiple "connections," and allow the client and server to avoid
costly renegotiations.)
*) makecert - a script that creates back-end certs.
*) pgkeygen - a tool that creates front-end certs.
*) the whole protocol issue, SASL, etc.
*) certs are fully validated - valid root certs must be available.
This is a hassle, but it means that you *can* trust the identity
of the server.
*) the client library can handle hardcoded root certificates, to
avoid the need to copy these files.
*) host name of server cert must resolve to IP address, or be a
recognized alias. This is more liberal than the previous
iteration.
*) the number of bytes transferred is tracked, and the session
key is periodically renegotiated.
*) basic cert generation scripts (mkcert.sh, pgkeygen.sh). The
configuration files have reasonable defaults for each type
of use.
Bear Giles
Bruce Momjian [Fri, 14 Jun 2002 04:09:37 +0000 (04:09 +0000)]
Back out SSL changes. Newer patch available.
Bruce Momjian [Fri, 14 Jun 2002 03:56:47 +0000 (03:56 +0000)]
Attached are a revised set of SSL patches. Many of these patches
are motivated by security concerns, it's not just bug fixes. The key
differences (from stock 7.2.1) are:
*) almost all code that directly uses the OpenSSL library is in two
new files,
src/interfaces/libpq/fe-ssl.c
src/backend/postmaster/be-ssl.c
in the long run, it would be nice to merge these two files.
*) the legacy code to read and write network data have been
encapsulated into read_SSL() and write_SSL(). These functions
should probably be renamed - they handle both SSL and non-SSL
cases.
the remaining code should eliminate the problems identified
earlier, albeit not very cleanly.
*) both front- and back-ends will send a SSL shutdown via the
new close_SSL() function. This is necessary for sessions to
work properly.
(Sessions are not yet fully supported, but by cleanly closing
the SSL connection instead of just sending a TCP FIN packet
other SSL tools will be much happier.)
*) The client certificate and key are now expected in a subdirectory
of the user's home directory. Specifically,
- the directory .postgresql must be owned by the user, and
allow no access by 'group' or 'other.'
- the file .postgresql/postgresql.crt must be a regular file
owned by the user.
- the file .postgresql/postgresql.key must be a regular file
owned by the user, and allow no access by 'group' or 'other'.
At the current time encrypted private keys are not supported.
There should also be a way to support multiple client certs/keys.
*) the front-end performs minimal validation of the back-end cert.
Self-signed certs are permitted, but the common name *must*
match the hostname used by the front-end. (The cert itself
should always use a fully qualified domain name (FDQN) in its
common name field.)
This means that
psql -h eris db
will fail, but
psql -h eris.example.com db
will succeed. At the current time this must be an exact match;
future patches may support any FQDN that resolves to the address
returned by getpeername(2).
Another common "problem" is expiring certs. For now, it may be
a good idea to use a very-long-lived self-signed cert.
As a compile-time option, the front-end can specify a file
containing valid root certificates, but it is not yet required.
*) the back-end performs minimal validation of the client cert.
It allows self-signed certs. It checks for expiration. It
supports a compile-time option specifying a file containing
valid root certificates.
*) both front- and back-ends default to TLSv1, not SSLv3/SSLv2.
*) both front- and back-ends support DSA keys. DSA keys are
moderately more expensive on startup, but many people consider
them preferable than RSA keys. (E.g., SSH2 prefers DSA keys.)
*) if /dev/urandom exists, both client and server will read 16k
of randomization data from it.
*) the server can read empheral DH parameters from the files
$DataDir/dh512.pem
$DataDir/dh1024.pem
$DataDir/dh2048.pem
$DataDir/dh4096.pem
if none are provided, the server will default to hardcoded
parameter files provided by the OpenSSL project.
Remaining tasks:
*) the select() clauses need to be revisited - the SSL abstraction
layer may need to absorb more of the current code to avoid rare
deadlock conditions. This also touches on a true solution to
the pg_eof() problem.
*) the SIGPIPE signal handler may need to be revisited.
*) support encrypted private keys.
*) sessions are not yet fully supported. (SSL sessions can span
multiple "connections," and allow the client and server to avoid
costly renegotiations.)
*) makecert - a script that creates back-end certs.
*) pgkeygen - a tool that creates front-end certs.
*) the whole protocol issue, SASL, etc.
*) certs are fully validated - valid root certs must be available.
This is a hassle, but it means that you *can* trust the identity
of the server.
*) the client library can handle hardcoded root certificates, to
avoid the need to copy these files.
*) host name of server cert must resolve to IP address, or be a
recognized alias. This is more liberal than the previous
iteration.
*) the number of bytes transferred is tracked, and the session
key is periodically renegotiated.
*) basic cert generation scripts (mkcert.sh, pgkeygen.sh). The
configuration files have reasonable defaults for each type
of use.
Bear Giles
Tatsuo Ishii [Fri, 14 Jun 2002 03:30:56 +0000 (03:30 +0000)]
Add support for GB18030
Tom Lane [Thu, 13 Jun 2002 20:02:31 +0000 (20:02 +0000)]
Suppress 'owner of datatype appears to be invalid' warning message for
undefined (shell) types.
Bruce Momjian [Thu, 13 Jun 2002 19:52:02 +0000 (19:52 +0000)]
Allow ANALYZE to run in a transaction.
Bruce Momjian [Thu, 13 Jun 2002 18:01:38 +0000 (18:01 +0000)]
Add:
> * Create native Win32 port [win32]
Bruce Momjian [Thu, 13 Jun 2002 18:00:47 +0000 (18:00 +0000)]
Add Win32 thread to TODO.detail.
Tom Lane [Thu, 13 Jun 2002 15:10:25 +0000 (15:10 +0000)]
Make WHERE conditions pulled up from subqueries be executed before outer
WHERE conditions, if there is no reason to do it differently.
Dave Cramer [Thu, 13 Jun 2002 14:37:30 +0000 (14:37 +0000)]
removed personal test parameters
Thomas G. Lockhart [Thu, 13 Jun 2002 14:16:43 +0000 (14:16 +0000)]
Add PLACING to the list of reserved keywords. Added as a token in the last
update to support the new OVERLAY() function.
Dave Cramer [Thu, 13 Jun 2002 14:06:11 +0000 (14:06 +0000)]
Added test for newly implemented updateable result sets
Dave Cramer [Thu, 13 Jun 2002 14:02:50 +0000 (14:02 +0000)]
changes to accomodate updateable resultset mostly just call setSqlQuery on execute
Dave Cramer [Thu, 13 Jun 2002 13:52:16 +0000 (13:52 +0000)]
Implemented updateable result sets based on raghu nidagal implementation
Dave Cramer [Thu, 13 Jun 2002 13:48:28 +0000 (13:48 +0000)]
changed some commented out messages to use the Driver.debug and fixed first to read the underlying data into rowbuffer
Dave Cramer [Thu, 13 Jun 2002 13:43:02 +0000 (13:43 +0000)]
added messages for updateable result sets
Tatsuo Ishii [Thu, 13 Jun 2002 08:30:22 +0000 (08:30 +0000)]
Add GB18030 support. Contributed by Bill Huang <bill_huanghb@ybb.ne.jp>
(ODBC support has not been committed yet. left for Hiroshi...)
Tatsuo Ishii [Thu, 13 Jun 2002 06:19:45 +0000 (06:19 +0000)]
make namein multibyte aware
Bruce Momjian [Thu, 13 Jun 2002 05:54:00 +0000 (05:54 +0000)]
Update for new SGML file.
Bruce Momjian [Thu, 13 Jun 2002 05:15:22 +0000 (05:15 +0000)]
Move disk usage section into its own section.
Bruce Momjian [Thu, 13 Jun 2002 04:36:50 +0000 (04:36 +0000)]
Add section on showing disk usage.
Tom Lane [Thu, 13 Jun 2002 03:40:49 +0000 (03:40 +0000)]
Further tweaks to support display of sort keys in EXPLAIN --- initial
implementation didn't work for Sort nodes associated with Append plans.
Tom Lane [Thu, 13 Jun 2002 02:04:46 +0000 (02:04 +0000)]
Repair for bug #691 --- CREATE TABLE AS column aliases fail to be
applied when the select is a UNION (or other set-operation).
An alternative route to a fix would be to leave analyze.c alone and
change plan_set_operations in prepunion.c to take column names from
the topmost targetlist. But I am not sure that would work in all
cases. This patch seems the minimum-risk fix.
Bruce Momjian [Thu, 13 Jun 2002 00:54:05 +0000 (00:54 +0000)]
Mention vacuum for relpages.
Bruce Momjian [Thu, 13 Jun 2002 00:21:52 +0000 (00:21 +0000)]
Add script to show disk space per db.
Bruce Momjian [Wed, 12 Jun 2002 23:42:48 +0000 (23:42 +0000)]
Improve query.
Bruce Momjian [Wed, 12 Jun 2002 23:41:50 +0000 (23:41 +0000)]
Add mention of query showing pages used.
Bruce Momjian [Wed, 12 Jun 2002 23:39:49 +0000 (23:39 +0000)]
Add to ecpg:
> o Allow multi-threaded use of SQLCA
Bruce Momjian [Wed, 12 Jun 2002 21:20:59 +0000 (21:20 +0000)]
Cleanup.
Bruce Momjian [Wed, 12 Jun 2002 21:09:09 +0000 (21:09 +0000)]
Add -q option to oid2name. Add sample session to README.
Michael Meskes [Wed, 12 Jun 2002 12:06:53 +0000 (12:06 +0000)]
Applied Lee Kindness' patch to fix one of memory allocation with floating point numbers.
Hiroshi Inoue [Wed, 12 Jun 2002 02:27:44 +0000 (02:27 +0000)]
1) Fix a bug *double error message*.
2) Fix a bug *passowrd prompt in case of md5 authentication*.
3) Improve the DSN setup dialog.
Bruce Momjian [Tue, 11 Jun 2002 22:21:01 +0000 (22:21 +0000)]
Allow createdb to create comments in current db, not template1.
Bruce Momjian [Tue, 11 Jun 2002 21:28:17 +0000 (21:28 +0000)]
Mark as done:
> * -Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
Thomas G. Lockhart [Tue, 11 Jun 2002 16:00:17 +0000 (16:00 +0000)]
Fix markup typo.
Thomas G. Lockhart [Tue, 11 Jun 2002 15:44:38 +0000 (15:44 +0000)]
Implement SQL99 OVERLAY(). Allows substitution of a substring in a string.
Implement SQL99 SIMILAR TO as a synonym for our existing operator "~".
Implement SQL99 regular expression SUBSTRING(string FROM pat FOR escape).
Extend the definition to make the FOR clause optional.
Define textregexsubstr() to actually implement this feature.
Update the regression test to include these new string features.
All tests pass.
Rename the regular expression support routines from "pg95_xxx" to "pg_xxx".
Define CREATE CHARACTER SET in the parser per SQL99. No implementation yet.
Thomas G. Lockhart [Tue, 11 Jun 2002 15:32:33 +0000 (15:32 +0000)]
Implement SQL99 OVERLAY(). Allows substitution of a substring in a string.
Implement SQL99 SIMILAR TO as a synonym for our existing operator "~".
Implement SQL99 regular expression SUBSTRING(string FROM pat FOR escape).
Extend the definition to make the FOR clause optional.
Define textregexsubstr() to actually implement this feature.
Update the regression test to include these new string features.
All tests pass.
Rename the regular expression support routines from "pg95_xxx" to "pg_xxx".
Define CREATE CHARACTER SET in the parser per SQL99. No implementation yet.
Jan Wieck [Tue, 11 Jun 2002 13:40:53 +0000 (13:40 +0000)]
Katherine Ward wrote:
> Changes to avoid collisions with WIN32 & MFC names...
> 1. Renamed:
> a. PROC => PGPROC
> b. GetUserName() => GetUserNameFromId()
> c. GetCurrentTime() => GetCurrentDateTime()
> d. IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim
>
> 2. Added _P to some lex/yacc tokens:
> CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT
Jan
Bruce Momjian [Tue, 11 Jun 2002 10:36:16 +0000 (10:36 +0000)]
Fix link.
Bruce Momjian [Tue, 11 Jun 2002 10:29:54 +0000 (10:29 +0000)]
Update performance section.
Barry Lind [Tue, 11 Jun 2002 02:55:16 +0000 (02:55 +0000)]
The patch does the following:
Allows you to set the loglevel at runtime by adding ?loglevel=X to the connection URL, where 1 = INFO and 2 = DEBUG.
Automatically turns on logging by calling DriverManager.setPrintWriter(new PrintWriter(System.out)) if one is not already set.
Adds a Driver.info() message that prints out the version number
Adds member variables logDebug and logInfo that can be checked before making logging methods calls
Adds a build number to the version number string. This build number will need to be manually incremented when we see fit.
----------------------------------------------------------------------
Modified Files:
org/postgresql/Connection.java org/postgresql/Driver.java.in
org/postgresql/fastpath/Fastpath.java
org/postgresql/jdbc1/DatabaseMetaData.java
org/postgresql/jdbc2/Connection.java
org/postgresql/jdbc2/DatabaseMetaData.java
org/postgresql/largeobject/LargeObjectManager.java
org/postgresql/util/PSQLException.java
org/postgresql/util/Serialize.java
----------------------------------------------------------------------
Bruce Momjian [Tue, 11 Jun 2002 02:22:41 +0000 (02:22 +0000)]
Update fsync FAQ item.
Bruce Momjian [Mon, 10 Jun 2002 20:45:07 +0000 (20:45 +0000)]
Fix link.
Bruce Momjian [Mon, 10 Jun 2002 19:49:59 +0000 (19:49 +0000)]
Move ruler to separate sections.
Bruce Momjian [Mon, 10 Jun 2002 19:47:57 +0000 (19:47 +0000)]
Add item for plpgsql temp table access.
Bruce Momjian [Mon, 10 Jun 2002 16:13:54 +0000 (16:13 +0000)]
Fix spacing.
Bruce Momjian [Sat, 8 Jun 2002 04:23:45 +0000 (04:23 +0000)]
Update new Russian FAQ, from Victor Vislobokov
Bruce Momjian [Sat, 8 Jun 2002 04:08:19 +0000 (04:08 +0000)]
Remove DEBUG_LEVEL from postgresql.conf. Now uses CLIENT/SERVER_MIN_MESSAGES.
Bruce Momjian [Fri, 7 Jun 2002 23:43:17 +0000 (23:43 +0000)]
Improve readability of factorial, from Florian Weimer.
Bruce Momjian [Fri, 7 Jun 2002 23:41:53 +0000 (23:41 +0000)]
Fix for factorial(0::int2) returning 1, from sugita@sra.co.jp.
Bruce Momjian [Fri, 7 Jun 2002 21:52:33 +0000 (21:52 +0000)]
Please apply attached patch to contrib/intarray (7.2, 7.3).
Fixed bug with '=' operator for gist__int_ops and
define '=' operator for gist__intbig_ops opclass.
Now '=' operator is consistent with standard 'array' type.
Thanks Achilleus Mantzios for bug report and suggestion.
Oleg Bartunov
Bruce Momjian [Fri, 7 Jun 2002 21:47:45 +0000 (21:47 +0000)]
The attached patch fixes a problem with InstallXLogFileSegment()'s use
of link() under Cygwin:
http://archives.postgresql.org/pgsql-cygwin/2002-04/msg00072.php
Note that it appears that BeOS and Netware also have the above or
similar problem.
I have only verified that PostgreSQL builds under Cygwin with this
patch.
Since I cannot reproduce the problem, I cannot verify that the proposed
patch solves it. Nevertheless, both Barry Pederson and David P.
Caldwell
attest that this patch solves the problem. See the following for
details:
http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00043.php
http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00040.php
Jason Tishler
Bruce Momjian [Fri, 7 Jun 2002 20:22:33 +0000 (20:22 +0000)]
None.
Bruce Momjian [Fri, 7 Jun 2002 16:53:40 +0000 (16:53 +0000)]
Remove int16 from libpgeasy examples. Improve error reporting.
Barry Lind [Fri, 7 Jun 2002 16:46:24 +0000 (16:46 +0000)]
fixed bug reported by cc.ais40@wanadoo.fr where getObject was returning an Integer for a smallint datatype instead of a Short
Bruce Momjian [Fri, 7 Jun 2002 04:19:52 +0000 (04:19 +0000)]
Add:
> * Allow DEFERRABLE UNIQUE constraints
Bruce Momjian [Fri, 7 Jun 2002 03:55:15 +0000 (03:55 +0000)]
Fix interface example errors causes by backend changes.
Permaine Cheung
Bruce Momjian [Fri, 7 Jun 2002 03:47:06 +0000 (03:47 +0000)]
Mark as done:
> o -Abort all SET changes made in an aborted transaction
Dave Cramer [Thu, 6 Jun 2002 14:47:52 +0000 (14:47 +0000)]
change table name to lower case in getColumns
Hiroshi Inoue [Thu, 6 Jun 2002 09:47:25 +0000 (09:47 +0000)]
Add missing win_setup.h.
Hiroshi Inoue [Thu, 6 Jun 2002 04:50:47 +0000 (04:50 +0000)]
Add *Int8 As* option.
Dave Cramer [Wed, 5 Jun 2002 19:12:01 +0000 (19:12 +0000)]
fixed getImported/ExportedKeys to be simpler, and return the correct number of keys
Bruce Momjian [Wed, 5 Jun 2002 04:01:27 +0000 (04:01 +0000)]
Add /dev/zero mention for anon mmap().
Bruce Momjian [Tue, 4 Jun 2002 05:12:21 +0000 (05:12 +0000)]
Update Japanese FAQ, from Jun Kuwamura
Bruce Momjian [Mon, 3 Jun 2002 22:57:47 +0000 (22:57 +0000)]
Document that SM_* variables should be longer.
Bruce Momjian [Mon, 3 Jun 2002 22:46:09 +0000 (22:46 +0000)]
Update as done:
> * -Add deleted bit to index tuples to reduce heap access
Barry Lind [Mon, 3 Jun 2002 17:52:05 +0000 (17:52 +0000)]
fixed bug reported by Noel Rappin (nrappin@sockeye.com) java Array type handled Timestamps incorrectly
Bruce Momjian [Mon, 3 Jun 2002 17:45:19 +0000 (17:45 +0000)]
Remove NOCREATE patch from TODO.detail.
Bruce Momjian [Mon, 3 Jun 2002 17:42:11 +0000 (17:42 +0000)]
Small patch to correct the default arraysize associated
with the Cursor object's fetchmany() method. The API and
inline documentation state that the default is 1. It
currently defaults to 5.
Patrick Macdonald
Bruce Momjian [Mon, 3 Jun 2002 17:41:37 +0000 (17:41 +0000)]
Update index growth problem.
Bruce Momjian [Mon, 3 Jun 2002 01:10:38 +0000 (01:10 +0000)]
The attached patch fixes a typo in the documentation for SET
CONSTRAINTS.
Neil Conway <neilconway@rogers.com>
Bruce Momjian [Mon, 3 Jun 2002 01:05:45 +0000 (01:05 +0000)]
Mention SM_USER should be the same size as the others.
Bruce Momjian [Sun, 2 Jun 2002 22:36:30 +0000 (22:36 +0000)]
Add PQescapeString and PQescapeBytea for Win32.
Bruce Momjian [Sun, 2 Jun 2002 21:56:09 +0000 (21:56 +0000)]
Remove mention of timestamp() in SGML docs; doesn't exist anymore.
Bruce Momjian [Sun, 2 Jun 2002 21:37:26 +0000 (21:37 +0000)]
Allow pod2man 5.005p3 to work with our current sources.
Peter Eisentraut [Sat, 1 Jun 2002 20:56:55 +0000 (20:56 +0000)]
Add section explaining unspecified expression evaluation order.
Peter Eisentraut [Sat, 1 Jun 2002 20:56:00 +0000 (20:56 +0000)]
Indent verbatim environments.
Bruce Momjian [Sat, 1 Jun 2002 19:53:31 +0000 (19:53 +0000)]
Mention btree:
> * Add FILLFACTOR to btree index creation
Thomas G. Lockhart [Sat, 1 Jun 2002 15:52:15 +0000 (15:52 +0000)]
Fix timestamp to date conversion for the case where timestamp uses a double
precision storage format. Previously applied the same math as used for the
64-bit integer storage format case, which was wrong.
Problem introduced recently when the 64-bit storage format was
implemented.
Tom Lane [Thu, 30 May 2002 20:45:18 +0000 (20:45 +0000)]
Improve manual's discussion of locking and MVCC.
Dave Cramer [Thu, 30 May 2002 16:39:26 +0000 (16:39 +0000)]
small fix to testExportedKeys
Dave Cramer [Thu, 30 May 2002 16:26:55 +0000 (16:26 +0000)]
added imported/exported key testDatabaseMetaDataTest.java
Tom Lane [Wed, 29 May 2002 17:36:40 +0000 (17:36 +0000)]
Add a note about the interpretation of amcanmulticol and amindexnulls:
a multicolumn-capable index AM *must* support nulls in index columns
after the first one.
Tom Lane [Wed, 29 May 2002 01:49:57 +0000 (01:49 +0000)]
Another place that needs schema qualification.
Tom Lane [Wed, 29 May 2002 01:38:56 +0000 (01:38 +0000)]
Fix some more not-schema-aware queries in pg_dump. Also fix some places
that would do the wrong thing with BLOB OIDs exceeding 2G.
Bruce Momjian [Wed, 29 May 2002 00:44:11 +0000 (00:44 +0000)]
Remove 32-bit mention:
> * Add BSD-licensed qsort() for Solaris
Tom Lane [Tue, 28 May 2002 23:56:51 +0000 (23:56 +0000)]
Rearrange LOG_CONNECTIONS code so that two log messages are made:
one immediately upon forking to handle a new connection, and one after
the authentication cycle is finished. Per today's pggeneral discussion.
Tom Lane [Tue, 28 May 2002 22:26:57 +0000 (22:26 +0000)]
Rework pg_dump namespace search criteria so that dumping of user objects
having names conflicting with system objects will work --- the search
path is now user-schema, pg_catalog rather than implicitly the other way
around. Note this requires being careful to explicitly qualify references
to system names whenever pg_catalog is not first in the search path.
Also, add support for dumping ACLs of schemas.
Tom Lane [Tue, 28 May 2002 22:16:15 +0000 (22:16 +0000)]
Queries used by ruleutils were not schema-proof.
Tom Lane [Tue, 28 May 2002 22:15:42 +0000 (22:15 +0000)]
In default nextval('foo') expression for a SERIAL column, use double
quotes only when necessary.
Peter Eisentraut [Tue, 28 May 2002 16:57:53 +0000 (16:57 +0000)]
Change PL/Perl and Pg interface build to use configured compiler and
Makefile.shlib system, not MakeMaker.
Tom Lane [Tue, 28 May 2002 15:24:53 +0000 (15:24 +0000)]
Fix a bug with building rtree_gist indexes.
Patch from Teodor Sigaev.
Tom Lane [Tue, 28 May 2002 15:22:33 +0000 (15:22 +0000)]
Repair error with not adjusting active scans properly after gistSplit.
Patch from Teodor Sigaev.
Bruce Momjian [Tue, 28 May 2002 01:06:23 +0000 (01:06 +0000)]
Update:
> * Add BSD-licensed qsort() for 32-bit Solaris
Tom Lane [Mon, 27 May 2002 21:59:12 +0000 (21:59 +0000)]
Update dblink to work with qualified relation names.
From Joe Conway.
Tom Lane [Mon, 27 May 2002 19:53:33 +0000 (19:53 +0000)]
Distinguish between MaxHeapAttributeNumber and MaxTupleAttributeNumber,
where the latter is made slightly larger to allow for in-memory tuples
containing resjunk attributes. Responds to today's complaint that one
cannot UPDATE a table containing the allegedly-legal maximum number of
columns.
Also, apply Manfred Koizar's recent patch to avoid extra alignment padding
when there is a null bitmap. This saves bytes in some cases while not
creating any backward-compatibility problem AFAICS.