Re: [HACKERS] PQnotifies() in 7.3 broken?

2002-12-08 Thread Kevin Brown
Peter Eisentraut wrote:
 Tom Lane writes:
 
  It is not real clear to me whether we need a major version bump, rather
  than a minor one.  We *do* need to signal binary incompatibility.  Who
  can clarify the rules here?
 
 Strictly speaking, it's platform-dependent, but our shared library code
 plays a bit of abuse with it.  What it comes down to is:
 
 If you change or remove an interface, increment the major version number.
 If you add an interface, increment the minor version number.  If you did
 neither but changed the source code at all, increment the third version
 number, if we had one.

My take on it is: if you break binary compatibility, which includes
semantic dependencies, then you increment the major version number.
Otherwise you increment the minor version number.

Since the change we're talking about apparently broke binary
compatibility, it calls for a major version number change.


Protocol incompatibility requires a different method of enforcement
altogether.  Incrementing the major number of the library isn't going
to do you any good for that (7.2 clients on remote systems won't have
any idea that the libraries on the 7.3 server have changed that much).


All MHO, of course...


-- 
Kevin Brown   [EMAIL PROTECTED]
This is your .signature virus:  begin 644 .signature (9V]T8VAA(0K0z end 
This is your .signature virus on drugs: 
Any questions?

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[HACKERS] DB Tuning Notes for comment...

2002-12-08 Thread Philip Warner

The notes below are the results of various tuning issues experienced 
recently on a large database (several GB) that has many tables and a high 
transient data flow (ie. thousands of records added, updated, and deleted 
every hour) on a few tables. This kind of data flow is not at all well 
handled by the default postgresql settings. Experiments have also been 
conducted using a much smaller test database with a text field written to a 
TOAST relation (which is what the large table contains).

I think this example is useful because it encapsulates in several hours the 
level of updates that most of us see in several weeks, so the rules below 
should apply equally well but in different time frames, with provisos as 
noted. The database in question is subject to periodic bulk deletes where 
up to 50% of the rows in the large table are deleted. It is also has to run 
24x7.

Any comments or suggestions would be welcome.


Tuning
==

1. max_fsm_relations


First of all, the free space manager is useless at managing free space if 
it can not map all relations (including system relations and toast 
relations). The following query should give the correct ballpark:

select count(*) from pg_class where not relkind in ('i','v');

Set max_fsm_relations to a number greater than this. Add extra to deal with 
any tables you will create etc.  It costs 40 bytes per table, so be 
generous - if it is set too low, you will get bizarre space usage.

[Note: the FSM is so bad at reclaiming space when this value is too low 
that I believe it should be overridden at startup if it is not at least 
equal to the result of the above query. Similarly, I think a warning should 
be given at startup and/or runtime when it is exceeded, or work should be 
done to make it dynamic - and it should then not be a config item].


2. VACUUM Frequency
---

Ideally VACUUM should run constantly; a future version will support 
something like it. But for now, vacuum should be run when a significant 
amount of data has been inserted, updated or deleted. The definition of 
'significant' is not immediately obvious.

Most tables will *not* be updated frequently in most databases; such tables 
can be vacuumed irregularly, or vacuumed when the more frequently updated 
tables are vacuumed.

In our specific case we have one table that has a few rows ( 1000), but it 
is updated as many as 3 times per second. In this case, we chose a 5 minute 
interval, which results in at worst 1000 'dead' rows in the table as a 
result of the updates. Since it was such a small table, we saw no reason to 
vacuum every minute, or even constantly.

For larger or more complex tables, the output of VACUUM ANALYZE must be used.

The following is an extract of the output from a VACUUM VERBOSE of a simple 
test database - the table is the TOAST table of a large text column, where 
the table has been constructed to be 75% empty. The output is after 
deleting some rows.

1 INFO:  --Relation pg_toast.pg_toast_16979--
2 INFO:  Index pg_toast_16979_index: Pages 575; Tuples 16384: Deleted 25984.
3 CPU 0.05s/0.16u sec elapsed 7.41 sec.
4 INFO:  Removed 25984 tuples in 6496 pages.
5 CPU 0.75s/0.79u sec elapsed 14.17 sec.
6 INFO:  Pages 22480: Changed 6496, Empty 0; Tup 16384: Vac 25984, Keep 0, 
UnUsed 47552.
7 Total CPU 1.98s/1.05u sec elapsed 23.30 sec.

Line 6 shows that there are 22480 pages, and 6496 (roughly 25%) were 
changed since the last vacuum. Line 4 indicates that these were all 
removed. Note that when tuples are updated, a new copy of the record is 
written and the old one deleted, so updates will also result in tuples 
being 'removed'.

A more complex example follows; this was after deleting 512 rows and adding 
256:

1 INFO:  --Relation pg_toast.pg_toast_16979--
2 INFO:  Index pg_toast_16979_index: Pages 667; Tuples 24576: Deleted 16384.
3 CPU 0.02s/0.10u sec elapsed 4.73 sec.
4 INFO:  Removed 16384 tuples in 4096 pages.
5 CPU 0.52s/0.48u sec elapsed 9.38 sec.
6 INFO:  Pages 20528: Changed 6144, Empty 0; Tup 24576: Vac 16384, Keep 0, 
UnUsed 41152.
7 Total CPU 1.81s/0.64u sec elapsed 22.51 sec.

note that line 6 has a 'changed' value, and line 4 has a 'removed' value. 
This gives some indication of the pages consumed and released in any period.

The final example is for 512 inserts, 512 updates (of different records) 
and 512 deletes.

1 INFO:  --Relation pg_toast.pg_toast_16979--
2 INFO:  Index pg_toast_16979_index: Pages 854; Tuples 32768: Deleted 32768.
3 CPU 0.05s/0.20u sec elapsed 8.41 sec.
4 INFO:  Removed 32768 tuples in 8192 pages.
5 CPU 1.01s/0.91u sec elapsed 13.52 sec.
6 INFO:  Pages 26672: Changed 12288, Empty 0; Tup 32768: Vac 32768, Keep 0, 
UnUsed 41152.
7 Total CPU 2.92s/1.25u sec elapsed 30.01 sec.

again it shows the effects of UPDATE/DELETE vs. INSERT.

In each case the 'Changed' value indicates the maximum number of pages 
required between 

Re: [HACKERS] [GENERAL] 7.3 txt2txtidx - crash

2002-12-08 Thread Magnus Naeslund(f)
Yes i found this bug earlier.
There is a patch for it in the mail archives.

Magnus

Argo Priivits [EMAIL PROTECTED] wrote:
 Hi,
 
 I have a problem with contrib/tsearch module.
 
 Simple select txt2txtidx('2-3') causes psql to crash with error:
 
 server closed the connection unexpectedly
 This probably means the server terminated abnormally
 before or while processing the request.
 
 
 As I found out, this happens allways when in txt2txtidx input
 parameter occurs string with pattern: number hyphen or hyphen
 number !!!  
 
 pg 7.3
 redhat 7.3
 
 Thanks, any idea ?
 


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] proposal: array utility functions phase 1

