Thread: PostgreSQL in the press again

PostgreSQL in the press again

From
Simon Riggs
Date:
I've just been contacted by ZDnet again for a few more details relating
to a story they are about to run (today!...) about PostgreSQL reference
sites. They have quotes from a number of them.... one of which is, I
believe, the Oxford University Computing Centre.

I have been asked about why there is no single preferred Replication
Solution etc...; I said it was the nature of the development community
that many ideas are allowed out at once.

Many people ask this, so let's chew it out now ahead of the 8.0
release... I've got better things to do too, but I keep getting asked,
so I want to have a full steer... we probably need a press FAQ for the
release: this is No.1

"So which one would you choose?" My personal answer was that IMHO Slony
seems to have the most community support and is the one I would choose
to use.

Flame on...

--
Best Regards, Simon Riggs


Re: PostgreSQL in the press again

From
Robert Bernier
Date:
At the risk of making dire enemies I vote for SLONY :-)

On November 9, 2004 10:47 am, Simon Riggs wrote:
> I've just been contacted by ZDnet again for a few more details relating
> to a story they are about to run (today!...) about PostgreSQL reference
> sites. They have quotes from a number of them.... one of which is, I
> believe, the Oxford University Computing Centre.
>
> I have been asked about why there is no single preferred Replication
> Solution etc...; I said it was the nature of the development community
> that many ideas are allowed out at once.
>
> Many people ask this, so let's chew it out now ahead of the 8.0
> release... I've got better things to do too, but I keep getting asked,
> so I want to have a full steer... we probably need a press FAQ for the
> release: this is No.1
>
> "So which one would you choose?" My personal answer was that IMHO Slony
> seems to have the most community support and is the one I would choose
> to use.
>
> Flame on...

Re: PostgreSQL in the press again

From
Peter Eisentraut
Date:
Am Dienstag, 9. November 2004 16:47 schrieb Simon Riggs:
> I have been asked about why there is no single preferred Replication
> Solution etc...; I said it was the nature of the development community
> that many ideas are allowed out at once.

What are the other solutions?

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Tue, Nov 09, 2004 at 03:47:48PM +0000, Simon Riggs wrote:
> I have been asked about why there is no single preferred Replication
> Solution etc...; I said it was the nature of the development community
> that many ideas are allowed out at once.

I don't know that this is the only reason.  Both Oracle and IBM will
sell you more than one thing when you go to them asking for
replication.  That's because there are different needs, and one has
to have systems which support those needs.  I doubt that a single
system would really be able to accommodate every scenario.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
A certain description of men are for getting out of debt, yet are
against all taxes for raising money to pay it off.
        --Alexander Hamilton

Re: PostgreSQL in the press again

From
Simon Riggs
Date:
On Tue, 2004-11-09 at 17:04, Andrew Sullivan wrote:
> On Tue, Nov 09, 2004 at 03:47:48PM +0000, Simon Riggs wrote:
> > I have been asked about why there is no single preferred Replication
> > Solution etc...; I said it was the nature of the development community
> > that many ideas are allowed out at once.
>
> I don't know that this is the only reason.

Completely agree, but knowing I would be quoted, I had to say something
and didn't want to upset too many applecarts.

This post is all about: "so what do we say then?"

--
Best Regards, Simon Riggs


Re: PostgreSQL in the press again

From
Christopher Browne
Date:
A long time ago, in a galaxy far, far away, peter_e@gmx.net (Peter Eisentraut) wrote:
> Am Dienstag, 9. November 2004 16:47 schrieb Simon Riggs:
>> I have been asked about why there is no single preferred Replication
>> Solution etc...; I said it was the nature of the development community
>> that many ideas are allowed out at once.
>
> What are the other solutions?

Mammoth Replicator, and whatever is happening with eRServer these
days...
--
"cbbrowne","@","acm.org"
http://www.ntlug.org/~cbbrowne/advocacy.html
"The day Microsoft  makes something that doesn't suck  is probably the
day they start making vacuum cleaners" - Ernst Jan Plugge

Re: PostgreSQL in the press again

From
Simon Riggs
Date:
On Tue, 2004-11-09 at 16:33, Peter Eisentraut wrote:
> Am Dienstag, 9. November 2004 16:47 schrieb Simon Riggs:
> > I have been asked about why there is no single preferred Replication
> > Solution etc...; I said it was the nature of the development community
> > that many ideas are allowed out at once.
>
> What are the other solutions?

The press release additional information says

Replication:
    Slony-I
    pgReplicator
    eRServer

...though there are I think 2? other web pages/codesets out there that
claim to work with PostgreSQL also..

--
Best Regards, Simon Riggs


Re: PostgreSQL in the press again

From
Josh Berkus
Date:
Guys,

> > What are the other solutions?
>
> Mammoth Replicator, and whatever is happening with eRServer these
> days...

dbMirror is still quite popular.   This is partly because it is better suited
for "very slow replication", e.g. replication via FTP server once per day, a
la MusicBrainz.

Both pgPool and C-JDBC offer synchronous query distribution based MM
replication, although at the present time neither is transaction-safe.  When
we get XA, C-JDBC will become a very viable alternative.

The issue talking with the press is that you need to communicate to them that
"Replication" is a general programming topic, and NOT a single task, just
like "database" is.    Nobody in the industry would expect to use the same
database for all purposes; neither would anyone expect to use the same
replication tool for all purposes.   The reason you get this question all the
time is:
1) Many DBMSs (SQL Server, MySQL) support only one replication tool;
2) reporters have no clear idea what "replication" is.

Personally, I'd answer:

"Slony-I is undoubtedly our most popular replication tool.   It supports
Master-Slave High Availability Replication.   However, there are a number of
other solutions, such as dbMirror, eRServer, pgPool, C-JDBC, and the
proprietary Mammoth Replicator, all of which are in wide use because they
solve different replication problems than Slony-I does.  Replication is not a
single solution for a single problem; it is several solutions for a wide
array of different problems.  That's why no one replication tool will ever be
the "default" replication for PostgreSQL."

--
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Andrew,
> ... That's because there are different needs, and one has
> to have systems which support those needs.  I doubt that a single
> system would really be able to accommodate every scenario.
>
I've seen this argument several times and it always prevents Slony and
other replication solutions from being mentioned. My suggestion is that
the scenarios are outlined (there can't be that many, 2-4 perhaps?)
together with the corresponding preferred solution.

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Tue, 9 Nov 2004, Josh Berkus wrote:

> Guys,
>
>>> What are the other solutions?
>>
>> Mammoth Replicator, and whatever is happening with eRServer these
>> days...
>
> dbMirror is still quite popular.   This is partly because it is better suited
> for "very slow replication", e.g. replication via FTP server once per day, a
> la MusicBrainz.
>
> Both pgPool and C-JDBC offer synchronous query distribution based MM
> replication, although at the present time neither is transaction-safe.  When
> we get XA, C-JDBC will become a very viable alternative.
>
> The issue talking with the press is that you need to communicate to them that
> "Replication" is a general programming topic, and NOT a single task, just
> like "database" is.    Nobody in the industry would expect to use the same
> database for all purposes; neither would anyone expect to use the same
> replication tool for all purposes.   The reason you get this question all the
> time is:
> 1) Many DBMSs (SQL Server, MySQL) support only one replication tool;
> 2) reporters have no clear idea what "replication" is.
>
> Personally, I'd answer:
>
> "Slony-I is undoubtedly our most popular replication tool.   It supports
> Master-Slave High Availability Replication.   However, there are a number of
> other solutions, such as dbMirror, eRServer, pgPool, C-JDBC, and the
> proprietary Mammoth Replicator, all of which are in wide use because they
> solve different replication problems than Slony-I does.  Replication is not a
> single solution for a single problem; it is several solutions for a wide
> array of different problems.  That's why no one replication tool will ever be
> the "default" replication for PostgreSQL."

This answer almost sounds perfect for inclusion into the FAQ itself ...

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Marc,
> This answer almost sounds perfect for inclusion into the FAQ itself ...
>
Yes, this was excellent. The "I'd answer" part is great for the less
technical audience and a reduced version (retaining the very brief
explanation of each solution) of the full text for the FAQ.

Regards,
Thomas Hallgren


Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Tue, Nov 09, 2004 at 07:54:14PM +0100, Thomas Hallgren wrote:

