OSDN Git Service
Bruce Momjian [Mon, 15 Mar 1999 22:20:20 +0000 (22:20 +0000)]
cleanup
Michael Meskes [Mon, 15 Mar 1999 18:26:55 +0000 (18:26 +0000)]
*** empty log message ***
Bruce Momjian [Mon, 15 Mar 1999 16:48:34 +0000 (16:48 +0000)]
Allow sequence nextval actions to be case-sensitive.
Bruce Momjian [Mon, 15 Mar 1999 15:20:52 +0000 (15:20 +0000)]
Irix fix from Jeff Johnson
Bruce Momjian [Mon, 15 Mar 1999 15:00:08 +0000 (15:00 +0000)]
bool uses one byte
Bruce Momjian [Mon, 15 Mar 1999 14:07:44 +0000 (14:07 +0000)]
Drop buffers before destroying database files.
Bruce Momjian [Mon, 15 Mar 1999 13:45:09 +0000 (13:45 +0000)]
LIKE cleanup.
Tom Lane [Mon, 15 Mar 1999 03:24:32 +0000 (03:24 +0000)]
Fix brain death in !!= operator ... it's still pretty bogus
but at least now it does what it's supposed to do ...
Bruce Momjian [Mon, 15 Mar 1999 02:18:37 +0000 (02:18 +0000)]
> > > This patches src/bin/psql/psql.c.
> > >
> > > This patch is in responce to the following TODO list item:
> > > * have psql \d on a view show the query
> > > -Ryan
Tom Lane [Mon, 15 Mar 1999 01:43:07 +0000 (01:43 +0000)]
Fix int8 configure one more time ... prior version didn't
define INT64_FORMAT in all cases.
Bruce Momjian [Mon, 15 Mar 1999 00:34:53 +0000 (00:34 +0000)]
Hi All,
I've changed the check_primary_key() function code to allow for either
the "automatic insert key rule" or "dependent insert key rule".
Previously it restricted the addtion of a child entry if the
corresponding parent entry was not there. Now if the option is
"automatic" it will add an entry in the parent too ( it will be
successful if there are no no-null fields in the parent apart from the
primary key).
The way to use it now is:
:/*
* check_primary_key () -- check that key in tuple being
inserted/updated
* references existing tuple in "primary" table.
* Though it's called without args You have to specify referenced
* table/keys while creating trigger: key field names in triggered
table,
* referenced table name, referenced key field names,type of action
[automatic|dependent]:
* EXECUTE PROCEDURE
* check_primary_key ('Fkey1', 'Fkey2', 'Ptable', 'Pkey1', 'Pkey2',
'[automatic|dependent]').
*/
I am attaching the new ../contrib/spi/refint.c file which will do this.
I will be glad to help in case of any problems.
- Anand.
Bruce Momjian [Sun, 14 Mar 1999 20:17:20 +0000 (20:17 +0000)]
cleanup
Bruce Momjian [Sun, 14 Mar 1999 20:01:14 +0000 (20:01 +0000)]
Cleanup
Bruce Momjian [Sun, 14 Mar 1999 18:12:21 +0000 (18:12 +0000)]
Reversed out libpq protocol patch for Tom Lane.
Bruce Momjian [Sun, 14 Mar 1999 16:49:32 +0000 (16:49 +0000)]
src/backend/utils/adt/numeric.c fails to compile due to a string having
an
embedded new-line character.
Billy G. Allie
Bruce Momjian [Sun, 14 Mar 1999 16:46:21 +0000 (16:46 +0000)]
This is another example of why not allowing utility functions in SPI
would be a Bad Thing.
For what it's worth, I found another case in libpq where you can get a T
message without a D that my utility patch needs to handle. I have
attached
the updated patch against the 6.4.2 version of
src/interfaces/libpq/fe-exec.c
Jerry Gay
Bruce Momjian [Sun, 14 Mar 1999 16:44:02 +0000 (16:44 +0000)]
Attempting to insert a value of 'now' into a datetime type
results in a bogus datetime value under AlphaLinux. (Note that
the link to submit a port-specific bug on your website is broken)
-Test Case:
----------
testdb=> create table dttest (dt datetime);
testdb=> insert into dttest values ('now');
--------------------------------------------------------------------------
Solution:
---------
The basic problem is the typedefs of AbsoluteTime and RelativeTime,
which are both 'int32'. These types appear to be used synonymously
with the 'time_t' type, which on AlphaLinux is typedef'd as a 'long
int', which is 64-bits (not 32). The solution included here fixes
the datetime type (it now passes the regression test), but does not
pass the absolute and relative time regression tests. Presumably, a
more thorough investigation of how these types are used is warranted.
The included patch is from the v6.3.2 source, but can be applied to
the v6.4.2 source. Please note that there is also a RedHat-specific
patch distributed with the PostgreSQL source package from RedHat
that was applied first.
Rich Edwards
Bruce Momjian [Sun, 14 Mar 1999 16:42:15 +0000 (16:42 +0000)]
Hi,
Just in case you'd like to see what I was talking about, I am
attaching
my patch to src/interfaces/libpq/fe-exec.c to prevent utility functions
called from SPI from locking up the client.
Jerry Gay
Bruce Momjian [Sun, 14 Mar 1999 16:40:18 +0000 (16:40 +0000)]
Here is a little syntax error found in a .y file... A dropped semi.
DwD
--
Daryl W. Dunbar
Bruce Momjian [Sun, 14 Mar 1999 16:32:46 +0000 (16:32 +0000)]
Cleanup of hash functions in pg_proc.
Bruce Momjian [Sun, 14 Mar 1999 16:27:59 +0000 (16:27 +0000)]
compile cleanup
Bruce Momjian [Sun, 14 Mar 1999 16:25:07 +0000 (16:25 +0000)]
Compile cleanup
Bruce Momjian [Sun, 14 Mar 1999 16:08:17 +0000 (16:08 +0000)]
Done.
o overwriting an existing lobj now works
o 8KB garbage block always inserted problem is fixed
Tatsuo Ishii
Bruce Momjian [Sun, 14 Mar 1999 16:06:43 +0000 (16:06 +0000)]
I've been having also sorts of fun trying to get kerberos 4
authentifica
tion
working with postgresql-6.4.2 and KTH-KRB Ebones
(http://www.pdc.kth.se/kth-kr
b) on a dec alpha running DU 4.0D using the native compiler. The
following
patch does the trick.
The rationale behind this is as follows. The KTH-KRB code header files
defines
lots of lengths like INST_SZ,REALM_SZ and KRB_SENDAUTH_VLEN. It also has
a
habit of doing things like
chararray[LENGTH] = '\0'
to ensure null terminated strings. In my instance this just happens to
blat
the kerberos principal instance string leading to error like
pg_krb4_recvauth: kerberos error: Can't decode authenticator
(krb_rd_req
)
The application code that comes with KTH-KRB uses "KRB_SENDAUTH_VLEN +
1" and
sometimes uses "INST_SZ + 1" so it seems safest to put that 1 char
buffer in
the appropriate place.
Rodney McDuff
Bruce Momjian [Sun, 14 Mar 1999 16:03:33 +0000 (16:03 +0000)]
We have tested the patches on three platforms:
NetBSD/macppc
LinuxPPC
FreeBSD 2.2.6-RELEASE
All of them seem happy with the regression test. Note that, however,
compiling with optimization enabled on NetBSD/macppc causes an initdb
failure (other two platforms are ok). After checking the asm code, we
are suspecting that might be a compiler(egcs) bug.
Tatsuo Ishii
Bruce Momjian [Sun, 14 Mar 1999 16:00:55 +0000 (16:00 +0000)]
This patch improves the destroyuser script's behaviour in checking whether
the user is allowed to detroy users. It also allows for a possible incorrect
empty reply to a yes/no question.
Oliver Elphick
Bruce Momjian [Sun, 14 Mar 1999 15:24:15 +0000 (15:24 +0000)]
Patches for the SGML documentation relating
to the tutorial code changes.
NOTE: I couldn't get ngsmls to find the document
type so that the changes could be checked. However,
the changes were very minor:
Best,
Clark
Bruce Momjian [Sun, 14 Mar 1999 15:22:15 +0000 (15:22 +0000)]
Fixup for src/tutorial/func.c and src/tutorial/func.source
Removed char16 and replaced with an example using Point
as suggested by Tom Lane. The dept field was changed to
the cubicle field denoting the row(x) and column(y) of
the employee's cube in the corporate jungle. The C function
builds a 'compromise' cubicle from two suggested ones.
I'll try and patchup the documentation next.
Clark
Bruce Momjian [Sun, 14 Mar 1999 05:23:12 +0000 (05:23 +0000)]
Hello,
I've been working on the following TODO list item:
* psql \d on index with char()/varchar() fields shows improper length
I've attached a simple patch to fix this.
-Ryan
Bruce Momjian [Sun, 14 Mar 1999 05:18:00 +0000 (05:18 +0000)]
The isWritable method in ResultSetMetaData returns the logically
incorrect result. This bug goes back to at least 6.3.
Alvin
Bruce Momjian [Sun, 14 Mar 1999 05:15:08 +0000 (05:15 +0000)]
I have a problem with Access97 not working properly when entering new
records using a sub form, i.e. entering a new order/orderlines or master
and
detail tables. The problem is caused by a SQL statement that Access97
makes
involving NULL. The syntax that fails is "column_name" = NULL. The
following attachment was provided by -Jose'-. It contains a very small
enhancement to gram.y that will allow Access97 to work properly with sub
forms. Can this enhancement be added to release 6.5?
<<gram.patch>>
Thanks, Michael
Bruce Momjian [Sun, 14 Mar 1999 05:12:45 +0000 (05:12 +0000)]
There are errors in the PGmoney class in the conversion routines over
the handling of negative numbers and commas. The attached path attempts
to fix these.
However the getValue method does not yet insert commas into the
generated string.
Also in getValue there is an incorrect assumption that the currency
symbol is '$', it should of course be '£'!. I have no idea on how to go
about fixing this one.
Alvin
Bruce Momjian [Sun, 14 Mar 1999 05:09:05 +0000 (05:09 +0000)]
Enclosed below I have a patch to allow a btree index on the int8 type.
I would like some feedback on what the hash function for the int8 hash
function
in the ./backend/access/hash/hashfunc.c should return.
Also, could someone (maybe Tomas Lockhart?) look-over the patch and make
sure
the system table entries are correct? I've tried to research them as
much as I
could, but some of them are still not clear to me.
Thanks,
-Ryan
Michael Meskes [Thu, 11 Mar 1999 15:42:08 +0000 (15:42 +0000)]
*** empty log message ***
Vadim B. Mikheev [Wed, 10 Mar 1999 12:16:09 +0000 (12:16 +0000)]
We have to return dummy tuple for empty targetlist!
Try select t1.x from t1, t2 where t1.y = 1 and t2.y = 1
- t2 scan target list will be empty and so no one tuple
will be returned...
Tom Lane [Wed, 10 Mar 1999 05:05:58 +0000 (05:05 +0000)]
Make type 'regproc' binary-compatible with int4 and oid,
so that it has some SQL operators available. It's difficult to write
automated tests of a data type that you haven't even got == for...
Tom Lane [Wed, 10 Mar 1999 05:02:34 +0000 (05:02 +0000)]
Fix some typos in argument and result types in pg_proc
and pg_operator. The lone error in pg_operator was reported as a bug
by Michael Reifenberger; the multiple errors in pg_proc would only have
been noticed if one invoked the functions by name rather than using
operator syntax. I guess few people do that.
Marc G. Fournier [Tue, 9 Mar 1999 14:17:51 +0000 (14:17 +0000)]
From: Constantin Teodorescu <teo@flex.ro>
UPgrade to 0.96 ..
Marc G. Fournier [Tue, 9 Mar 1999 13:39:15 +0000 (13:39 +0000)]
Changes to fix/improve the dynamic loading on NT
From: Horak Daniel <horak@mmp.plzen-city.cz>
Bruce Momjian [Mon, 8 Mar 1999 14:01:57 +0000 (14:01 +0000)]
Fix OR index selectivity problem.
Bruce Momjian [Mon, 8 Mar 1999 13:35:50 +0000 (13:35 +0000)]
Fix for Alpha OR selectivity bug.
Marc G. Fournier [Mon, 8 Mar 1999 04:17:33 +0000 (04:17 +0000)]
Have configure check for use of %lld for int64, and if that fails, check for
use of %qd...a more generic solution then having #ifdef __<INSERT OS HERE>__
in the code...
Tom Lane [Sun, 7 Mar 1999 23:05:57 +0000 (23:05 +0000)]
Export include/utils/mcxt.h so that external stuff can include
palloc.h again. Move exporting of backend header files out of libpq's
Makefile (whatever was it doing there in the first place?) and into
backend/Makefile.
Tom Lane [Sun, 7 Mar 1999 23:03:32 +0000 (23:03 +0000)]
Modify mcxt.h so that it doesn't pull in half of creation.
Tom Lane [Sun, 7 Mar 1999 21:32:06 +0000 (21:32 +0000)]
Cleaner autoconf tests for int8 support.
Bruce Momjian [Sun, 7 Mar 1999 12:00:40 +0000 (12:00 +0000)]
geqo now at 11 tables
Michael Meskes [Sun, 7 Mar 1999 08:01:18 +0000 (08:01 +0000)]
*** empty log message ***
Bruce Momjian [Sun, 7 Mar 1999 03:34:11 +0000 (03:34 +0000)]
Really remove Recipe.
Tom Lane [Sat, 6 Mar 1999 22:58:11 +0000 (22:58 +0000)]
Eliminate duplicated code in dt.h
Tom Lane [Sat, 6 Mar 1999 21:25:04 +0000 (21:25 +0000)]
Reduce DEF_MAXBACKENDS to 32 so that default configuration
is less likely to fail for lack of semaphores.
Tom Lane [Sat, 6 Mar 1999 21:17:56 +0000 (21:17 +0000)]
A few further tweaks to shared memory space estimation.
This change brings the default size of the main shmem block back under 1MB,
which is a fairly popular value for the kernel's SHMMAX parameter.
Michael Meskes [Fri, 5 Mar 1999 09:38:51 +0000 (09:38 +0000)]
*** empty log message ***
Michael Meskes [Fri, 5 Mar 1999 09:25:34 +0000 (09:25 +0000)]
*** empty log message ***
Tom Lane [Wed, 3 Mar 1999 00:02:42 +0000 (00:02 +0000)]
Partial fix for copied-plan bugs reported by Hiroshi Inoue:
_copyResult didn't copy subPlan structure completely. _copyAgg is still
busted, apparently because of changes from EXCEPT/INTERSECT patch
(get_agg_tlist_references is no longer sufficient to find all aggregates).
No time to look at that tonight, however.
Tom Lane [Mon, 1 Mar 1999 00:10:44 +0000 (00:10 +0000)]
Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,
so remove them from MergeJoin node. Hack together a partial
solution for commuted mergejoin operators --- yesterday
a mergejoin int4 = int8 would crash if the planner decided to
commute it, today it works. The planner's representation of
mergejoins really needs a rewrite though.
Also, further testing of mergejoin ops in opr_sanity regress test.
Marc G. Fournier [Sun, 28 Feb 1999 07:25:34 +0000 (07:25 +0000)]
From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Tue Feb 23 17:32:25 CET 1999
+
+ - Other than a struct a union itself cannot be specified as variable.
+
+ Fri Feb 26 07:18:25 CET 1999
+
+ - Synced preproc.y with gram.y.
+
+ Sat Feb 27 20:30:03 CET 1999
+
+ - Added automatic allocating for NULL pointers.
Tom Lane [Sun, 28 Feb 1999 00:56:42 +0000 (00:56 +0000)]
Fix pg_operator entries for mergejoinable operators with different left and
right side data types. Correct the opr_sanity regress test to check these
entries properly. NOTE that opr_sanity will now fail until you do an initdb!
Tom Lane [Sun, 28 Feb 1999 00:36:05 +0000 (00:36 +0000)]
Fix executor to work correctly with mergejoins where left and
right sides have different data types.
Tom Lane [Sat, 27 Feb 1999 21:42:33 +0000 (21:42 +0000)]
Remove recipe.o from Makefile ... dead code not quite dead enough,
it seems.
Tom Lane [Sat, 27 Feb 1999 21:40:39 +0000 (21:40 +0000)]
Put back T_RecipeStmt, since the system doesn't actually build
without it. Sloppy, sloppy.
Tom Lane [Sat, 27 Feb 1999 21:33:53 +0000 (21:33 +0000)]
Someone forgot to commit gram.c and parse.h after his latest
set of updates to gram.y.
Bruce Momjian [Thu, 25 Feb 1999 17:25:47 +0000 (17:25 +0000)]
Remove reference to recipe.h.
Bruce Momjian [Wed, 24 Feb 1999 17:29:06 +0000 (17:29 +0000)]
Fix problem with selectivity error in added columns with ALTER TABLE.
Move files to deadcode.
Bruce Momjian [Wed, 24 Feb 1999 10:20:07 +0000 (10:20 +0000)]
update comments
Bruce Momjian [Wed, 24 Feb 1999 03:17:05 +0000 (03:17 +0000)]
Thank you for the advice. I concluded that current inet code has a
portability problem. Included patches should be applied to both
current and 6.4 tree. I have tested on LinuxPPC, FreeBSD and Solaris
2.6. Now the inet regression tests on these platforms are all happy.
---
Tatsuo Ishii
Marc G. Fournier [Tue, 23 Feb 1999 12:57:03 +0000 (12:57 +0000)]
From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Son Feb 21 14:10:47 CET 1999
+
+ - Fixed variable detection in libecpg.
+
+ Mon Feb 22 19:47:45 CET 1999
+
+ - Added 'at <db_connection>' option to all commands it is apllicable
+ to. Due to changing the API of some libecpg functions this
+ requires me to increase the major version number.
+ - Synced pgc.l with scan.l.
+ - Added support for unions.
+ - Set library version to 3.0.0
+ - Set ecpg version to 3.0.0
Thomas G. Lockhart [Tue, 23 Feb 1999 08:05:27 +0000 (08:05 +0000)]
Add parameters to function calls to pass back table qualifications.
Thomas G. Lockhart [Tue, 23 Feb 1999 08:01:47 +0000 (08:01 +0000)]
Add a few other parser-only nodes for debugging help.
Define the JoinExpr node.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:55:24 +0000 (07:55 +0000)]
Define JoinExpr structure for outer join syntax.
Clean up comments in execnodes.h.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:54:03 +0000 (07:54 +0000)]
Clean up error messages.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:51:53 +0000 (07:51 +0000)]
Do a better job of selecting candidates among functions
when no exact match.
Clean up elog error messages.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:46:42 +0000 (07:46 +0000)]
Include some new code for outer joins. Disabled by default, but enable by
including the following in your Makefile.custom:
CFLAGS+= -DENABLE_OUTER_JOINS -DEXEC_MERGEJOINDEBUG
Thomas G. Lockhart [Tue, 23 Feb 1999 07:44:44 +0000 (07:44 +0000)]
Put in explicit checks for implicit index name lengths.
Put in hooks for outer joins by passing a few parameters back and forth
in function calls. May not be close to working yet.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:42:41 +0000 (07:42 +0000)]
Modify the outer join placeholder code with something closer to working
code. Works here, but not completely implemented past this point.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:39:40 +0000 (07:39 +0000)]
Bring debugging print statement declarations up to date.
Comment-out the #undef default declarations to allow the parameters to be
set on the compiler command line.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:37:31 +0000 (07:37 +0000)]
Add constants for outer join states in executor.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:36:31 +0000 (07:36 +0000)]
Fix typos in comments.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:35:09 +0000 (07:35 +0000)]
Add first code to help with outer joins.
Enable by defining
CFLAGS+= -DENABLE_OUTER_JOINS -DEXEC_MERGEJOINDEBUG
in your Makefile.custom
Thomas G. Lockhart [Tue, 23 Feb 1999 07:33:09 +0000 (07:33 +0000)]
Fix typo in comment.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:31:02 +0000 (07:31 +0000)]
Update error messages with more consistant format.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:30:05 +0000 (07:30 +0000)]
Add many new test cases.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:29:19 +0000 (07:29 +0000)]
Remove non-portable queries by replacing getpgusername() with a constant
string.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:27:13 +0000 (07:27 +0000)]
First tests using JOIN syntax.
Thomas G. Lockhart [Tue, 23 Feb 1999 07:24:08 +0000 (07:24 +0000)]
Rearrange order of subdirectory creation to help generate parse.h
file early enough to use in nodes/.
Try to be more complete for rules on generating parse.h,
but it still does not work any better than before. Should be able to
make correctly if parser/gram.y is updated even without a "make clean"
but so far not there yet.
Bruce Momjian [Mon, 22 Feb 1999 19:55:44 +0000 (19:55 +0000)]
comments cleanup.
Bruce Momjian [Mon, 22 Feb 1999 19:40:10 +0000 (19:40 +0000)]
comment cleanup.
Bruce Momjian [Mon, 22 Feb 1999 17:29:57 +0000 (17:29 +0000)]
ifdef out append().
Bruce Momjian [Mon, 22 Feb 1999 16:46:43 +0000 (16:46 +0000)]
Ok. I found an align problem in lobj that might not appear other than
Solaris/sparc. Please apply included patches to
src/backend/storage/large_object/inv_api.c and try again. (These are
Tatsuo Ishii
Tom Lane [Mon, 22 Feb 1999 06:16:57 +0000 (06:16 +0000)]
Repair some pretty serious problems in dynahash.c and
shared memory space allocation. It's a wonder we have not seen bug
reports traceable to this area ... it's quite clear that the routine
dir_realloc() has never worked correctly, for example.
Bruce Momjian [Mon, 22 Feb 1999 06:08:48 +0000 (06:08 +0000)]
more cleanup
Bruce Momjian [Mon, 22 Feb 1999 05:26:58 +0000 (05:26 +0000)]
Final optimizer cleanups.
Bruce Momjian [Mon, 22 Feb 1999 02:08:32 +0000 (02:08 +0000)]
rename pgsql to postgres in regression.
Bruce Momjian [Mon, 22 Feb 1999 02:06:38 +0000 (02:06 +0000)]
change pgsql to postgres
Bruce Momjian [Mon, 22 Feb 1999 01:57:50 +0000 (01:57 +0000)]
fix compile problem.
Marc G. Fournier [Sun, 21 Feb 1999 03:49:55 +0000 (03:49 +0000)]
From: Tatsuo Ishii <t-ishii@sra.co.jp>
Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef
NOT_USED" for current. I have tested these patches in that the
postgres binaries are identical.
Tom Lane [Sun, 21 Feb 1999 03:17:31 +0000 (03:17 +0000)]
Document postmaster's -N switch.
Tom Lane [Sun, 21 Feb 1999 03:16:29 +0000 (03:16 +0000)]
Document configure's --with-maxbackends switch.
Fix a few small typos.
Marc G. Fournier [Sun, 21 Feb 1999 03:02:35 +0000 (03:02 +0000)]
From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Fri Feb 19 21:40:14 CET 1999
+
+ - Fixed bug in libecpg that caused it to start transactions only for
+ the first connection.
+ - Set library version to 2.7.1
Bruce Momjian [Sun, 21 Feb 1999 01:55:03 +0000 (01:55 +0000)]
pathkeys.c cleanup.
Tom Lane [Sun, 21 Feb 1999 01:41:55 +0000 (01:41 +0000)]
Rearrange handling of MAXBACKENDS a little bit. The default setting
of MAXBACKENDS is now 1024, since all it's costing is about 32 bytes of memory
per array slot. configure's --with-maxbackends switch now controls DEF_MAXBACKENDS
which is simply the default value of the postmaster's -N switch. Thus,
the out-of-the-box configuration will still limit you to 64 backends,
but you can go up to 1024 backends simply by restarting the postmaster with
a different -N switch --- no rebuild required.