2002-12-08 Thread Joe Conway
I'm working on the TODO item Allow easy display of usernames in a group in 
the context of a slightly larger effort to improve usability of arrays. I'm 
far enough down the road to have a better idea of where I want to go with 
this, but I'd like to vet those ideas with the list so I don't waste too much 
effort if everyone hates them ;-)

The first function borrows from an idea Nigel Andrews had -- i.e. expand an 
array into rows (and possibly columns). It currently works like this:

-- 1D array
test=# select * from array_values('{101,102,103,104}'::int[]) as (a int, b1 int);
 a | b1
---+-
 1 | 101
 2 | 102
 3 | 103
 4 | 104
(4 rows)

CREATE TABLE arr_text(f1 int, f2 text[]);
INSERT INTO arr_text VALUES (1, '{a,b,c}');
UPDATE arr_text SET f2[-2:0] = '{x,y,z}' WHERE f1 = 1;
CREATE OR REPLACE FUNCTION get_arr_text(int) RETURNS text[] AS 'SELECT f2 FROM 
arr_text WHERE f1 = $1' LANGUAGE 'sql';

test=# select * from array_values(get_arr_text(1)) as (a int, b1 text);
 a  | b1
+
 -2 | x
 -1 | y
  0 | z
  1 | a
  2 | b
  3 | c
(6 rows)

-- 2D array
test=# select * from array_values('{{1,2,3,4},{5,6,7,8}}'::int[]) as (a int, 
b1 int, b2 int, b3 int, b4 int);
 a | b1 | b2 | b3 | b4
---++++
 1 |  1 |  2 |  3 |  4
 2 |  5 |  6 |  7 |  8
(2 rows)

It accepts type anyarray, and returns record. The first column preserves the 
array subscript for the 1st dimension.

One question I have is this: what, if anything, should be done with 3 (and 
higher) dimension arrays? I was considering returning 2 columns -- the 1st 
dimension array subscript, and a 2nd column containing the sub-array left 
over. E.g.:

array_values('{{{111,112},{121,122}},{{211,212},{221,222}}}'::int[]) would become:

 a  |  b1
+---
 1  | {{111,112},{121,122}}
 2  | {{211,212},{221,222}}

Does this make sense, or is something else better, or would it be better not 
to support 3 dim arrays and up?