> I've seen this argument several times and it always prevents Slony and
> other replication solutions from being mentioned. My suggestion is that
> the scenarios are outlined (there can't be that many, 2-4 perhaps?)
> together with the corresponding preferred solution.

Well, see Josh's excellent response in this thread, also.  I can
think of at least three scenarios:

1.    Only one read-write database (or, more precisely, one per
table) with (possibly multiple) read-only copy(ies).  Most of the
systems meet this need.  Mammoth's Replicator, erserver, Slony-I,
dbmirror will all do this.  Some of them do it with greater
flexibility than others: the BSD version of erserver is a fair pain
in the neck to administer, for instance.  Each has some features
which may work for particular installations.  Slony-I, for intstance,
currently requires superuser access on all nodes, and that all nodes
talk to one another.  For connections to untrusted sites, then,
Slony-I would be an exceptionally bad choice.  It also has pretty
awkward support for DDL, on the grounds that your code shouldn't add
and remove tables as a matter of course (because, as Jan argues,
that's akin to self-modifying code).  If you have an application
which depends on the adding and removing of tables as part of regular
operation, some other approach will be better for you.

2.    One read-write database (per table) with untrusted target
replicas.  This is a nifty extension of dbmirror that came from the
bright folks at MusicBrainz.

3.    Multi-master, with possible loss of transactions in one node
or another.  Some applications can tolerate the odd lost transaction,
as long as there is _some_ system that has the data.  Current
offerings of C-JDBC and pg_pool can provide this.

4.    True multi-master, with transactional semantics across all
nodes.  This one is currently planned, but not available anywhere.
Jan is working on an implementation; the Postgres-R project has a
proof of concept which currently doesn't offer all the features.

Does that help?

A



--
Andrew Sullivan  | ajs@crankycanuck.ca
The plural of anecdote is not data.
        --Roger Brinner

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
>>
>>"So which one would you choose?" My personal answer was that IMHO Slony
>>seems to have the most community support and is the one I would choose
>>to use.
>>
>>Flame on...

I don't think it really matters. We should just mention the ones that
are known to be heavily supported and active in development.

Slony-I
Mammoth Replicator
DbMirror?

possibly cjdbc, pgpool?

Sincerely,

Joshua D. Drake




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


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
"Roderick A. Anderson"
Date:
On Tue, 9 Nov 2004, Simon Riggs wrote:

> I have been asked about why there is no single preferred Replication
> Solution etc...; I said it was the nature of the development community
> that many ideas are allowed out at once.
>
> Many people ask this, so let's chew it out now ahead of the 8.0
> release... I've got better things to do too, but I keep getting asked,
> so I want to have a full steer... we probably need a press FAQ for the
> release: this is No.1

Well up here in the Inland Northwest (USA) we suffer a quandry about
pickup trucks.  Full/mid/mini size, 2/4 wheel drive, Chevy/Dodge/Ford/
Toyota/etc.

> "So which one would you choose?" My personal answer was that IMHO Slony
> seems to have the most community support and is the one I would choose
> to use.

I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong question.
:-)


Rod
--
    "Open Source Software - You usually get more than you pay for..."
     "Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL"



Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
>
>
> I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong question.
> :-)

OT but I can't resist... BAH full size 2 wheel Chevy? I got a F250 with
a 460 in it buddy. Get a real truck ;)

Of course it only gets 14 miles to the gallon and I only drive it about
once every 6 weeks to take stuff to the dump :)

Sincerely,

Joshua D. Drake

>
>
> Rod


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Tue, 9 Nov 2004, Joshua D. Drake wrote:

>>>
>>> "So which one would you choose?" My personal answer was that IMHO Slony
>>> seems to have the most community support and is the one I would choose
>>> to use.
>>>
>>> Flame on...
>
> I don't think it really matters. We should just mention the ones that
> are known to be heavily supported and active in development.
>
> Slony-I
> Mammoth Replicator
> DbMirror?

eRServer

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Tue, 9 Nov 2004, Christopher Browne wrote:

> A long time ago, in a galaxy far, far away, peter_e@gmx.net (Peter Eisentraut) wrote:
>> Am Dienstag, 9. November 2004 16:47 schrieb Simon Riggs:
>>> I have been asked about why there is no single preferred Replication
>>> Solution etc...; I said it was the nature of the development community
>>> that many ideas are allowed out at once.
>>
>> What are the other solutions?
>
> Mammoth Replicator, and whatever is happening with eRServer these
> days...

eRServer is in the middle of a re-write and code review ... the old
version works well for our clients, but the system requirements grew to be
a *wee* bit larger then we wanted ...

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Andrew Sullivan wrote:
>
> ... does that help?
>
Ok, so to abbreviate what you and Josh writes into what I had in mind
(??? denotes my own lack of further knowledge):

Master + read-only slaves:
  - Slony-I when all sites are trusted
  - dbMirror for untrusted slaves and/or table based master slave assignment
  - Mammoth Replicator, proprietary ???
  - erServer ???

Multi-master:
  - C-JDBC, Will be transaction safe once PostgreSQL has XA
  - pgPool, not transaction safe ???
(- future, the stuff Jan is working on and Postgres-R)

Perhaps some info about which solutions that are PostgreSQL specific and
which are database agnostic should be added.

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Tue, Nov 09, 2004 at 09:13:00PM +0100, Thomas Hallgren wrote:
>
> Master + read-only slaves:
>  - Slony-I when all sites are trusted
>  - dbMirror for untrusted slaves and/or table based master slave assignment

You can do the table-based trick with Slony, too.  In fact, AFAIK,
you can do it with every async system.

>  - erServer ???

I don't know if anyone is stepping up to take over the BSD version,
but as far as I'm concerned, it's a dead letter.  I know there is
some development going on  with it at PgSQL, Inc, though.

>  - C-JDBC, Will be transaction safe once PostgreSQL has XA
>  - pgPool, not transaction safe ???

I think the latter would be, too, if Pg had XA.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
The fact that technology doesn't work is no bar to success in the marketplace.
        --Philip Greenspun

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
Thomas Hallgren wrote:
> Andrew Sullivan wrote:
>
>>
>> ... does that help?
>>
> Ok, so to abbreviate what you and Josh writes into what I had in mind
> (??? denotes my own lack of further knowledge):
>
> Master + read-only slaves:
>  - Slony-I when all sites are trusted
>  - dbMirror for untrusted slaves and/or table based master slave assignment
>  - Mammoth Replicator, proprietary ???
                          proprietary, transaction safe and simple to
administer.

     OR

                          propreitary, transaction log based.


The are really only four significant differences between Slony and
Mammoth Replicator:

1. Slony is trigger based, Mammoth is transaction log based
2. Slony is batch replication (Jan what do you call this?), Mammoth is
transaction based.
3. Slony requires modification to your database schema, Mammoth does not
(outside of the mutual requirement of a unique key (Mammoth requires a
primary key).
4. Slony is Open Source, Mammoth is not.

Both support:

   1. 1 master, multiple slaves
   2. failover, promotion capabilities
   3. Neither lock the database during a full sync
   4. Both are transaction safe

Sincerely,

Joshua D. Drake


>  - erServer ???
>
> Multi-master:
>  - C-JDBC, Will be transaction safe once PostgreSQL has XA
>  - pgPool, not transaction safe ???
> (- future, the stuff Jan is working on and Postgres-R)
>
> Perhaps some info about which solutions that are PostgreSQL specific and
> which are database agnostic should be added.
>
> Regards,
> Thomas Hallgren
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>               http://archives.postgresql.org


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
Peter Eisentraut
Date:
Thomas Hallgren wrote:
> Master + read-only slaves:
>   - Slony-I when all sites are trusted
>   - dbMirror for untrusted slaves and/or table based master slave
> assignment - Mammoth Replicator, proprietary ???
>   - erServer ???

That begs the question in turn why there are so many master/slave
replication solutions.  I mean, I don't care, but this categorization
doesn't really answer the original question.

> Multi-master:
>   - C-JDBC, Will be transaction safe once PostgreSQL has XA
>   - pgPool, not transaction safe ???

These are not multimaster solutions in the sense that you can write to
any one of multiple hosts.  In a sense, they are really master/slave
solutions with the program components distributed differently.  To
write, you always have to go through one host.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: PostgreSQL in the press again

From
Simon Riggs
Date:
On Tue, 2004-11-09 at 19:00, Marc G. Fournier wrote:
> On Tue, 9 Nov 2004, Josh Berkus wrote:
>
> > Guys,
> >
> >>> What are the other solutions?
> >>
> >> Mammoth Replicator, and whatever is happening with eRServer these
> >> days...
> >
> > dbMirror is still quite popular.   This is partly because it is better suited
> > for "very slow replication", e.g. replication via FTP server once per day, a
> > la MusicBrainz.
> >
> > Both pgPool and C-JDBC offer synchronous query distribution based MM
> > replication, although at the present time neither is transaction-safe.  When
> > we get XA, C-JDBC will become a very viable alternative.
> >
> > The issue talking with the press is that you need to communicate to them that
> > "Replication" is a general programming topic, and NOT a single task, just
> > like "database" is.    Nobody in the industry would expect to use the same
> > database for all purposes; neither would anyone expect to use the same
> > replication tool for all purposes.   The reason you get this question all the
> > time is:
> > 1) Many DBMSs (SQL Server, MySQL) support only one replication tool;
> > 2) reporters have no clear idea what "replication" is.
> >
> > Personally, I'd answer:
> >
> > "Slony-I is undoubtedly our most popular replication tool.   It supports
> > Master-Slave High Availability Replication.   However, there are a number of
> > other solutions, such as dbMirror, eRServer, pgPool, C-JDBC, and the
> > proprietary Mammoth Replicator, all of which are in wide use because they
> > solve different replication problems than Slony-I does.  Replication is not a
> > single solution for a single problem; it is several solutions for a wide
> > array of different problems.  That's why no one replication tool will ever be
> > the "default" replication for PostgreSQL."
>
> This answer almost sounds perfect for inclusion into the FAQ itself ...
>