Now on to the TODO item. Given the array_values() function, here's what I was 
thinking of to implement listing members of a group:

CREATE OR REPLACE FUNCTION pg_get_grolist(text) RETURNS INT[] AS 'SELECT 
grolist FROM pg_group WHERE groname = $1' LANGUAGE 'sql';

CREATE TYPE pg_grolist_rec AS (array_index int, member_name text);

CREATE OR REPLACE FUNCTION group_list(text) RETURNS SETOF pg_grolist_rec AS 
'SELECT g.id, pg_get_userbyid(g.usesysid)::text AS member_name FROM 
array_values(pg_get_grolist($1)) AS g(id int, usesysid int)' LANGUAGE 'sql';

test=# select * from pg_group;
 groname | grosysid |grolist
-+--+---
 g1  |  100 | {100,101}
 g2  |  101 | {100,101,102}
(2 rows)

test=# select * from group_list('g2');
 array_index | member_name
-+-
   1 | user1
   2 | user2
   3 | user3


pg_get_grolist(text) is intended for internal use, as is the pg_grolist_rec 
composite type. group_list() is intended as the user facing table function. I 
would implement this by running the three statements above during initdb.

Any comments or objections WRT object names or the method of implementation? I 
don't think this is a very speed critical application, but even using the sql 
functions it is very fast:
test=# explain analyze select * from group_list('g2');
 QUERY PLAN

 Function Scan on group_list  (cost=0.00..12.50 rows=1000 width=36) (actual 
time=1.49..1.50 rows=3 loops=1)
 Total runtime: 1.55 msec
(2 rows)


I have more planned beyond the above as outlined in an earlier post (see 
http://archives.postgresql.org/pgsql-hackers/2002-11/msg01213.php).

Next on my list will be a split() function (as discussed in early September) 
that creates an array from an input string by splitting on a given delimiter. 
This is similar to functions in perl, php, and undoubtedly other languages. It 
should work nicely in conjunction with array_values().

Sorry for the long mail and thanks for any feedback!

Joe


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html


[HACKERS] More on cursors in 7.3

2002-12-08 Thread Jeroen T. Vermeulen
Looking at my problem with changed cursor behaviour in 7.3 again, I
noticed something interesting: a cursor in 7.3 apparently does not let 
you scroll back to its first row at all!  Neither a move backward all
or a move -n where n is equal to or greater than the cursor's current 
position, will let you fetch any more rows from the cursor.  Scrolling 
back to the second row does work though.

I can work around this in libpqxx, without too much trouble, but I'm 
not sure I should have to.


Jeroen


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On Sun, 8 Dec 2002, Justin Clift wrote:

 Vince Vielhaber wrote:
  On Thu, 5 Dec 2002, Robert Treat wrote:
 
 
 Well, my previous employer uses postgresql, but they were under constant
 assault from their clients to use oracle or db2.  Technically there was no
 reason to switch, but if your choice is switch databases or go out of
 business, there really isn't much choice.
 
 
  That tells me their clients wanted a commercial database, not one that's
  open source.  All the marketing in the world won't change that.

 Really?

 Why do you say that?

Because of this taken from the above quoted text:

they were under constant assault from their clients to use oracle or db2

Last I looked neither Oracle or DB2 were open source, but they both just
happen to be commercial and I don't see mysql mentioned.

Anything else you don't understand about that?

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Justin Clift
Vince Vielhaber wrote:

Because of this taken from the above quoted text:

they were under constant assault from their clients to use oracle or db2

Last I looked neither Oracle or DB2 were open source, but they both just
happen to be commercial and I don't see mysql mentioned.


And ?

Regards and best wishes,

Justin Clift



Anything else you don't understand about that?

Vince.



--
My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there.
- Indira Gandhi


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Tom Lane
Jeroen T. Vermeulen [EMAIL PROTECTED] writes:
 Looking at my problem with changed cursor behaviour in 7.3 again, I
 noticed something interesting: a cursor in 7.3 apparently does not let 
 you scroll back to its first row at all!

Oh?

regression=# begin;
BEGIN
regression=# declare c cursor for select * from int8_tbl;
DECLARE CURSOR
regression=# fetch all from c;
q1|q2
--+---
  123 |   456
  123 |  4567890123456789
 4567890123456789 |   123
 4567890123456789 |  4567890123456789
 4567890123456789 | -4567890123456789
(5 rows)

regression=# move backward all in c;
MOVE 5
regression=# fetch all from c;
q1|q2
--+---
  123 |   456
  123 |  4567890123456789
 4567890123456789 |   123
 4567890123456789 |  4567890123456789
 4567890123456789 | -4567890123456789
(5 rows)

regression=#


I believe it is true though that backing up a cursor only works for
certain plan types (seqscan, indexscan, sort, maybe a couple others).
That has always been true --- 7.3 is no better nor worse than prior
releases.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Jeroen T. Vermeulen
On Sun, Dec 08, 2002 at 04:28:38PM -0500, Tom Lane wrote:
 
 I believe it is true though that backing up a cursor only works for
 certain plan types (seqscan, indexscan, sort, maybe a couple others).
 That has always been true --- 7.3 is no better nor worse than prior
 releases.

Ah, I didn't know that.  I guess the plan for select * from pg_tables
must have changed in 7.3 then.

Is any of this described in the docs somewhere?


Jeroen


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] proposal: array utility functions phase 1