Agreed.

> That's why no one replication tool will ever be
> > the "default" replication for PostgreSQL."
>

Externally, everybody thinks that there should be just one, just like
there is for other databases. That was the feedback from various
PostgreSQL reference sites and that's why I was asked the question.

Anyway, trying to summarise these things for PR soundbites is hard and
I'll just have to put up with everybody thinking I know jack. :-)

Here's the link just now...

http://news.zdnet.co.uk/software/applications/0,39020384,39173013,00.htm

--
Best Regards, Simon Riggs


Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Tue, Nov 09, 2004 at 09:28:12PM +0000, Simon Riggs wrote:
> Externally, everybody thinks that there should be just one, just like
> there is for other databases.

I guess it's this thing that I want to understand.  Why do people
believe that?  Because other databases, where "other" are "the ones
I'd actually run important systems on" _don't_ have just one.

A


--
Andrew Sullivan  | ajs@crankycanuck.ca
I remember when computers were frustrating because they *did* exactly what
you told them to.  That actually seems sort of quaint now.
        --J.D. Baldwin

Re: PostgreSQL in the press again

From
Robert Treat
Date:
On Tuesday 09 November 2004 16:35, Andrew Sullivan wrote:
> On Tue, Nov 09, 2004 at 09:28:12PM +0000, Simon Riggs wrote:
> > Externally, everybody thinks that there should be just one, just like
> > there is for other databases.
>
> I guess it's this thing that I want to understand.  Why do people
> believe that?  Because other databases, where "other" are "the ones
> I'd actually run important systems on" _don't_ have just one.
>

1) Many of the databases that you _wouldn't_ run important systems on have
only one type of replication and they will tell you that is all you need.

2) explaining what your replication solution(s) can do invariably leads to
what it can't do, and its safer even for vendors with multiple solutions to
just drill home the message that they have replication so they can make the
sale.

--
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

Re: PostgreSQL in the press again

From
Christopher Browne
Date:
Martha Stewart called it a Good Thing when peter_e@gmx.net (Peter Eisentraut) wrote:
> Thomas Hallgren wrote:
>> Master + read-only slaves:
>>   - Slony-I when all sites are trusted
>>   - dbMirror for untrusted slaves and/or table based master slave
>> assignment - Mammoth Replicator, proprietary ???
>>   - erServer ???
>
> That begs the question in turn why there are so many master/slave
> replication solutions.  I mean, I don't care, but this
> categorization doesn't really answer the original question.

I think there are multiple answers because of the combination of:

 a) Coding before thinking, where some of the systems have been
    "hacked together" without too much forethought;

 b) Greatly varying implementation strategies.

For instance, one of the big problems we encountered with eRServer was
in its use of memory.  The "snapshot" notion it uses tends to lead to
fairly spectacular RAM consumption.  Had it gotten more design effort,
earlier on, perhaps it could have been more modest in memory usage.
That became one of the design requirements for Slony-I...

Part of the history has been that people in a rush to get some form of
replication working looked at different "parts of the elephant," and,
seeing different things, implemented different things.

If a system can get a bit more "thoughtfulness" applied to it, it may
well become forcibly preferable to the other options.

>> Multi-master:
>>   - C-JDBC, Will be transaction safe once PostgreSQL has XA
>>   - pgPool, not transaction safe ???
>
> These are not multimaster solutions in the sense that you can write
> to any one of multiple hosts.  In a sense, they are really
> master/slave solutions with the program components distributed
> differently.  To write, you always have to go through one host.

The pgpool approach is somewhat ambiguous, but you're probably right.

My expectation of a "multimaster" system is that I should be able to
fire an update at any of the 'masters' and expect it to propagate to
the rest of the databases more or less automatically.  That's not what
either XA or pgpool do.
--
(format nil "~S@~S" "cbbrowne" "acm.org")
http://www.ntlug.org/~cbbrowne/linuxdistributions.html
Rules of  the Evil Overlord  #158. "I will  exchange the labels  on my
folder of  top-secret plans and  my folder of family  recipes. Imagine
the  hero's  surprise when  he  decodes  the  stolen plans  and  finds
instructions for Grandma's Potato Salad."
<http://www.eviloverlord.com/>

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Wed, Nov 10, 2004 at 12:02:35AM -0500, Christopher Browne wrote:

> For instance, one of the big problems we encountered with eRServer was
> in its use of memory.  The "snapshot" notion it uses tends to lead to
> fairly spectacular RAM consumption.  Had it gotten more design effort,
> earlier on, perhaps it could have been more modest in memory usage.

Actually, to be fair to the original designers, that was precisely
one of their objections; but they were over-ruled by someone who
ought to have known better, but had a fixation with Java.  The folks
actually responsible for the mistake in the design did not, of
course, end up continuing work on it; but the damage was already
done.

Indeed, one of the really valuable things I learned from my
experiences with erserver was that it is even harder to revisit
version 1's poor decisions in version 2 than I'd previously believed.
It's interesting that sometimes people argue in the mainline
PostgreSQL project that getting something which delivers most of what
poeple want is better than doing nothing; and yet those arguments
often don't win, unless they come with a plan of how the "real" goal
will be achieved.  Tablespaces is a good example: there were a lot of
half-way proposals floating about, but until someone showed up with
plans that at least indicated the path to full-blown support, nothing
really happened.  I think this is a great strength of the project,
and my experience with erserver (not to mention Marc's recent comment
that they're finding the requirements for erserver a little onerous,
so they're fixing it) is an example of the reason why.

A
--
Andrew Sullivan  | ajs@crankycanuck.ca
When my information changes, I alter my conclusions.  What do you do sir?
        --attr. John Maynard Keynes

Re: PostgreSQL in the press again

From
Chris Travers
Date:
Andrew Sullivan wrote:

>On Tue, Nov 09, 2004 at 09:28:12PM +0000, Simon Riggs wrote:
>
>
>>Externally, everybody thinks that there should be just one, just like
>>there is for other databases.
>>
>>
>
>I guess it's this thing that I want to understand.  Why do people
>believe that?  Because other databases, where "other" are "the ones
>I'd actually run important systems on" _don't_ have just one.
>
>A
>
>
>
>
I don;t think it is really an issue of having just one supported
replication system.  It is a different issue that people don't really
internalize well enough to talk about.  It is, IMO, the fact that these
other systems (MS SQL, Oracle, etc) have replication systems through the
same vendor as the software itself.

Now I realize that Mommoth PostgreSQL is available from the same vendor
that offros Mommoth Replicator.  But in the eyes of the customer Mammoth
and PostgreSQL are not identical.  Therefore they are afraid of having
one vendor tell them that the problem exists with another third-party
product.  This reaction that add-ons are somewhat inferior to solutions
offered from the same source then leads people to say "PostgreSQL
doesn't have replication!"  MS SQL has at least 2 forms of replication,
PostgreSQL doesn't have any in this view.

What we need to do to counter this perception is advertise the fact that
many of these replication systems are developed by core community
members and/or developers, and some of them are quite mature.  Some,
like dbmirror, have a history of being included in the source release,
even.  We need to advertise these things.  Yes, the following projects
had involvement by members of our core team....  The following
projects/products have great commercial support....  The following
products/projects are widely used in the community....

As a community, obviously our focus will be on open source solutions,
but I have no problem with such a document pointing to commercial
products from time to time in order to show that we as a community
endorse solutions to this problem.  (Regarding commercial Win32 ports, I
am not opposed to having a "commercial ports" list available either.)
Yes, this opens a can of worms, but it solves another bigger problem
(perception by potential customers and the press).

It might not be a bad idea for a collaborative effort to be used to
write a faq solely on replication options available.

Best Wishes,
Chris Travers
Metatron Technology Consulting

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
> Now I realize that Mommoth PostgreSQL is available from the same vendor
> that offros Mommoth Replicator.
 > But in the eyes of the customer Mammoth
> and PostgreSQL are not identical.

This is actually something we are working on. Command Prompt over the
last 6 months or so has been trying to reidentify Mammoth PostgreSQL as:

PostgreSQL + Replication

Because, except for the compression features the only difference between
Mammoth and PostgreSQL proper is the replication. The compression
features are being prepped to be push to patches for review for 8.1.


Therefore they are afraid of having
> one vendor tell them that the problem exists with another third-party
> product.  This reaction that add-ons are somewhat inferior to solutions
> offered from the same source then leads people to say "PostgreSQL
> doesn't have replication!"  MS SQL has at least 2 forms of replication,
> PostgreSQL doesn't have any in this view.

Well I think that part of that is that PostgreSQL doesn't say it has
replication, when it clearly does. A look at the features list:

http://www.postgresql.org/users-lounge/features.html

Shows no such mention of replication. It should plain as day say:

Replication:

   Available via Slony-I, and Replicator (or any others we see fit).

Considering that google brings that page up first if you type in
postgresql features...

> What we need to do to counter this perception is advertise the fact that
> many of these replication systems are developed by core community
> members and/or developers, and some of them are quite mature.  Some,
> like dbmirror, have a history of being included in the source release,
> even.  We need to advertise these things.  Yes, the following projects
> had involvement by members of our core team....  The following
> projects/products have great commercial support....  The following
> products/projects are widely used in the community....

Errr... doh to me, read above ;)


Sincerely,

Joshua D. Drake


>
> As a community, obviously our focus will be on open source solutions,
> but I have no problem with such a document pointing to commercial
> products from time to time in order to show that we as a community
> endorse solutions to this problem.  (Regarding commercial Win32 ports, I
> am not opposed to having a "commercial ports" list available either.)
> Yes, this opens a can of worms, but it solves another bigger problem
> (perception by potential customers and the press).
>
> It might not be a bad idea for a collaborative effort to be used to
> write a faq solely on replication options available.
>
> Best Wishes,
> Chris Travers
> Metatron Technology Consulting
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Wed, Nov 10, 2004 at 10:34:57AM -0800, Chris Travers wrote:

> internalize well enough to talk about.  It is, IMO, the fact that these
> other systems (MS SQL, Oracle, etc) have replication systems through the
> same vendor as the software itself.

I have two, inconsistent responses to this line.

1.    Free software just _isn't_ commercial software.  Companies
that are going to approach free software like commercial software are
going to fail in their use of it.  (In my opinion, most cases of
using commercial software according to the commercial
license-and-support model are _also_ failures, but I'll spare y'all
that rant today.)  You simply need to understand how the community
works if you're going to get any sort of reasonable experience with
Postgres, or *BSD, or Linux, or even gnumeric.  If you expect the
sort of experience you have when running Windows or Oracle, then
you're doomed.  This is an advantage, but also a disadvantage.  That
I can ask the developer who wrote a bit of code why it works the way
it does is great, but it also imposes on me a requirement that I have
something approaching a clue when I ask, lest I get a pretty frosty
reception.  The point of customer service in a tech company is, after
all, not only to avoid giving the customer the frosty reception, but
also to protect the actual techies from endless series of
didn't-read-the-fine-manual questions.

2.    If it's that important, then there's money to be made in the
ISV role, and someone should (continue to -- some people already are)
do it.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
In the future this spectacle of the middle classes shocking the avant-
garde will probably become the textbook definition of Postmodernism.
                --Brad Holland

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
> I have two, inconsistent responses to this line.
>
> 1.    Free software just _isn't_ commercial software.

I don't agree with this. Free software is an ideology and has nothing
to do with wether or not it is commercial. You can have commercial
Free Software. Red Hat is commercial Free Software as is SuSE or JBoss.

Commerical:
    Of or relating to Commerce.

It has nothing to do with wether or not their is a fix product cost or
not. With free software, the product cost is wrapped into the support
and services.

Sincerely,

Joshua D. Drake



  Companies
> that are going to approach free software like commercial software are
> going to fail in their use of it.  (In my opinion, most cases of
> using commercial software according to the commercial
> license-and-support model are _also_ failures, but I'll spare y'all
> that rant today.)  You simply need to understand how the community
> works if you're going to get any sort of reasonable experience with
> Postgres, or *BSD, or Linux, or even gnumeric.  If you expect the
> sort of experience you have when running Windows or Oracle, then
> you're doomed.  This is an advantage, but also a disadvantage.  That
> I can ask the developer who wrote a bit of code why it works the way
> it does is great, but it also imposes on me a requirement that I have
> something approaching a clue when I ask, lest I get a pretty frosty
> reception.  The point of customer service in a tech company is, after
> all, not only to avoid giving the customer the frosty reception, but
> also to protect the actual techies from endless series of
> didn't-read-the-fine-manual questions.
>
> 2.    If it's that important, then there's money to be made in the
> ISV role, and someone should (continue to -- some people already are)
> do it.
>
> A
>


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Wed, Nov 10, 2004 at 11:03:10AM -0800, Joshua D. Drake wrote:
> I don't agree with this. Free software is an ideology and has nothing
> to do with wether or not it is commercial. You can have commercial
> Free Software. Red Hat is commercial Free Software as is SuSE or JBoss.

But my experience as a consumer of all of those very products has
not been what my experience of real commercial products has been.
And as I say, that cuts both ways.  (I agree that the terminology is
probably considerably less good.  Something more neutral would be
helpful.  I don't find "Open Source" any more neutral, BTW, mostly
because of the bombs that get thrown over these terms.)

A


--
Andrew Sullivan  | ajs@crankycanuck.ca
The fact that technology doesn't work is no bar to success in the marketplace.
        --Philip Greenspun

Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/10/2004 12:02 AM, Christopher Browne wrote:

> Martha Stewart called it a Good Thing when peter_e@gmx.net (Peter Eisentraut) wrote:
>> Thomas Hallgren wrote:
>>> Master + read-only slaves:
>>>   - Slony-I when all sites are trusted
>>>   - dbMirror for untrusted slaves and/or table based master slave
>>> assignment - Mammoth Replicator, proprietary ???
>>>   - erServer ???
>>
>> That begs the question in turn why there are so many master/slave
>> replication solutions.  I mean, I don't care, but this
>> categorization doesn't really answer the original question.
>
> I think there are multiple answers because of the combination of:
>
>  a) Coding before thinking, where some of the systems have been
>     "hacked together" without too much forethought;
>
>  b) Greatly varying implementation strategies.
>
> For instance, one of the big problems we encountered with eRServer was
> in its use of memory.  The "snapshot" notion it uses tends to lead to
> fairly spectacular RAM consumption.  Had it gotten more design effort,
> earlier on, perhaps it could have been more modest in memory usage.
> That became one of the design requirements for Slony-I...

To be fair, that isn't really a fault of the initial design. The way it
was redone in JAVA moved the temporary files used by Vadim's Perl stuff
into the RAM. If the JAVA version would be able to spill to disk it
would be no issue at all.

>
> Part of the history has been that people in a rush to get some form of
> replication working looked at different "parts of the elephant," and,
> seeing different things, implemented different things.
>
> If a system can get a bit more "thoughtfulness" applied to it, it may
> well become forcibly preferable to the other options.
>
>>> Multi-master:
>>>   - C-JDBC, Will be transaction safe once PostgreSQL has XA
>>>   - pgPool, not transaction safe ???
>>
>> These are not multimaster solutions in the sense that you can write
>> to any one of multiple hosts.  In a sense, they are really
>> master/slave solutions with the program components distributed
>> differently.  To write, you always have to go through one host.
>
> The pgpool approach is somewhat ambiguous, but you're probably right.