2002-12-08 Thread Tom Lane
Joe Conway [EMAIL PROTECTED] writes:
 [ much snipped ]
 The first function borrows from an idea Nigel Andrews had -- i.e. expand an 
 array into rows (and possibly columns). It currently works like this:

 -- 1D array
 test=# select * from array_values('{101,102,103,104}'::int[]) as (a int, b1 int);

 Now on to the TODO item. Given the array_values() function, here's what I was
 thinking of to implement listing members of a group:

 CREATE OR REPLACE FUNCTION pg_get_grolist(text) RETURNS INT[] AS 'SELECT 
 grolist FROM pg_group WHERE groname = $1' LANGUAGE 'sql';

 CREATE TYPE pg_grolist_rec AS (array_index int, member_name text);

 CREATE OR REPLACE FUNCTION group_list(text) RETURNS SETOF pg_grolist_rec AS 
 'SELECT g.id, pg_get_userbyid(g.usesysid)::text AS member_name FROM 
 array_values(pg_get_grolist($1)) AS g(id int, usesysid int)' LANGUAGE 'sql';


This crystallizes something that has been bothering me for awhile: the
table function syntax is severely hobbled (not to say crippled :-() by
the fact that the function arguments have to be constants.  You really
don't want to have to invent intermediate functions every time you want
a slightly different query --- yet this technique seems to require *two*
bespoke functions for every query, one on each end of the array_values()
function.

The original Berkeley syntax, messy as it was, at least avoided this
problem.  For example, I believe this same problem could be solved
(approximately) with

select array_values(grolist) from pg_group where groname = 'g2'

--- getting the users shown as names instead of numbers would take an
extra level of SELECT, but I leave the details to the reader.

I think we ought to try to find a way that table functions could be used
with inputs that are taken from tables.  In a narrow sense you can do
this already, with a sub-SELECT:

select * from my_table_func((select x from ...));

but (a) the sub-select can only return a single value, and (b) you can't
get at any of the other columns in the row the sub-select is selecting.
For instance it won't help me much to do

select * from
array_values((select grolist from pg_group where groname = 'g2'))

if I want to show the group's grosysid as well.

I know I'm not explaining this very well (I'm only firing on one
cylinder today :-(), but basically I think we need to step back and take
another look at the mechanism before we start inventing tons of helper
functions to make up for the lack of adequate mechanism.


As for array_values() itself, it seems fairly inelegant to rely on the
user to get the input and output types to match up.  Now that we have
an anyarray pseudotype, I think it wouldn't be unreasonable to hack up
some kluge in the parser to allow reference to the element type of such
an argument --- that is, you'd say something like

create function array_values(anyarray) returns setof anyarray_element

and the parser would automatically understand what return type to assign
to any particular use of array_values.  (Since type resolution is done
bottom-up, I see no logical difficulty here, though the implementation
might be a bit of a wart...)

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On Mon, 9 Dec 2002, Justin Clift wrote:

 Vince Vielhaber wrote:
  Because of this taken from the above quoted text:
 
  they were under constant assault from their clients to use oracle or db2
 
  Last I looked neither Oracle or DB2 were open source, but they both just
  happen to be commercial and I don't see mysql mentioned.

 And ?

And what?  If you can't understand the above you're in the wrong business.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Tom Lane
Jeroen T. Vermeulen [EMAIL PROTECTED] writes:
 Ah, I didn't know that.  I guess the plan for select * from pg_tables
 must have changed in 7.3 then.

[looks...]  Yeah, there's a join to pg_namespace in there now.

 Is any of this described in the docs somewhere?

Fraid not.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Jeroen T. Vermeulen
On Sun, Dec 08, 2002 at 05:09:09PM -0500, Tom Lane wrote:
 
  Is any of this described in the docs somewhere?
 
 Fraid not.

Damn  blast.  I was rather counting on cursors that could back up for
my nifty CachedResult class (which acts more or less like a normal result 
set but transparently fetches rows on demand).

Now if I understood a bit more of what's going on here, at least I could
document it...


Jeroen


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Justin Clift
Vince Vielhaber wrote:

On Mon, 9 Dec 2002, Justin Clift wrote:



Vince Vielhaber wrote:


Because of this taken from the above quoted text:

they were under constant assault from their clients to use oracle or db2

Last I looked neither Oracle or DB2 were open source, but they both just
happen to be commercial and I don't see mysql mentioned.


And ?



And what?  If you can't understand the above you're in the wrong business.


And ?


Regards and best wishes,

Justin Clift



Vince.



--
My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there.
- Indira Gandhi


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Tom Lane
Jeroen T. Vermeulen [EMAIL PROTECTED] writes:
 Now if I understood a bit more of what's going on here, at least I could
 document it...

Well, you could dig through backend/executor/node*.c and see which of
the node types pay attention to es_direction.  To a first approximation
it looks like these do:

Functionscan
Append
Indexscan
Mergejoin
Limit
Material
Subqueryscan
Seqscan
Sort
Tidscan

although I have not thought about which other upper plan nodes might be
okay (ie, they're safe if their input nodes are).  Also, a Material or
Sort node will hide any direction-unsafety in its input.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On Mon, 9 Dec 2002, Justin Clift wrote:

 Vince Vielhaber wrote:
  On Mon, 9 Dec 2002, Justin Clift wrote:
 
 
 Vince Vielhaber wrote:
 
 Because of this taken from the above quoted text:
 
 they were under constant assault from their clients to use oracle or db2
 
 Last I looked neither Oracle or DB2 were open source, but they both just
 happen to be commercial and I don't see mysql mentioned.
 
 And ?
 
 
  And what?  If you can't understand the above you're in the wrong business.

 And ?

That's what I thought.  You have no argument so your just typing.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] More on cursors in 7.3

2002-12-08 Thread Jeroen T. Vermeulen
On Sun, Dec 08, 2002 at 05:28:22PM -0500, Tom Lane wrote:
 
 Well, you could dig through backend/executor/node*.c and see which of
 the node types pay attention to es_direction.  To a first approximation
 it looks like these do:
 
I'll be honest with you: I don't know much about the internals and this
is pure Greek to me...  And I never was much good at Greek in school.


 although I have not thought about which other upper plan nodes might be
 okay (ie, they're safe if their input nodes are).  Also, a Material or
 Sort node will hide any direction-unsafety in its input.

More Greek, I'm afraid.  :-(


Jeroen


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On 7 Dec 2002, Rod Taylor wrote:


  What too many people fail to realize is that in a commercial environment
  many companies want another company to point the finger at in case of
  disaster.  Sybase failed, or HP failed, or IBM failed, or Microsoft
  failed.  They feel they can do something about that.  If they lose a
  few million they have someone they can go after, who are they going to
  go after if PostgreSQL fails them?  Marc?  Bruce?

 This is when you start to shout that RedHat offers commercial support,
 licencing, etc. INCLUDING a free, non-restrictive source licence to the
 core components of RHDB.

I had considered mentioning redhat but didn't want to blur things.  Red
hat markets PostgreSQL under a different name and they're offering a
complete package (including support as you note).  The PGDG isn't doing
that and they shouldn't be.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Oliver Elphick
On Sun, 2002-12-08 at 20:52, Vince Vielhaber wrote:
  Why do you say that?
 
 Because of this taken from the above quoted text:
 
 they were under constant assault from their clients to use oracle or db2
 
 Last I looked neither Oracle or DB2 were open source, but they both just
 happen to be commercial and I don't see mysql mentioned.

This is a reason to increase marketing effort.  I know the word has
pejorative overtones in our community, but it means talking about
PostgreSQL so that the PHBs hear about it and therefore begin to feel
comfortable about using it.

If something is familiar, it feels safe.  We need to make PostgreSQL
familiar.  That's why we need marketing.

-- 
Oliver Elphick [EMAIL PROTECTED]
LFIX Limited


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Justin Clift
Vince Vielhaber wrote:


That's what I thought.  You have no argument so your just typing.


Hi Vince,

Was more hoping you'd care to share your basis for stating Robert's 
employers clients wanted a commercial database, after he mentioned 
specifically DB2 and Oracle.  Knowing one of the obvious common factors 
they have and then stating it was definitely the reason - not having 
sought clarification nor confirmation from Robert - and then further 
stating that the PG Advocacy and Marketing group wouldn't be able to 
assist even if that were the case, is extremely bad form coming from 
anyone, let alone you.

Please consider the statements you make by a more accurate approach in 
the future.

Regards and best wishes,

Justin Clift


Vince.


--
My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there.
- Indira Gandhi


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On Mon, 9 Dec 2002, Justin Clift wrote:

 Vince Vielhaber wrote:
  
  That's what I thought.  You have no argument so your just typing.

 Hi Vince,

 Was more hoping you'd care to share your basis for stating Robert's
 employers clients wanted a commercial database, after he mentioned
 specifically DB2 and Oracle.  Knowing one of the obvious common factors
 they have and then stating it was definitely the reason - not having
 sought clarification nor confirmation from Robert - and then further
 stating that the PG Advocacy and Marketing group wouldn't be able to
 assist even if that were the case, is extremely bad form coming from
 anyone, let alone you.

Then they come with the insults.   Justin, I'm finished discussing this
with you.  You're obviously not capable of understanding it and you're
simply wasting my time - like usual.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On 8 Dec 2002, Oliver Elphick wrote:

 On Sun, 2002-12-08 at 20:52, Vince Vielhaber wrote:
   Why do you say that?
 
  Because of this taken from the above quoted text:
 
  they were under constant assault from their clients to use oracle or db2
 
  Last I looked neither Oracle or DB2 were open source, but they both just
  happen to be commercial and I don't see mysql mentioned.

 This is a reason to increase marketing effort.  I know the word has
 pejorative overtones in our community, but it means talking about
 PostgreSQL so that the PHBs hear about it and therefore begin to feel
 comfortable about using it.

 If something is familiar, it feels safe.  We need to make PostgreSQL
 familiar.  That's why we need marketing.

Then why wasn't mysql in the list?  It's familiar.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Oliver Elphick
On Sun, 2002-12-08 at 22:27, Vince Vielhaber wrote:
 On 8 Dec 2002, Oliver Elphick wrote:

  If something is familiar, it feels safe.  We need to make PostgreSQL
  familiar.  That's why we need marketing.
 
 Then why wasn't mysql in the list?  It's familiar.

To PHBs?

MySQL doesn't have anything like the marketing clout of Oracle and IBM. 
Be thankful it isn't in the list; it would make it a hell of a lot more
difficult to dislodge it.

If we want people to use PostgreSQL in preference to anything else, we
have to make it known.  That is marketing.  If we believe we have a good
product we need to say so and say why and how it's better, cheaper and
purer than anything else.  If there's no good marketing, bad marketing
will rule the world for sure.

If we don't care, we can retreat into a pure technological huddle and
disappear up our own navels.  The rest of the world won't even notice. 
Such purity will eventually destroy the project because it will lose the
momentum for growth through a lack of new input.  You can grow or you
can decline; a steady state is almost impossible to achieve.

-- 
Oliver Elphick[EMAIL PROTECTED]
Isle of Wight, UK http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
 
 For I am the LORD your God; ye shall therefore  
  sanctify yourselves, and ye shall be holy; for I am 
  holy.  Leviticus 11:44 


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Ned Lilly
Oliver Elphick wrote:

 If we want people to use PostgreSQL in preference to anything else, we
 have to make it known.  That is marketing.  If we believe we have a good
 product we need to say so and say why and how it's better, cheaper and
 purer than anything else.  If there's no good marketing, bad marketing
 will rule the world for sure.
 
 If we don't care, we can retreat into a pure technological huddle and
 disappear up our own navels.  The rest of the world won't even notice. 
 Such purity will eventually destroy the project because it will lose the
 momentum for growth through a lack of new input.  You can grow or you
 can decline; a steady state is almost impossible to achieve.

Couldn't agree more with that last point.

I've had the perspective of working in big companies using various database software, 
a company specifically focused on PostgreSQL (Great Bridge), and now a new ISV with 
PostgreSQL underneath a vertical application (OpenMFG).  I can tell you that even 
though the pgsql-hacker community is as strong as it's ever been, I think there's a 
serious danger of the larger world passing PostgreSQL by.

Oracle and DB2 continue to get better and - significantly - cheaper, and SQL Server 
... well, Oracle and DB2 are getting better.  MySQL, even though it's an inferior 
product for most real database work, has always had a significantly larger installed 
base than PostgreSQL- and it's less controversial for people like Sun (who have deep 
relationships with Oracle) to get involved with.  And despite the productizing of 
RHDB, Red Hat doesn't seem interested in making a real push for PostgreSQL either.  
While there are a number of smaller companies trying to help out, I think it's clear 
that the burden for helping PostgreSQL to find wider acceptance in the marketplace 
will be on the pgsql-hacker community for some time to come.

I applaud the efforts of the advocacy group, and encourage others here not to look at 
the marketing as somehow dirty or beneath the dignity of the project.

Keep up the good work,
Ned


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On 8 Dec 2002, Oliver Elphick wrote:

 On Sun, 2002-12-08 at 22:27, Vince Vielhaber wrote:
  On 8 Dec 2002, Oliver Elphick wrote:

   If something is familiar, it feels safe.  We need to make PostgreSQL
   familiar.  That's why we need marketing.
 
  Then why wasn't mysql in the list?  It's familiar.

 To PHBs?

I would argue yes.  Everywhere you turn you see Powered by MySQL.
If years of working on it isn't getting them the familiarity to overcome
the PHBs then the PHBs are either not considering open source or the
marketing attempts aren't strong or capable enough to penetrate.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Robert Treat
On Sunday 08 December 2002 06:14 pm, Vince Vielhaber wrote:
 On 8 Dec 2002, Oliver Elphick wrote:
  On Sun, 2002-12-08 at 22:27, Vince Vielhaber wrote:
   On 8 Dec 2002, Oliver Elphick wrote:
If something is familiar, it feels safe.  We need to make PostgreSQL
familiar.  That's why we need marketing.
  
   Then why wasn't mysql in the list?  It's familiar.
 
  To PHBs?

 I would argue yes.  Everywhere you turn you see Powered by MySQL.
 If years of working on it isn't getting them the familiarity to overcome
 the PHBs then the PHBs are either not considering open source or the
 marketing attempts aren't strong or capable enough to penetrate.


I don't think mysql has penetrated the enterprise class/ mission critical 
mindest, which is the level our service had to be provided that.  To be 
honest, it was tough to argue PostgreSQL belonged in that group, though we 
had a good 2 years worth of history in actually running the business on 
PostgreSQL which couldn't be dismissed.  Of course, some of these companies 
weren't too happy things were running on linux, and not aix or solaris; are 
we seeing a pointy haired trend here?  Personally I never understood why our 
sales guys didn't just tell them ok we'll port the service to oracle/solaris 
for you, but it's going to cost you at least twice what it does now, if not 
three times. Oh, and you won't see any better performance.

Robert Treat


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Robert Treat
On Saturday 07 December 2002 11:10 pm, Vince Vielhaber wrote:
 On 5 Dec 2002, Robert Treat wrote:
  On Thu, 2002-12-05 at 03:28, Dave Page wrote:
   www is a closed group consisting of a few of us who actually do the
   work on the sites.
 
  This is one of the primary reasons the sites are so fractured. We have 4
  different mailing lists for website development (and I'm not counting
  advocacy as one of those) and the folks maintaining those lists seem to
  be against letting anyone into their fiefdoms.

 Well we told you a few times which list you were supposed to subscribe
 to but over and over again you didn't.  I just finished approving your
 subscription to the list we've been telling you to join.


And I have multiple subscription denied  emails from lists I've tried to 
join.  In fact I was just rejected again from joining pgsql-www.  Given that 
I'm one of the few people who have actually donated content and/or code to 
techdocs, advocacy, and the new portal site; not to mention I already have 
shell access for the backend servers; also not to mention my helping out with 
the sourceforge PostgreSQL project page; and finally not to mention  my solid 
open source background which includes coding for the phpPgAdmin project and 
work as a php foundry administrator for sourceforge, among other projects; I 
have to ask what the hell could be so secretive and important about that list 
that people would complain about lack of communication and yet I can't be 
allowed access to that group?!?

Robert Treat

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Vince Vielhaber
On Sun, 8 Dec 2002, Robert Treat wrote:

 On Saturday 07 December 2002 11:10 pm, Vince Vielhaber wrote:
  On 5 Dec 2002, Robert Treat wrote:
   On Thu, 2002-12-05 at 03:28, Dave Page wrote:
www is a closed group consisting of a few of us who actually do the
work on the sites.
  
   This is one of the primary reasons the sites are so fractured. We have 4
   different mailing lists for website development (and I'm not counting
   advocacy as one of those) and the folks maintaining those lists seem to
   be against letting anyone into their fiefdoms.
 
  Well we told you a few times which list you were supposed to subscribe
  to but over and over again you didn't.  I just finished approving your
  subscription to the list we've been telling you to join.
 

 And I have multiple subscription denied  emails from lists I've tried to
 join.  In fact I was just rejected again from joining pgsql-www.  Given that
 I'm one of the few people who have actually donated content and/or code to
 techdocs, advocacy, and the new portal site; not to mention I already have
 shell access for the backend servers; also not to mention my helping out with
 the sourceforge PostgreSQL project page; and finally not to mention  my solid
 open source background which includes coding for the phpPgAdmin project and
 work as a php foundry administrator for sourceforge, among other projects; I
 have to ask what the hell could be so secretive and important about that list
 that people would complain about lack of communication and yet I can't be
 allowed access to that group?!?

Exactly, and pgsql-www is the wrong goddam list!  I've told you over
and over again.  pgsql-www is the list that the group leaders use to
collaborate.  Over and over again we told you to join pgsql-www-main,
which is an invitation only list for development of the soon to be
released portal.

I'm the one that approves or denies the subscriptions to BOTH of those
lists and the first time I denied you I sent you a note telling you
not only why I denied it, but which list you were SUPPOSED to join.

Vince.
-- 
 Fast, inexpensive internet service 56k and beyond!  http://www.pop4.net/
   http://www.meanstreamradio.com   http://www.unknown-artists.com
 Internet radio: It's not file sharing, it's just radio.


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Robert Treat
On Sunday 08 December 2002 11:32 pm, Vince Vielhaber wrote:
 Exactly, and pgsql-www is the wrong goddam list!  I've told you over
 and over again.  pgsql-www is the list that the group leaders use to
 collaborate.  

And a fine job of collaboration you're doing *obviously*

 Over and over again we told you to join pgsql-www-main,
 which is an invitation only list for development of the soon to be
 released portal.

 I'm the one that approves or denies the subscriptions to BOTH of those
 lists and the first time I denied you I sent you a note telling you
 not only why I denied it, but which list you were SUPPOSED to join.


fiefdoms!!

Robert Treat




---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-08 Thread Josh Berkus
Vince, Peter:

I can definitely understand someone not wanting to *participate* in
marketing/advocacy of PostgreSQL.  However, your being opposed to
promoting PostgreSQL as an organized activity *at all* baffles me.  How
can you be against promoting PostgreSQL?   Don't you want poeple to use
your code?

For me, it's not just a matter of preference, but of necessity; if
Postgres becomes obscure, I stop being able to participate in the
project.  While there are people on this list who are fortunate enough
to be able to code whatever they want and still get paid, for a lot of
people, our participation hinges on the cycle:

Postgres Users -- Postgres Contracts -- Postgres Jobs -- Postgres
Contributors -- Improvement *and Promotion* of Postgres -- Postgres
Users ...

The Promotion part of that step is *not* dispensable; all of the best
features in the world are not going to expand the Postgres commmunity
if people haven't heard of it, can't find it, and know a lot more about
MySQL anyway.   While this may not be true for everybody, some of us
have clients or bosses who do read trade periodicals and demand that we
follow their technology reccomendations.  I already have one client
using MySQL because of MySQL's much more professional web site and
better support and better performance.

Frankly, if we blow off marketing PostgreSQL as irrelevant, we
*deserve* to get steamrollered by MySQL.  

I think it's terrific that Postgres is a real, programmer-centric,
democratic Open Source project.  I believe that programmers and
contributors should lead the project, and decide features and schedules
based on technical and not marketing reasons.  Nobody on the Advocacy
team is trying to take control of the project and turn it into a
dot-com.

But once Postgres has been packaged, we need to have a group making a
loud enough noise to get the world to pay attention.   I'm not asking
everyone on this list to participate, but I am asking everyone on this
list to recognize the utility of the effort.

-Josh Berkus







---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] bison error

2002-12-08 Thread bigapple
hi,
 When I check out the pgsql from cvs and I complile it,  an error occured .

dir: pgsql/src/interfaces/ecpg/preproc
bison -y -d preproc.y
erro information:
  preproc.y:5559: fatal error: maximum table size (32767) exceeded.

However, I used the source from the ftp, find preproc.c in there.  gmake will skip the
step(bison -y -d preproc.y) and succeeded.

who can tell me why?
¡¡
2002-12-09




---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] bison error