Pgpool is no multimaster. It is an approach of query duplication done by
a connection proxy, which has next to no tolerance for a single server
aborting a transaction during commit. You would lose that node and have
to rebuild it from scratch during a downtime of the whole cluster.

The only "working" multimaster system I have seen so far is pgcluster. I
don't know if Mitani would be happy with us advertising it at this time
though.


>
> My expectation of a "multimaster" system is that I should be able to
> fire an update at any of the 'masters' and expect it to propagate to
> the rest of the databases more or less automatically.  That's not what
> either XA or pgpool do.

... that among other things. I also expect that I can get a crashed or
otherwise lost node back into the group without interruption. And that I
can add new nodes from scratch without that as well. And, and, and.

The reason why we have so many replication solutions is that most of
them look like they have been developed like "let's not worry about all
the problems now ... get some data replicating first". And that is
almost a guarantee never to get all those "other features" implemented
at all, since the choices made early on don't inherit the capabilities
if you haven't considered them.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
Simon Riggs
Date:
On Tue, 2004-11-09 at 21:35, Andrew Sullivan wrote:
> On Tue, Nov 09, 2004 at 09:28:12PM +0000, Simon Riggs wrote:
> > Externally, everybody thinks that there should be just one, just like
> > there is for other databases.
>
> I guess it's this thing that I want to understand.  Why do people
> believe that?

I try not to ask "why" people believe what they do. It's usually makes
no sense.

> Because other databases, where "other" are "the ones
> I'd actually run important systems on" _don't_ have just one.

OK. I guess the big O have RAC, Data Guard, ASD, Advanced Replication,
Streams...

The perception is there though: O Replication

Perhaps we should refer to PostgreSQL methods like this...
HA        Slony
Replication    eRserver
Log Shipping    PITR
Load Balancing    pgpool

That would do it-ish

--
Best Regards, Simon Riggs


Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/9/2004 2:39 PM, Roderick A. Anderson wrote:

> I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong question.
> :-)

Having a 4 wheel drive let's you get stuck in more inaccessable places.

:-)


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
Jan Wieck wrote:
> On 11/9/2004 2:39 PM, Roderick A. Anderson wrote:
>
>> I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong
>> question.  :-)
>
>
> Having a 4 wheel drive let's you get stuck in more inaccessable places.

That is definately the truth :)

>
> :-)
>
>
> Jan
>


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
"Merlin Moncure"
Date:
> Perhaps we should refer to PostgreSQL methods like this...
> HA        Slony
> Replication    eRserver
> Log Shipping    PITR
> Load Balancing    pgpool
>
> That would do it-ish

Where would clusgres by LinuxLabs fit in?
http://www.linuxlabs.com/clusgres.html

It's commercial and only runs on their specially designed hardware, but
it might be worth a mention.

Merlin


Re: PostgreSQL in the press again

From
Josh Berkus
Date:
Merlin,

> Where would clusgres by LinuxLabs fit in?

In "Vaporware", unless you know something I don't.

--
Josh Berkus
Aglio Database Solutions
San Francisco

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Jan,
> To be fair, that isn't really a fault of the initial design. The way it
> was redone in JAVA moved the temporary files used by Vadim's Perl stuff
> into the RAM. If the JAVA version would be able to spill to disk it
> would be no issue at all.
>
I'm sure you didn't capitalize Java to indicate that it in some way
incured this design flaw ;-)

Just kidding...

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/11/2004 12:14 PM, Joshua D. Drake wrote:

> Jan Wieck wrote:
>> On 11/9/2004 2:39 PM, Roderick A. Anderson wrote:
>>
>>> I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong
>>> question.  :-)
>>
>>
>> Having a 4 wheel drive let's you get stuck in more inaccessable places.
>
> That is definately the truth :)

The best one I had (so far) was around Xmas time, in a remote State Park
in Maine, couple miles from the next village and out of cellphone
reception. Nobody knew we were out there and the sun was approaching the
horizon. Took a scary moment to get the Jeep rolling on snow again. Real
Jeepers allways have a shovel in the trunk.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
Robert Bernier (by way of Robert Bernier
Date:
On November 10, 2004 05:55 pm, Jan Wieck wrote:
> On 11/9/2004 2:39 PM, Roderick A. Anderson wrote:
> > I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong question.
> >
> > :-)
>
> Having a 4 wheel drive let's you get stuck in more inaccessable places.

Actually I've had a lot of fun watching trendy tourists with their 4 wheel
 drive SUV's spin out of control on icy mountain roads because they
 overestimate what their $50,000 vehicles can do.

--
Robert Bernier
        PostgreSQL Business Intelligence Analyst,
                SRA AMERICA (Formerly of One WTC)
                Consulting, PostgreSQL Services & PowerGres on Windows
                One Penn Plaza, Suite 1910
                New York, NY 10119

                Tel:  212.244.8833

Re: PostgreSQL in the press again

From
Robert Bernier
Date:
On November 10, 2004 05:55 pm, Jan Wieck wrote:
> On 11/9/2004 2:39 PM, Roderick A. Anderson wrote:
> > I prefer a full size, 2 wheel drive, Chevy ...  Oh darn wrong question.
> >
> > :-)
>
> Having a 4 wheel drive let's you get stuck in more inaccessable places.

Actually I've had a lot of fun watching trendy tourists with their 4 wheel drive SUV's spin out of control on icy
mountainroads because they overestimate what their $50,000 vehicles can do. 

--
Robert Bernier
        PostgreSQL Business Intelligence Analyst,
                SRA AMERICA (Formerly of One WTC)
                Consulting, PostgreSQL Services & PowerGres on Windows
                One Penn Plaza, Suite 1910
                New York, NY 10119

                Tel:  212.244.8833

Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/11/2004 2:22 PM, Thomas Hallgren wrote:

> Jan,
>> To be fair, that isn't really a fault of the initial design. The way it
>> was redone in JAVA moved the temporary files used by Vadim's Perl stuff
>> into the RAM. If the JAVA version would be able to spill to disk it
>> would be no issue at all.
>>
> I'm sure you didn't capitalize Java to indicate that it in some way
> incured this design flaw ;-)
>
> Just kidding...

It is never the fault of a programming language per se. People with a
good understanding of object design will write "object oriented code" in
every language, even assembler. People who just don't know what they are
doing will write bad code, and the best Pascal compiler in the world
won't be able to prevent that.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
>
> It is never the fault of a programming language per se. People with a
> good understanding of object design will write "object oriented code"
> in every language, even assembler. People who just don't know what
> they are doing will write bad code, and the best Pascal compiler in
> the world won't be able to prevent that.

Yes but I believe even you would agree that their are programming
languages that are better for certain tasks than others. The use of java
as a replication engine for PostgreSQL seems, well... incorrect.

Sincerely,

Joshua D. Drake



>
>
> Jan
>


--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
PostgreSQL Replicator -- production quality replication for PostgreSQL


Attachment

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Sat, 13 Nov 2004, Joshua D. Drake wrote:

>
>>
>> It is never the fault of a programming language per se. People with a good
>> understanding of object design will write "object oriented code" in every
>> language, even assembler. People who just don't know what they are doing
>> will write bad code, and the best Pascal compiler in the world won't be
>> able to prevent that.
>
> Yes but I believe even you would agree that their are programming languages
> that are better for certain tasks than others. The use of java as a
> replication engine for PostgreSQL seems, well... incorrect.

We definitely concur with that, which is why we are re-writing it ...
going to Java, as Andrew has mentioned, was *not* a design decision that
we made, but was made for us :(

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Joshua D. Drake wrote:
 > Yes but I believe even you would agree that their are programming
 > languages that are better for certain tasks than others. The use of
 > java as a replication engine for PostgreSQL seems, well... incorrect.

Marc G. Fournier wrote:
 > We definitely concur with that, which is why we are re-writing it ...
 > going to Java, as Andrew has mentioned, was *not* a design decision that
 > we made, but was made for us :(
 >
Now I get really curious. Why would Java be a bad choice for a
replication engine? I would consider it an excellent choice, provided of
course that the people tasked with the implementation had the right
skills. C-JDBC for instance, is written in Java.

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Sat, 13 Nov 2004, Thomas Hallgren wrote:

> Joshua D. Drake wrote:
>> Yes but I believe even you would agree that their are programming
>> languages that are better for certain tasks than others. The use of
>> java as a replication engine for PostgreSQL seems, well... incorrect.
>
> Marc G. Fournier wrote:
>> We definitely concur with that, which is why we are re-writing it ...
>> going to Java, as Andrew has mentioned, was *not* a design decision that
>> we made, but was made for us :(
>>
> Now I get really curious. Why would Java be a bad choice for a replication
> engine? I would consider it an excellent choice, provided of course that the
> people tasked with the implementation had the right skills. C-JDBC for
> instance, is written in Java.

Everyone obviously has their opinion, but in mine, Java just has toooooo
large of a memory foot print ... I don't know enough about Java to know if
this is something that is restricted to how eRServer/Java was coded or
not, but by default, the damn thing takes something like 300Mb of RAM for
just the engine :(

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/13/2004 12:06 PM, Joshua D. Drake wrote:

>>
>> It is never the fault of a programming language per se. People with a
>> good understanding of object design will write "object oriented code"
>> in every language, even assembler. People who just don't know what
>> they are doing will write bad code, and the best Pascal compiler in
>> the world won't be able to prevent that.
>
> Yes but I believe even you would agree that their are programming
> languages that are better for certain tasks than others. The use of java
> as a replication engine for PostgreSQL seems, well... incorrect.

Mammoth is written in C, the followup for eRServer will be C (++?) and
Slony is C ... I guess disagreeing would be, well ... ignorant.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
Jan Wieck wrote:

> On 11/13/2004 12:06 PM, Joshua D. Drake wrote:
>
>>>
>>> It is never the fault of a programming language per se. People with
>>> a good understanding of object design will write "object oriented
>>> code" in every language, even assembler. People who just don't know
>>> what they are doing will write bad code, and the best Pascal
>>> compiler in the world won't be able to prevent that.
>>
>>
>> Yes but I believe even you would agree that their are programming
>> languages that are better for certain tasks than others. The use of
>> java as a replication engine for PostgreSQL seems, well... incorrect.
>
>
> Mammoth is written in C, the followup for eRServer will be C (++?) and
> Slony is C ... I guess disagreeing would be, well ... ignorant.


Heh :)

>
>
> Jan
>


--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
PostgreSQL Replicator -- production quality replication for PostgreSQL


Attachment

Re: PostgreSQL in the press again

From
Christopher Browne
Date:
Oops! scrappy@postgresql.org ("Marc G. Fournier") was seen spray-painting on a wall:
> On Sat, 13 Nov 2004, Thomas Hallgren wrote:
>
>> Joshua D. Drake wrote:
>>> Yes but I believe even you would agree that their are programming
>>> languages that are better for certain tasks than others. The use
>>> of java as a replication engine for PostgreSQL seems,
>>> well... incorrect.
>>
>> Marc G. Fournier wrote:
>>> We definitely concur with that, which is why we are re-writing it
>>> ...  going to Java, as Andrew has mentioned, was *not* a design
>>> decision that we made, but was made for us :(
>>>
>> Now I get really curious. Why would Java be a bad choice for a
>> replication engine? I would consider it an excellent choice,
>> provided of course that the people tasked with the implementation
>> had the right skills. C-JDBC for instance, is written in Java.
>
> Everyone obviously has their opinion, but in mine, Java just has
> toooooo large of a memory foot print ... I don't know enough about
> Java to know if this is something that is restricted to how
> eRServer/Java was coded or not, but by default, the damn thing takes
> something like 300Mb of RAM for just the engine :(

The problem with Java is twofold:

1.  Naive system implementations wind up gratuitously using a lot of
    memory.

2.  The garbage collection system makes it particularly difficult to
    be aware of how the "memory life cycle" works.  Which helps keep
    developers naive for somewhat longer...

In the case of eRServer, the way the snapshot system was constructed
led to "gratuitous memory use," and that's not an obvious result of
either 1. or 2.

Someone could have made a C-based version of ERS that, by using
similar implementation strategies, would also use "gratuitously large"
amounts of memory.

In contrast, Slony-I happens to be _immensely_ more frugal in its use
of memory.  That is a matter of design, not of the language used.  The
"strategy" involves loading into memory only the "buffering" (more or
less) of the data that is being loaded.  If there's a replication set
consisting of 80GB of data, you don't need to hold it all in RAM; you
just need to buffer a few hundred KB of it so that you're streaming
large enough blocks across the network to let the network connections
be used efficiently.  If the strategies of Slony-I had been
implemented in Java, the memory footprint would still be relatively
small.  The fact that Java has heftier libraries than C means that
Java apps will be somewhat bigger than C ones.

But I wouldn't raise any "red flags" if a "Slony-Java" process
consumed 25MB whilst the C version only consumed 8MB.  Those are both
small enough sizes that they're not going to challenge JVM maximum
memory sizes.  On a couple occasions, I saw eRServer "blow up" due to
the JVM not being configured to have enough memory space, and could
foresee situations where you couldn't set memory space high enough
:-(.

I'd expect a C++-based system to fall somewhere in between.  Between
exception handling, templates, and such, C++ adds a bit of "gratuitous
bloat," but not quite so much as in Java.  (Unless you use STL Way
Lots, but that's another story :-).)

But in all of this, the things that cause the _real_ bloat are
pessimal algorithmic design choices.  The things to _fix_ bloat are
algorithmic changes, not changes of language.

The things to "hate" about Java aren't about any of this.  It's more
like:

 - Java runs, in a "supportable" manner, on way fewer platforms than
   PostgreSQL

 - If you pick libraries that are functional enough to be useful,
   then you likely have to get a Sun JDK with pretty proprietary
   licensing

 - Due to licensing complexities, it's WAY more complex to deploy
   Java-based apps than C-based apps.  The average Linux or BSD
   distribution contains hundreds if not thousands of apps
   deployed in C; doing the same for Java has proved more than
   troublesome.
--
output = reverse("gro.mca" "@" "enworbbc")
http://www.ntlug.org/~cbbrowne/linux.html
"Using Java  as a general purpose application  development language is
like  going big  game  hunting  armed with  Nerf  weapons."
-- Author Unknown

Re: PostgreSQL in the press again

From
Christopher Browne
Date:
Quoth JanWieck@Yahoo.com (Jan Wieck):
> On 11/13/2004 12:06 PM, Joshua D. Drake wrote:
>
>>>
>>> It is never the fault of a programming language per se. People with
>>> a good understanding of object design will write "object oriented
>>> code" in every language, even assembler. People who just don't know
>>> what they are doing will write bad code, and the best Pascal
>>> compiler in the world won't be able to prevent that.
>> Yes but I believe even you would agree that their are programming
>> languages that are better for certain tasks than others. The use of
>> java as a replication engine for PostgreSQL seems, well... incorrect.
>
> Mammoth is written in C, the followup for eRServer will be C (++?) and
> Slony is C ... I guess disagreeing would be, well ... ignorant.

Sure, but I seem to recall that your Slony-I prototype was initially
in Tcl.  There may be a Perl-based prototype of one of the new bits,
and if bottlenecks aren't evident, I'm not convinced everything has to
stay in C.

I don't think I'd propose Ada (Andrew Sullivan would be aghast! ;-)),
but I could see Perl or Python being reasonable languages for handling
processes where the _real_ bottlenecks lie in database access.
--
"cbbrowne","@","linuxfinances.info"
http://www3.sympatico.ca/cbbrowne/x.html
"If Ada became the hot, in-language  you would see a lot more bad code
in   Ada."
-- Thaddeus L.  Olczyk <olczyk@interaccess.com>, comp.lang.C++

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Christopher,
Thanks for clearing a few things up. I think what you wrote made a lot o
sense. Not surprisingly, I have some opinions concerning the things to
"hate" :-)

> The problem with Java is twofold:
>
> 1.  Naive system implementations wind up gratuitously using a lot of
>     memory.
>
> 2.  The garbage collection system makes it particularly difficult to
>     be aware of how the "memory life cycle" works.  Which helps keep
>     developers naive for somewhat longer...
>
> In the case of eRServer, the way the snapshot system was constructed
> led to "gratuitous memory use," and that's not an obvious result of
> either 1. or 2.
>
I agree with this. That's why I included "the right skills" in my
original claim. It's a known fact that Java get's bashed a lot because
it gives you freedom under responsibility and people tend to forget the
latter.

> The things to "hate" about Java aren't about any of this.  It's more
> like:
>
>  - Java runs, in a "supportable" manner, on way fewer platforms than
>    PostgreSQL
>
An argument that holds true in theory. I wonder what percentage of
potential replication users that would be lost in real life due to
portability issues when moving to Java. My guess is zero or perhaps
fragments of a percent. I seriously belive that the loss contributed to
"religion" would be greater.

On the Java plus side, you can distribute one runnable binary for all
platforms where it *does* run as opposed to source that requires the
user to have a complete build environment. So perhaps this actually
works in Java's favor.

>  - If you pick libraries that are functional enough to be useful,
>    then you likely have to get a Sun JDK with pretty proprietary
>    licensing
>
Here I disagree with some emphasis. The JRE in itself contains far more
useful libraries than any C/C++ compiler package that I'm aware of. And
if you want to complement what you have, go to Sourceforge, Apache, or
any other Open Source site where a lot of very useful packages can be
found. Many of them with production quality.

The JDK/JRE licensing in itself has never been a problem in any projects
where I have been involved, nor any other Java project that I'm aware
of. You just don't bundle the JRE, you assume that the customer has it
installed.

>  - Due to licensing complexities, it's WAY more complex to deploy
>    Java-based apps than C-based apps.  The average Linux or BSD
>    distribution contains hundreds if not thousands of apps
>    deployed in C; doing the same for Java has proved more than
>    troublesome.
 >
Funny, I've been writing Java apps for the better part of 6 years now.
I've *never* experienced any licensing complexities *what so ever*. Many
thousand users use Java on Linux and FreeBSD and they are not violating
any licenses.

Can you please explain where and how you see license problems pop up?

All and all, I think the licensing question is non existent for people
who want to provide utilities written in Java. Sourceforge today counts
13192 Java projects which is very close to the number of C (13762) and
C++ (14066) projects. A vast majority (95%) of those projects are
OSI-Approved Open Source. I have no doubt that Java will be #1 by this
time next year. On the Apache site, you'll find other really useful (and
free) Java utilities.

In other words, if licensing was a problem you wouldn't see the Java
community expanding the way it does today, using free Open Source as a
primary vehicle.

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
Jan Wieck
Date:
On 11/14/2004 2:11 AM, Christopher Browne wrote:

> Quoth JanWieck@Yahoo.com (Jan Wieck):
>> On 11/13/2004 12:06 PM, Joshua D. Drake wrote:
>>
>>>>
>>>> It is never the fault of a programming language per se. People with
>>>> a good understanding of object design will write "object oriented
>>>> code" in every language, even assembler. People who just don't know
>>>> what they are doing will write bad code, and the best Pascal
>>>> compiler in the world won't be able to prevent that.
>>> Yes but I believe even you would agree that their are programming
>>> languages that are better for certain tasks than others. The use of
>>> java as a replication engine for PostgreSQL seems, well... incorrect.
>>
>> Mammoth is written in C, the followup for eRServer will be C (++?) and
>> Slony is C ... I guess disagreeing would be, well ... ignorant.
>
> Sure, but I seem to recall that your Slony-I prototype was initially
> in Tcl.  There may be a Perl-based prototype of one of the new bits,
> and if bottlenecks aren't evident, I'm not convinced everything has to
> stay in C.

I am sure with the right skills one could have done Slony-I in Java and
get pretty much the same results. And note that Slony-I isn't a 100% C
solution anyway, as we use PL/pgSQL extensively - although not in any
time critical path.

The problem really is that it is rather difficult to find Java
programmers with the skillset required here. I have met a good deal of
Java "fast-thinkers", and except for one (and you know who I mean) ALL
of them are usually nice, but completely incompetent guy's who copy
binary jar's all over their projects, create classes by the dozen but
literally zero code that actually "does" something, and simply fail to
understand why the timestamp they take in their Java code has absolutely
zero to do with the serializable transaction order.

IMNSVHO Java is a nice language for GUIs and maybe some WEB stuff ...
and that's it.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Re: PostgreSQL in the press again

From
Christopher Browne
Date:
After a long battle with technology, thhal@mailblocks.com (Thomas Hallgren), an earthling, wrote:
> The JDK/JRE licensing in itself has never been a problem in any
> projects where I have been involved, nor any other Java project that
> I'm aware of. You just don't bundle the JRE, you assume that the
> customer has it installed.

Right, you have to "assume that the customer has it installed."

>>  - Due to licensing complexities, it's WAY more complex to deploy
>>    Java-based apps than C-based apps.  The average Linux or BSD
>>    distribution contains hundreds if not thousands of apps
>>    deployed in C; doing the same for Java has proved more than
>>    troublesome.

> Funny, I've been writing Java apps for the better part of 6 years
> now. I've *never* experienced any licensing complexities *what so
> ever*. Many thousand users use Java on Linux and FreeBSD and they
> are not violating any licenses.

Tell me how many Linux distributions come with Java(tm) and Java(tm)
applications installed by default.  :-)

The answer is pretty clear; the licensing of Blackdown mandates that
installation of Java(tm) be done separately, which _severely_ limits
the incidence of this.  I see, on Debian, a few dependancies on some
form of JDK/JRE; it's generally staying with Java 1.1 where there are
feasible if limited "free software" options...

Which means that systems cannot and do not include either Java(tm)
(or, as a result, Java(tm) applications).  For them to do so would
indeed require violating Sun's licenses.

This doesn't prevent adding Java(tm) as an "aftermarket add-on."  But
it is clearly that, an "aftermarket add-on."  Java just isn't a "first
class citizen" that can be considered ubiquitous the way C and C++
are.
--
wm(X,Y):-write(X),write('@'),write(Y). wm('cbbrowne','linuxfinances.info').
http://www3.sympatico.ca/cbbrowne/languages.html
The cigars in Los Angeles that were Duchamp-signed and then smoked.

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Sat, Nov 13, 2004 at 01:45:50PM -0400, Marc G. Fournier wrote:
> We definitely concur with that, which is why we are re-writing it ...
> going to Java, as Andrew has mentioned, was *not* a design decision that
> we made, but was made for us :(

I didn't, however, intend that to be a proof that Java was the wrong
tool for replication.  It was, however, the wrong tool used the wrong
way for this job.

There was a thread on the erserver list about why the implementation
sucked as much as it did in certain places.  But to give folks a
flavour of it, the original Java porter ("OJP") was one of those
big-design guys.  So he had an apparent plan for an error-reporting
abstraction layer.  Problem was, he never wrote it.  So every raised
exception in the program caused the error handling stub to be called,
which simply spit out an exception.  The net result was that you
_always_ got the error-handling stub line number in every exception.
Bugs?  Hey, grovel through the code a line at a time and see if you
can figure out why it died.  It's edumacashunal.

I'm with Jan on this: poor programming can be done in any language at
all.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
The plural of anecdote is not data.
        --Roger Brinner

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Sun, Nov 14, 2004 at 02:05:21AM -0500, Christopher Browne wrote:
>
> In the case of eRServer, the way the snapshot system was constructed
> led to "gratuitous memory use," and that's not an obvious result of
> either 1. or 2.

Something else that's worth noting: erserver was designed against
PostgreSQL 7.1.  So it had a number of limitations it was working
with that we, in happier later days, don't have to worry about any
more.

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
In the future this spectacle of the middle classes shocking the avant-
garde will probably become the textbook definition of Postmodernism.
                --Brad Holland

Re: PostgreSQL in the press again

From
Andrew Sullivan
Date:
On Sun, Nov 14, 2004 at 02:11:48AM -0500, Christopher Browne wrote:
> I don't think I'd propose Ada (Andrew Sullivan would be aghast! ;-)),
> but I could see Perl or Python being reasonable languages for handling
> processes where the _real_ bottlenecks lie in database access.

Having been around at the time of the erserver Java decision, and
having lost the argument that translating it to Java was a waste of
time, I can tell you that erserver _was_ originally written in Perl
and, frankly, worked better as a prototype than as a final product.
But this brings us back to Jan's earlier point, which is generally
summed up in the maxim, "It's a poor workman who blames his tools."

The decision in favour of Java, BTW, is another bit of evidence that
threads are not some sort of magic seasoning you can sprinkle on
something and make it better.  The reason for picking Java was the
ease with which it could be multi-threaded.  Unfortunately, the
actual implementation essentially used multiple threads to build up a
big-giant snapshot which had to be applied serially to the slave.
This approach is also responsible for the snapshot-size limitations
built into the program.

I should note, for the record, that most of these problems were
subsequently addressed, although they mostly did exist in the
original BSD erserver.  (I'll also note that we're pretty far off
-advocacy charter, and so this is the last on this topic I'll say.)

A

--
Andrew Sullivan  | ajs@crankycanuck.ca
The fact that technology doesn't work is no bar to success in the marketplace.
        --Philip Greenspun

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Christopher Browne wrote:
> This doesn't prevent adding Java(tm) as an "aftermarket add-on."  But
> it is clearly that, an "aftermarket add-on."  Java just isn't a "first
> class citizen" that can be considered ubiquitous the way C and C++
> are.
 >
Ah, so all licensing issues that you had, boils down to this one single
thing.

A JRE needs to be installed on the customer site.

Yeah. That sounds WAY to complex.

Regards,
Thomas Hallgren

Re: PostgreSQL in the press again

From
Gaetano Mendola
Date:
Jan Wieck wrote:
> IMNSVHO Java is a nice language for GUIs and maybe some WEB stuff ...
> and that's it.

Right. I want enforce this inviting you all to made an experiment.
Ask your programmers why is insane in java produce code like this:


Vector v = new Vector();


v.add( new MyClass() );  <==== Thousand entries


most of programmers reply:  nothing.

Unfortunately Java like other language "Garbage collector driven" are
producing around lot of programmers producing garbage code.


Regards
Gaetano Mendola



Re: PostgreSQL in the press again

From
Gaetano Mendola
Date:
Christopher Browne wrote:
> I'd expect a C++-based system to fall somewhere in between.  Between
> exception handling, templates, and such, C++ adds a bit of "gratuitous
> bloat," but not quite so much as in Java.  (Unless you use STL Way
> Lots, but that's another story :-).)

The only think that STL bloat is the "code" and not always ( like all
templates ). Having say that I largelly accept a code bloath of few
hundreads bytes instead of reinvent the well each time you need a list,
or you shall implement a sort. I'm sad to see however people talking
or writing about C++ performances or memory requirements without even
have write a single line of C++ code. Alway in situation like this
I to read a couple of book or article about templates:

"Modern C++ Design: Generic Programming and Design Patterns Applied "

and most of all the capabilities of this library:

http://boost-consulting.com/boost/libs/multi_index/doc/index.html

May be I had an over reaction ( excuse me ) but this week is not the
first ( also out of this list ) talking against C++.

Regards
Gaetano Mendola




Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Jan Wieck wrote:

> I am sure with the right skills one could have done Slony-I in Java and
> get pretty much the same results...
>
> The problem really is that it is rather difficult to find Java
> programmers with the skillset required here...
>
> IMNSVHO Java is a nice language for GUIs and maybe some WEB stuff ...
> and that's it...
>
Isn't the last claim a bit contradicory? If you where to say, "Java is a
nice language, but we can't use it for advanced server side development
here since we are unable to find people with the right skills", then it
would make a lot of sense. And I would agree, that's often a very valid
argument to use C/C++.

Regards,
Thomas Hallgren


Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
> Isn't the last claim a bit contradicory? If you where to say, "Java is a
> nice language, but we can't use it for advanced server side development
> here since we are unable to find people with the right skills", then it
> would make a lot of sense. And I would agree, that's often a very valid
> argument to use C/C++.


Everyone does understand here, that we aren't going to agree right?

IMHO Java is worthless but does it matter? People code in what they are
either forced to, or are comfortable with.

Sincerely,

Joshua D. Drake



>
> Regards,
> Thomas Hallgren
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment

Re: PostgreSQL in the press again

From
Thomas Hallgren
Date:
Joshua,

> Everyone does understand here, that we aren't going to agree right?
>
> IMHO Java is worthless but does it matter? People code in what they
> are either forced to, or are comfortable with.

Agree. Everyone has their preferences and opinions. And perhaps you'd
agree that it's better to find the true cause of a problem then to put
the blame on a language, no matter what preferences one may have.

If you do, well, then we do agree after all :-)

Regards,
Thomas Hallgren



Re: PostgreSQL in the press again

From
Robert Treat
Date:
On Monday 15 November 2004 01:29, Thomas Hallgren wrote:
> Christopher Browne wrote:
> > This doesn't prevent adding Java(tm) as an "aftermarket add-on."  But
> > it is clearly that, an "aftermarket add-on."  Java just isn't a "first
> > class citizen" that can be considered ubiquitous the way C and C++
> > are.
>
> Ah, so all licensing issues that you had, boils down to this one single
> thing.
>
> A JRE needs to be installed on the customer site.
>
> Yeah. That sounds WAY to complex.
>

It's funny how I can build umpteen packages from C code on my system, but if I
want to play around with runescape.com my lack of java support (which I would
think I have in a straightofrward fc2 machine) turns out to be a showstopper.

--
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

Re: PostgreSQL in the press again

From
Josh Berkus
Date:
Folks,

Can we kill this thread, please?

Or does someone want to start a "vi vs. emacs" flamewar?

--
Josh Berkus
Aglio Database Solutions
San Francisco

Re: PostgreSQL in the press again

From
Robert Treat
Date:
On Wednesday 17 November 2004 00:40, Josh Berkus wrote:
> Folks,
>
> Can we kill this thread, please?
>
> Or does someone want to start a "vi vs. emacs" flamewar?

No one here is silly enough to use emacs ;-)

--
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

Re: PostgreSQL in the press again

From
"Marc G. Fournier"
Date:
On Wed, 17 Nov 2004, Robert Treat wrote:

> On Wednesday 17 November 2004 00:40, Josh Berkus wrote:
>> Folks,
>>
>> Can we kill this thread, please?
>>
>> Or does someone want to start a "vi vs. emacs" flamewar?
>
> No one here is silly enough to use emacs ;-)

I used to ... fantastic little editor that is, when you have all the right
keybindings :)

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: PostgreSQL in the press again

From
"Joshua D. Drake"
Date:
>>
>> No one here is silly enough to use emacs ;-)
>
>
> I used to ... fantastic little editor that is, when you have all the
> right keybindings :)

Yep, nothing like running an operating system on an operating system
just so you can edit
a text file ;)


>
> ----
> Marc G. Fournier           Hub.Org Networking Services
> (http://www.hub.org)
> Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ:
> 7615664
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faqs/FAQ.html



--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
PostgreSQL Replicator -- production quality replication for PostgreSQL


Attachment

Emacs vs Vi (Was: Re: PostgreSQL in the press again)

From
"Marc G. Fournier"
Date:
Since the history on this was cut off, I would just like to remind
everyone that it was Josh Berkus' idea to start a thread on emacs vs vi
(altho, of course, he did suggest it "tongue in cheek" ... the rest of us
just had to jump onto the bandwagon *grin*) ...

On Wed, 17 Nov 2004, Joshua D. Drake wrote:

>
>>>
>>> No one here is silly enough to use emacs ;-)
>>
>>
>> I used to ... fantastic little editor that is, when you have all the right
>> keybindings :)
>
> Yep, nothing like running an operating system on an operating system just so
> you can edit
> a text file ;)

Well, in my case, it was for C programming ... but you are right, it is
"an operating system ontop of an operating system" ... it was good pre
stuff like 'screen', since you could do multi-windows, cut-n-paste between
them, compiling without exiting the editor ... one thing that it did do
nicely was that if you compiled inside of the editor, the 'errors' linked
to the actual code itself, so you could jump right to it ...

Between screen and X though, vi uses less resources, and other then the
'jumping to the buggy code' feature, the rest can be easily duplicated ...


----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: Emacs vs Vi (Was: Re: PostgreSQL in the press

From
"Joshua D. Drake"
Date:
Marc G. Fournier wrote:
>
> Since the history on this was cut off, I would just like to remind
> everyone that it was Josh Berkus' idea to start a thread on emacs vs vi
> (altho, of course, he did suggest it "tongue in cheek" ... the rest of
> us just had to jump onto the bandwagon *grin*) ...

Noted ;)

> between them, compiling without exiting the editor ... one thing that it
> did do nicely was that if you compiled inside of the editor, the
> 'errors' linked to the actual code itself, so you could jump right to it
> ...
>
> Between screen and X though, vi uses less resources, and other then the
> 'jumping to the buggy code' feature, the rest can be easily duplicated ...

I like joe which has wordstar type key bindings and is modeless. You can
do the whole multi-screen,buffer deal as well.

I also know vi but will use joe anytime I can :)

Sincerely,

Joshua D. Drake




>
>
> ----
> Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
> Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)


--
Command Prompt, Inc., home of PostgreSQL Replication, and plPHP.
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL

Attachment