2002-12-08 Thread Neil Conway
On Mon, 2002-12-09 at 01:58, bigapple wrote:
  When I check out the pgsql from cvs and I complile it,  an error occured .
 
 dir: pgsql/src/interfaces/ecpg/preproc
 bison -y -d preproc.y
 erro information:
   preproc.y:5559: fatal error: maximum table size (32767) exceeded.

You need to use Bison 1.50 or greater, due to a limitation in previous
versions of Bison.

Cheers,

Neil
-- 
Neil Conway [EMAIL PROTECTED] || PGP Key ID: DB3C29FC




---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] bison error

2002-12-08 Thread Joe Conway
bigapple wrote:
 hi,
  When I check out the pgsql from cvs and I complile it,  an error occured .
 
 dir: pgsql/src/interfaces/ecpg/preproc
 bison -y -d preproc.y
 erro information:
   preproc.y:5559: fatal error: maximum table size (32767) exceeded.
 

You need at least version 1.5 of bison. Last time I checked, the latest out
was 1.75

 However, I used the source from the ftp, find preproc.c in there.  gmake will skip 
the
 step(bison -y -d preproc.y) and succeeded.
 
 who can tell me why?

Source distributions contain preprocessed files so that you can compile
PostgreSQL without needing bison installed. I think you only need bison if you
get source code from CVS (or want to hack the grammar in the source distribution).

HTH,

Joe


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly