×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Oracle and PostgreSQL Debate

Zonk posted about 8 years ago | from the warring-dbas dept.

330

Mark Brunelli writes DBAs are talking about the merits of the open source PostgreSQL database management system (DBMS) as compared to Oracle - and their opinions truly run the gamut. DBAs responding to the interview said they liked the low cost and ease of use of the open source database, while others said that Oracle's rich feature cannot be ignored. Still others talked about how well the two systems play together. According to one DBA, a gateway product from Oracle would be a welcome offering."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

330 comments

If you need Oracle, you need it. (5, Insightful)

Anonymous Coward | about 8 years ago | (#15078948)

90% of the people who use it don't need it. 100% of that 90% are/have been convinced they need it.

Re:If you need Oracle, you need it. (2, Insightful)

ObsessiveMathsFreak (773371) | about 8 years ago | (#15079057)

100% of that 90% are/have been convinced they need it.

Well, what's their alternative? SQL Server? You can only get by on that for so long.

The usual transition goes like this; Access->SQL Server->(Something Better)

List out the current list of products that qualify as "Something Better" than SQL Server.

Re:If you need Oracle, you need it. (-1, Flamebait)

Anonymous Coward | about 8 years ago | (#15079148)

What makes Oracle better than SQL Server?

Re:If you need Oracle, you need it. (2, Informative)

RaymondRuptime (596393) | about 8 years ago | (#15079329)

List out the current list of products that qualify as "Something Better" than SQL Server.

For one, Progress OpenEdge [progress.com]. My experience from working with both is that Progress is better, faster, cheaper (lowest TCO of the major RDMBS products), and is multi-platform (who is running SQL Server on Linux?). It has a very powerful toolset with the option of using a rich and intuitive 4GL or SQL. It takes next to nothing to maintain--just throw it over the wall and let it hum. And it has good connectors to Oracle, SQL Server, et al, so you can easily have a multi-product shop (which, in the age of acquisitions, is inevitable).

I'd pick Progress over SQL Server every day of the week and twice on Sunday, and I would pick Progress over Oracle for any project except extremely large (>1 TB) databases.

Re:If you need Oracle, you need it. (2, Funny)

hey! (33014) | about 8 years ago | (#15079564)

Well, what's their alternative? SQL Server?

I think the point is that Postgres might be a better solution for them, now that it's supported on NT.

List out the current list of products that qualify as "Something Better" than SQL Server.

All the products? Do I have to include encoding information on knotted cords and dispatching it over mountain footpaths via barefoot runners?

Better depends on what for of course. SQL server is fair as a database engine, but so is Postgres. Transact SQL is utter crap, both by design (it's the most unorthagonal SQL I've ever seen) and in implementation (buggy if you aren't doing vanilla SQL); given that I'd say Postgres is better if you rely upon SQL. But SQL Server is a good choice if you're going 100% Microsoft end to end, including IDEs that generate all the SQL for you.

Re:If you need Oracle, you need it. (2, Funny)

pbaehr (953240) | about 8 years ago | (#15079145)

50% of this message was convoluted by unnecessary use of percentages. 100% of that 50% was difficult to read as a result.

I can pronounce Oracle (2, Interesting)

Chapter80 (926879) | about 8 years ago | (#15079277)

Ever try to sell your client (or management) on using a database whose name they can't pronounce?

Post gre ess que ell
Post gres SQL
Post gres QL

...heard it all these ways.

Re:If you need Oracle, you need it. (2, Insightful)

ajs (35943) | about 8 years ago | (#15079318)

Isn't it more complex than that? In my experience almost no one NEEDS Oracle, but in addition to having bought into the idea that they do need it, most cannot move away from it, because they've allowed their applications to become locked into proprietary features, even where open versions of those features exist.

I'm not convinced... (2, Interesting)

C10H14N2 (640033) | about 8 years ago | (#15079464)

...that ANYONE /needs/ Oracle.

I will accept that someone would need something like Oracle Financials and that would be contingent upon using the Oracle database, but structurally speaking, why is it necessary for anything in particular? I mean, cripes, GOOGLE uses MySql. [computerworld.com.sg] If THEY don't need Oracle, who the hell does?

I've run into this before trying to sell a TINY Division on using MySQL or PostgreSQL--every single !#!#%ing engineer said the same thing: we don't need _anything_ beyond MySQL, hell PostgreSQL is even overkill, so let's use it. Absolutely not, was management's response no matter how many high-profile case studies we threw at them. It was as if the #1 requirement was "Must cost at least $57,000, but list for $75k, so the purchasing manager can get a nice fat bonus for 'saving' money."

Seriously, I'd like someone to explain what precisely about Oracle could ever be considered absolutely necessary that cannot be found anywhere else aside from organizational bias and insipid politics.

Re:I'm not convinced... (2, Informative)

Anonymous Coward | about 8 years ago | (#15079682)

Google uses a distributed cluster approach, hardly Oracle's area. Perhaps you've never worked with big datasets, but when we're talking about several TiB of data MySQL is a complete joke and PostgreSQL can't probably handle it. Big iron (read: Sun or IBM) + Oracle is the only way to do it.

Re:If you need Oracle, you need it. (1)

hey! (33014) | about 8 years ago | (#15079589)

100% of that 90% are/have been convinced they need it.

That's a bit of Captain Obvious point, isn't it?

That said, Oracle has a lot of really good and unusual features that even relatively mundane appliations can use. They aren't necessary of course, and they are highly non-standard, which is why they are seldom used.

i wanna have (-1, Offtopic)

Anonymous Coward | about 8 years ago | (#15078966)

secks, secks? secks in the anus. i wanna have secks....

I wanna have secks can you hear me secks i want it wanna have ....

secks

Works for me (1, Offtopic)

tcopeland (32225) | about 8 years ago | (#15078972)

We're using PostgreSQL as the indi [getindi.com] backend; it handles requests both from a Jabber server and a Ruby on Rails web site and web service using the native extension (i.e., written in C) driver.

It's working great so far, and since ejabberd [blogs.com] has native integration with PostgreSQL, we'll be able to switch to that pretty easily.

MOD PARENT/REPLIES DOWN,THIS POST UP,FIRST POST UP (1)

SirJaxalot (715418) | about 8 years ago | (#15079020)

Thanks, tcopeland, for your content free post. Seriously, is that the best you have to offer given you had twenty minutes or so to come up with something.

Re:MOD PARENT/REPLIES DOWN,THIS POST UP,FIRST POST (0, Offtopic)

chrismcdirty (677039) | about 8 years ago | (#15079133)

Of course that's all he has to offer. He's pretty much a spambot to plug the software he's working on. Thank god someone else finally realized that. Now if only the mods could realize it, too.

Re:MOD PARENT/REPLIES DOWN,THIS POST UP,FIRST POST (1)

wackysootroom (243310) | about 8 years ago | (#15079646)

Interesting that you call someone out for spamming their own software while you're trying to get others to sign up to a pyramid scheme to get yourself a free PSP. At least Tom actually creates something he's proud of. He's been a fixture in the postgresql and ruby communities for quite some time now.

Oh, the irony.

Re:MOD PARENT/REPLIES DOWN,THIS POST UP,FIRST POST (1)

chrismcdirty (677039) | about 8 years ago | (#15079694)

The difference is that I don't sneakily insert it into every post that I make.

Corrections to the article (5, Informative)

einhverfr (238914) | about 8 years ago | (#15079625)

I too have been using PostgreSQL since 6.5. I have experience with every version from 6.5 to the current 8.1....

The article made a number of mistakes or maybe the interviewees were not that knowledgable:

Jim Allen, a longtime Oracle professional and an independent technology consultant, says he has had considerable experience with PostgreSQL 7.4 and 7.5, but not the newest version, 8.0.

7.5 never existed. It was renamed to 8.0 shortly before entering beta. Goes to show how little he knows-- like those people who used to call and ask for tech support for "Windows 97" except a DBA should know better....

On the other hand, Allen was unimpressed by the fact that in PostgreSQL, stored procedure parameters are not typed.

"Everything is passed as strings, even integer arrays," he said.


Huh??? This is plainly incorrect and has been since I have been working on stored procs in it (at least 7.0, maybe 6.5 or earlier). All parameters are typed. They may, however, be presented as text depending on the function and how it is called.

PostgreSQL doesn't behave as nicely as Oracle when the system fills up, Goulet said. In those instances, the system tends to crash quickly.

I assume he is talking about oid/xid wraparound issues. Oid wraparounds fail pretty gracefully. In 8.1, you will get plenty of warnings before the xid wraparound forces a crash. However the crash is there as a safety measure to protect your data-- if the xid was allowed to wraparound, previously committed transactions would become invisible.

The solution to the xid wraparound is simply to do regular mainetnance. With 8.1 the autovacuum capability is integrated into the database backend and so this should never be a problem.

Goulet said that setting up a TCP/IP connection capability with PostgreSQL is hardly an intuitive process. To do it, he says, one needs to modify the postgres.conf and pg_hba.conf files manually.

Prior to 7.4 I think this was the case. With 8.0 and 8.1, only the pg_hba.conf needs to be enabled though you *might* also want to allow the system to listen on addresses other than localhost. In this case, you might need to alter both files.

But then there are webmin plugins etc. that allow you to modify the pg_hba entries from a web interface :-)

Re:Works for me (0)

Anonymous Coward | about 8 years ago | (#15079649)

Practically every comment you post links to one of your projects or your book. Please stop spamming. Just because you use PostgreSQL, it doesn't make your comment on-topic.

Oracle's rich feature? (1, Funny)

Anonymous Coward | about 8 years ago | (#15078974)

others said that Oracle's rich feature cannot be ignored

Oracle's rich feature? Oracle only has one feature?

If that's the case, it would have to be a pretty mighty feature to beat any other database...well, except maybe Access.

So does anyone know what this feature is?

There are other options.... (4, Interesting)

jarich (733129) | about 8 years ago | (#15078980)

I've been working with Ingres recently. It's GPL and has a great enterprise-proven track record. Best of both worlds.

http://ingres.com/ [ingres.com]

postGRES (0)

Anonymous Coward | about 8 years ago | (#15079360)

you do realize that postgres is the successor to ingres, right? (hence the post-)

Re:postGRES (0)

Anonymous Coward | about 8 years ago | (#15079540)

Fork. The word is fork.

Re:There are other options.... (1)

G3ckoG33k (647276) | about 8 years ago | (#15079414)

I tried to find out something more about Ingres, which I had never heard of before. Google spits out strange remarks like: "The original RDBMS, but the current version of its QUEL language has been corrupted to acommodate SQL."

Is there a sad and bitter ex-employee somewhere? Or what does that mean?!

Re:There are other options.... (1)

jarich (733129) | about 8 years ago | (#15079504)

Ingres has been around for a long time. I'm a newbie to it, but so far it's nice. I think it will fill a nice niche.

Check out Wikipedia http://en.wikipedia.org/wiki/Ingres [wikipedia.org]

and to the other poster, I don't like the PDF docs either! :(

postgresql...ease of use? (2, Interesting)

Squeezer (132342) | about 8 years ago | (#15078994)

obviously they've never tried to dump and restore a database when upgrading to a new major release. Never goes according to the documentation. thats why I love mysql, just install the new rpms and keep on truckin'.

I just wish mysql could use /etc/passwd for authentication of users/passwords, I hate that it has to use its own internal user/pass database.

Re:postgresql...ease of use? (1)

Just Some Guy (3352) | about 8 years ago | (#15079044)

obviously they've never tried to dump and restore a database when upgrading to a new major release. Never goes according to the documentation.

Since this is the first time I've ever heard of that problem, and have never seen it myself during my own upgrades, care to back that up with evidence?

Re:postgresql...ease of use? (1)

rduke15 (721841) | about 8 years ago | (#15079409)

care to back that up with evidence?

Well, I don't remember the details, but when I moved from 6.x to 7.x a couple of years ago, it wasn't easy for me either.

Re:postgresql...ease of use? (1)

jocknerd (29758) | about 8 years ago | (#15079636)

Good god! PostgreSQL 7.x was out 5 years ago! 6.x was out almost 10 years ago. A lot has happened since then.

Re:postgresql...ease of use? (1)

Squeezer (132342) | about 8 years ago | (#15079137)

docs at http://www.postgresql.org/docs/8.1/interactive/bac kup.html [postgresql.org]

I do just like they say, the pg_dumpall, then upgrade the database to the new major release, then do the restore. when I restore with psql -f infile postgres. and it always errors with things like the users not existing, the database not existing, etc. so i have to go in and create the users by hand, and then create an empty database, etc. I always just have to play around until I can make it work. upgrading between postgresql major releases is a pain, always has been, probably always will be.

like i said, thats why I love mysql, install the new rpms and just keep on going.

Re:postgresql...ease of use? (2, Informative)

Anonymous Coward | about 8 years ago | (#15079168)

If you don't know what your doing with it, this can easily happen.

I view MySQL, PostgreSQL, and Oracle as such -

MySQL - Designed for beginners. They work first and foremost on ease-of-use features. This is not to say its not a good database, it is. But its the easiest database to get into.

PostgreSQL - Initially designed for people who had a bit more experience. To get the full potential out of the system, you truley have to tweak with the configurations. More recent versions have made it easier for entry level users to get involved in it.

Oracle - Grand daddy. Designed to do everything for everyone, but it takes a full-time staff to make it happen.

MySQL and PostgreSQL were designed with a different mentallity. MySQL was designed to be left alone from the start.

From the start MySQL would just run, leave it alone and almost never worry about it. Two years later its still running.

PostgreSQL was designed to be powerful, but you had to look at it once in a while. Specifically the VACUUM command. More recent versions have made this easier with auto-VACUUMing.

Oracle - Don't leave this sucker alone. You have to keep an eye on it. Or, if you have a really good Sr. DBA on staff, they can configure it to run smoothly with little need for maintenance. But don't leave it alone for to long.

MySQL - Focused goals, less interaction needed.
PostgreSQL - Less focused, tries to do more for more people, more attention needed.
Oracle - Least focused, tries to do everything for everyone, needs the most attention.

The more complex and rich the system, the more work its going to need, but if you know how to take advantage of them, you can get 10x more out of them then you put in.
Compare the amount of tunable options between the three and you'll see what I'm talking about. MySQL you can configure in a few hours. Oracle? Good lord.

My company uses all three.

Re:postgresql...ease of use? (0)

Anonymous Coward | about 8 years ago | (#15079287)

Wow. Sounds like you really know what you're talking about. Not.

Re:postgresql...ease of use? (1, Interesting)

Ian Wolf (171633) | about 8 years ago | (#15079631)

I tend to disagree as my mileage has varied significantly.

MySQL is my database of choice for small web applications that demand simplicity and speed. The database is remarkably simple to install and configure, but I've personally run in to data corruption issues more often than with any other database. That being said, recovery is pretty simple and I'm usually back up and running in no time.

PostgreSQL is not a database I'm real strong in, but so far its OK by me. I find its feature set more complete than MySQL and would happily use it more often in place of Oracle if I only had the time to get more familiar with it.

SQL Server despite what most Oracle zealots will tell you has come a long way. Overall, its a fantastic database that is remarkably easy to manage.

Oracle is an unwieldly beast sometimes. In fact, I'm wrestling with setting up a four node RAC cluster on CentOS right now and frankly, I'm getting my ass kicked. That being said, I personally believe that its damn near bulletproof. Of all the databases I've worked with the Oracle databases are generally the most stable, most advanced, and the most powerful. The clustering, replication, and data security features have no equal. However, there are some serious drawbacks:
  • The price is obscene.
  • PHB's think they have to have it even if a spreadsheet would do the trick.
  • The price is obscene.
  • It can be a real bitch to fix when its broken.
  • The price is obscene.


I've been playing around with the new free version "Express Edition" and must say that I'm pretty impressed with it so far. It's crippled to a single CPU, 1GB SGA, and a total database size of 4GB, but a great solution for a small application database that needs to talk to a mothership database running Oracle.

Re:postgresql...ease of use? (1)

HappyDrgn (142428) | about 8 years ago | (#15079222)

"I just wish mysql could use /etc/passwd for authentication"
 
You can use MySQL for UNIX user authentication. You'll want to replicate MySQL's users table to another DB for the local host's authentication. The method might not be exactly what you where looking for, as it replaces /etc/passwd, however this completes the goal of central authentication for UNIX and MySQL users. Many other services can authenticate using a MySQL table too.

Re:postgresql...ease of use? (0)

Anonymous Coward | about 8 years ago | (#15079348)

well sure, given you don't have any data integrity anyway, i guess you would never get complaints from mysql :-D

Who Ya Gonna Call? (3, Insightful)

Doc Ruby (173196) | about 8 years ago | (#15079010)

I like how I can call Oracle and get the best developers/DBAs/integrators/troubleshooters to solve my problem, and it requires only money. I like how I can look at the Postgres source code, so I don't have to call anyone to solve my problem - or I can choose who I call.

Re:Who Ya Gonna Call? (1)

garyrich (30652) | about 8 years ago | (#15079633)

"I like how I can call Oracle and get the best developers/DBAs/integrators/troubleshooters to solve my problem"

Not true for most of their "customers" since they are not Oracle's cusomters. They are customers of some vertical marker supplier that they bought their MRP/CRM/SOX/LIMS/whatever software from that just happens to use Oracle. They have zero support through Oracle. Usually if the VAR can't fix the problem you end up playing semaphore with the VAR sitting in the middle trying to mediate. This does not always work well.

Postgres tcp/ip too difficult to configure (5, Insightful)

zfalcon (69659) | about 8 years ago | (#15079014)

Goulet said that setting up a TCP/IP connection capability with PostgreSQL is hardly an intuitive process. To do it, he says, one needs to modify the postgres.conf and pg_hba.conf files manually.

Uhh...is editing a config file really that difficult a process? It's like two lines.

Re:Postgres tcp/ip too difficult to configure (1)

Dan Ost (415913) | about 8 years ago | (#15079071)

Apparently, when you come from a point-and-click world, editing text is unintuitive.

Re:Postgres tcp/ip too difficult to configure (0)

Anonymous Coward | about 8 years ago | (#15079146)

Would you like fries with that elitism?

Seriously, are the developers of this product too lazy to generate a tool to configure the application so that people who need to get on with their jobs don't need to look up really arcane config file settings? Least of all the fact that they have two separate config files for no apparently good reason.

wal_sync_method?
cpu_tuple_cost?

Why do I care? Set them to some sane defaults and give me a tool to easily find and change the values. For bonus points, include some freaking documentation that describes what changing those values mean in laymans terms.

I guess you're one of those crowd that can't understand why everyone doesn't use Linux?

Re:Postgres tcp/ip too difficult to configure (1)

svendog (896213) | about 8 years ago | (#15079307)

I don't think it's so much a case of elitism -- it's just that not every application needs to be overburdened by a complete GUI frontend. The documentation for PostgreSQL is quite rich actually: see http://www.postgresql.org/docs/8.1/interactive/ind ex.html [postgresql.org] for the latest sets. The amount of work that goes into detailing nearly every aspect of configuring, running, and working with this database system would seem to indicate that the developers are far from lazy. Not bothering to read said documentation on the other hand ... There is also an extremely helpful set of mailing lists, wikis, and related sites (such as the General Bits site: http://www.varlena.com/varlena/GeneralBits/ [varlena.com] ) such that keys to the "mysteries" of various parameters and how to tweak one's server for best performance are quite readily available.

Re:Postgres tcp/ip too difficult to configure (4, Insightful)

Dan Ost (415913) | about 8 years ago | (#15079408)

For a non-trivial application, it is very often impossible to create a configuration GUI that is as clear, capable, and useable as the text config file it is meant to replace/hide.

So what do you do? You end up making assumptions about how the app is "likely" to be used. This makes the GUI usable for people who's needs and desires match your assumptions, but you've essentially reduced the functionality of your application to match those assumptions. People whose needs don't match those assumptions now find your application to be difficult or impossible to use.

On a side note, it has been my experience that people who rely on GUIs to configure non-trivial apps never seem to have a good idea what's actually going on. They simply try something and if that doesn't work, they try something else. People who've actually invested the effort to learn how to modify the config file generally know exactly what change is required to get the desired change in behavior. Those are the people I hire. I don't want someone who is inclined to make changes without understanding their effects first.

Oh, and in the future, if you're going to call someone an elitist (or whatever), at least have the courage to use your own account.

Re:Postgres tcp/ip too difficult to configure (1, Insightful)

Anonymous Coward | about 8 years ago | (#15079179)

Well, Oracle isn't exactly point and click world. Comparing psql and sqlplus, anyone will take psql without thinking.

Re:Postgres tcp/ip too difficult to configure (1)

RelliK (4466) | about 8 years ago | (#15079084)

Uhh...is editing a config file really that difficult a process? It's like two lines.

Yes! Unless it comes with a wizard and that funny animated paperclip, it's too hard!

Re:Postgres tcp/ip too difficult to configure (2, Informative)

Doctor Memory (6336) | about 8 years ago | (#15079209)

Compare that to trying to create a new database:

Oracle:
- Create new directories for bdump, cdump, udump and archivelog.
- Add new files for the new tablespace(s), control and redo logs.
- Add the new SID to TNSNAMES.DAT and listener.ora
- Create the new tablespace(s)

PostgreSQL:
- "createdb "

Oracle's got PosgreSQL beat in terms of features (which, as someone else already noted, many Oracle users don't need), but I wouldn't try whining that PostgreSQL is "hard to configure" Not compared to Oracle it isn't!

Excuese me... (1)

Savage-Rabbit (308260) | about 8 years ago | (#15079539)

Oracle's got PosgreSQL beat in terms of features (which, as someone else already noted, many Oracle users don't need), but I wouldn't try whining that PostgreSQL is "hard to configure" Not compared to Oracle it isn't!

For one thing, these days, Oracle ships with an Java GUI that makes the database creation process alot less painful plus the Enterprise manager also helps to keep an overview. Not that your complaint about the DB instance creation process really makes much sense. You are comparing a Sabertooth tiger with a common house cat which is pretty redundant. OracleDB is a much more complex product than Postgres is, they are in different weight classes. Also keep in mind that it's not just about features. While working for a former employer I watched MySQL get dumped for Postgres as their billing system grew because Postgres had more features. However after about a year Postgres got dumped for Oracle because Postgres kept suffering major faliures every two or three months or so at very high loads. Oracle simply proved to be more stable at high loads, it scaled better, had top notch (though expensive) support and most of all it offered better disaster recovery mechanisms whenever seldom it did experience a catastrophic faliure (once due to a power faliure caused by construction work) and disaster recovery cost us considerably less effort than it did with Postgres. If you run Oracle on top notch hardware on a properly set up, patched and configured OS administered by a good Sysadmin/DBA it is about the most stable setup you can get. For companies that are making millons using Oracle for, say, their billing system like my former employer, the cost of expensive servers, a good sysadmin and the occasional contracted Oracle specialist is really peanuts compared to the damage that downtime can do in terms of Customer confidence and simply lost revenue.

Difficult, no (1)

lorcha (464930) | about 8 years ago | (#15079215)

But unintuitive? Yes. And of course, Goulet said the process was not "intuitive". Nobody ever said it was difficult.

Think of it like exiting vi. It is not difficult to type :q! but it is hardly intuitive. Same with enabling TCP/IP connections in postgres. If it were a one-liner in postgres.conf, then fine. But also pg_hba.conf? What the fuck does pg_hba mean? I don't know what hba stands for. How do I know to go looking there? I don't, because it's unintuitive.

Re:Difficult, no (1)

LWATCDR (28044) | about 8 years ago | (#15079285)

"But also pg_hba.conf? What the fuck does pg_hba mean? I don't know what hba stands for. How do I know to go looking there? I don't, because it's unintuitive."

Postgres is a SQL DATABASE SERVER! it is designed to be installed by people that know what they are doing and can READ.
That is clearly documented in the manual for setting up postgres. You only do it once in the lifetime of the server.
That is like saying "winning the 100 million dollars was great but they wanted me to drive all the way to there office to pick up the check!"

If that is the worst problem with Postgres then it is the best database server in the world!
BTW Postgres was the first SQL server I ever did an install for myself. I was not and still do not consider myself a Linux expert or a Postgres expert. However I found it not that hard to install and get working including getting the TCP/IP connections working.

Re:Difficult, no (1)

hclyff (925743) | about 8 years ago | (#15079527)

If you have to go through documentation, it's not intuitive.

Intuitive means you can use your intuition and get it work, as opposed to read the manual to get it work.

Re:Difficult, no (1)

MagicMerlin (576324) | about 8 years ago | (#15079675)

holy cow that was funny.

anyways, pg 8.2 will is going to have pg_hba implemented as a table inside the databse instead of .conf file.

Re:Postgres tcp/ip too difficult to configure (1)

PitaBred (632671) | about 8 years ago | (#15079257)

Why should it be in two separate places, though? Even if it is multiple lines, there's no good reason for configurations relating to the same thing being found in two different files.

Re:Postgres tcp/ip too difficult to configure (3, Informative)

allanw (842185) | about 8 years ago | (#15079288)

They aren't. You configure postgres to listen on a TCP/IP port on postgresql.conf, and allow specific IP's to connect remotely/locally in pg_hba.

Re:Postgres tcp/ip too difficult to configure (1)

prell (584580) | about 8 years ago | (#15079621)

Every time I've tried to alter network access and authentication for PostgreSQL, it has broken. The format of the files, at least the last time I did it, possibly a year or so ago, is unclear, and altering it feels very fragile.

A little of both? (4, Insightful)

PCM2 (4486) | about 8 years ago | (#15079047)

Why does everything have to be all or nothing? There's nothing stopping an Oracle shop from using PostgreSQL here and there. Plus you've got EnterpriseDB, [enterprisedb.com] which bolts Oracle compatibility onto PostgreSQL for a little bit of the best of both worlds. Go ahead and pay Oracle for the top end of what their feature set lets you do and use PostgreSQL for the rest.

Re:A little of both? (0)

Anonymous Coward | about 8 years ago | (#15079324)

Why does everything have to be all or nothing?

Darn good question. I am not sure of the answer but suspect vendor FUD has alot to do with it. Vendors hate competition as it makes them have to be competative in service and price. If they know your a closed shop it gives them margins on price and service not in the customers favor. The biggest discounts I have seen in this business clearly go to mixed shows. Walk a Microsoft or Oracle salesman by a rack of Linux MySQL/Postgres servers and they do notice...

Oracle is a great database (1)

puppetman (131489) | about 8 years ago | (#15079061)

as is MySQL/InnoDB and Postgres.

MySQL and Postgres have the features that most projects need. Most databases are relatively small (in the 50 gigabyte range), and do fine with a standard database with triggers, views and stored procedures.

Oracle has features that are absolutely essential to some projects. And MySQL and Postgres are slowly (or more quickly in the case of MySQL) adding features, turning Oracle into a niche product.

Long gone are the days where, to paraphrase, "No one was ever fired for implementing Oracle".

MySQL 5.1 (beta) has data-partitioning, row-based replication (and statement based), event scheduler (like Oracle jobs), and the ability to replication between non-clustered databases and clustered databases (clustered databases don't support foreign keys in MySQL 5.0 and 5.1, so this is a good thing).

Re:Oracle is a great database (2, Informative)

Dan Ost (415913) | about 8 years ago | (#15079120)

Oracle has features that are absolutely essential to some projects. And MySQL and Postgres are slowly (or more quickly in the case of MySQL) adding features, turning Oracle into a niche product.

You make it sound like MySQL is ahead of PostgreSQL in the features department. While it is true that MySQL is currently adding features faster than PostgreSQL, it's because most of those features that MySQL has been adding have been present in PostgreSQL for years.

MySQL is largely playing catchup.

Oracle is a great database (for billionaires) (1)

Peter Mork (951443) | about 8 years ago | (#15079219)

Thank you for stating what should be painfully obvious. By the time MySQL had gotten around to supporting nested queries and CREATE VIEW I had long since written it off as a toy (one that wasn't even fun to play with).

Of course, to get back on topic, the article discusses a comparison of Postgres and Oracle. Until this week I never saw any need to use Oracle. But, they now have native RDF-store and some support for graph queries. Larry is still a colassal a$$, but I am now forced to concede the existence of some smart developers at Oracle.

Sigh!

Re:Oracle is a great database (1)

activewire (515493) | about 8 years ago | (#15079266)

> MySQL is largely playing catchup.

Mod parent up! I currently use all 3 (Oracle10,Postgres8,MySQL5) on several projects.
For basic (low-complexity, low-traffic) webapps, MySQL is perfectly fine.
For unlimited budgets or >5-nines uptime, Oracle please.
Everything else (most enterprise projects I have seen) would do
well on Postgres.

Re:Oracle is a great database (1)

puppetman (131489) | about 8 years ago | (#15079671)

Yes and no.

Postgres doesn't have built-in replication, non-commercial, yet MySQL has had it since 3.x and they are on 5.x now. Yes, there is SLONY, but it's an add on.

Postgres has had views, triggers and stored procedures for a while now, and MySQL just got them in 5.0.

MySQL has clusters since 4.1, and I don't believe Postgres has anything equivilent.

Postgres just beat MySQL to data partitioning (MySQL 5.1 is in beta, but 8.1 is production I think).

MySQL had 64-bit support (I love the Opteron) since 4.0; Postgres just got it in 8.1. The ability to utilize large amounts of memory is a big deal for databases.

Ya, MySQL was missing more of the "core" features, but for us, replication and large database buffers was more important two years ago than stored procedures, triggers or views.

The advantage of Open Source (4, Insightful)

ksp (203038) | about 8 years ago | (#15079072)

To me, the important advantage of Open Source on the server side is that my data is in an Open Format - because I have the source. I can clean up corruptions or load old backups because I know exactly how the server reads the data.

Also, I can use the same database version forever. I have to get someone to patch the code to run on Vista or Windows Server 2025 or whatever in the future, but the core of the database server remains the same. Database servers just keep running on some server and are forgotten until suddenly someone makes the decision to upgrade those old NT 3.51 servers ASAP. If you run an ancient version of Oracle, you are stuffed. No support for the old version, your proprietary front end application doesn't support the Oracle versions that run on Win2003 - so what do you do? Run your business critical RDBMS at an unsupported version on NT on VMWare on Win2003? With Open Source, you can patch the layer that needs fixing, without changing the rest of the product or include the feature bloat the Oracle Sales keep getting added into their products.

Re:The advantage of Open Source (1, Informative)

Anonymous Coward | about 8 years ago | (#15079461)

FUD, pure FUD.

Oracle is very backwardly compatible. You can take old clients that access a newer version of an Oracle database just fine. That is assuming you aren't using a datatype that the old version doesn't understand. (eg timestamp) But that would be silly to add a datatype to your system that makes it incompatible with what you are using currently. (Oracle is knwn for keeping old datatypes around for a long long time. In the past 20 years I can't think of a datatype they dropped.)

I have been places where they have moved the backend to different operating systems (to or from windows to or from netware or to or from Unix ) and the client didn't have to change anything. (other than your database is on this machine vs that machine)

I don't have a lot of experience with Postgres and my assumption is that what client and what OS server the Postgres db runs on isn't really relevant either. (I would expect that the functionality would be the same and the client wouldn't care.)

Clearly you haven't a clue about Oracle or you are just an uninformed troll.

DBA Comparisions - Oracle vs. PostgreSQL (5, Interesting)

Anonymous Coward | about 8 years ago | (#15079076)

If they want something that plays nice with Oracle, they should take a look at http://www.enterprisedb.com/ [enterprisedb.com] .

One of the goals of the company is aimed specifically at making life easier for Oracle people on PostgreSQL.

Company I work for runs both PostgreSQL and Oracle. Years ago we were a PostgreSQL only shop. Along comes a Sr. Developer who touts Oracle to management, and they listened to him.

Now we have 2 Sr. Oracle DBAs, 1 Jr., and 2 PL/SQL programmers.

Oh yeah, we don't have any PostgreSQL DBAs. But we have just as many PostgreSQL servers.

Now we are moving some of our applications back to PostgreSQL, which of course scares the Oracle DBAs.

Our servers are heavy-hit. Thousands of queries per-second on both systems. PostgreSQL can keep up with Oracle, and Oracle can keep up with PostgreSQL.

One thing I've noticed about the market that is both good and bad for PostgreSQL - You can put out an Ad for an Oracle DBA and get hundreds of responces. Put one up for PostgreSQL and you get almost none. Almost a year we've had an Ad out for a PostgreSQL, there just arn't any.

And I don't think its because there arn't any full-time DBAs. The reality is PostgreSQL just doesn't need the same amount of staff that an equal amount of Oracle databases need. The good side, it just works and requires so little maintenence. The bad side? Its hard to sell to companies when they can't have someone full-time on it.

I'm curious with other companies experiences. How many full-time DBAs do you have for Oracle? How many for PostgreSQL?

Re:DBA Comparisions - Oracle vs. PostgreSQL (1)

rjstanford (69735) | about 8 years ago | (#15079205)

Its funny - we had the same experience with Informix. My last company was responsible for about 150 critical production Informix instances, plus about 25 in-house development ones, and handled the load with 2.5 DBAs who spent most of their time tweaking for peak performance, or doing upgrades, et cetera. When we brought on an Oracle product that ratio dropped to more like 1 DBA for every 10 instances.

Then again, Oracle is the same company that sells a multiDollar enterprise product without a hot backup script... If you were a database consulting services company, which would you recommend?

Re:DBA Comparisions - Oracle vs. PostgreSQL (1)

kkrause (316375) | about 8 years ago | (#15079331)

"without a hot backup script?"....ever heard of RMAN? bundled right in there for your added pleasure.

Re:DBA Comparisions - Oracle vs. PostgreSQL (1)

HappyDrgn (142428) | about 8 years ago | (#15079350)

"Then again, Oracle is the same company that sells a multiDollar enterprise product without a hot backup script"
 
Why would you need "hot backup" when you have RMAN backups with redo and archive logs? Simply rman restore and apply archive logs to the current time, and you have yourself an identical backup with out having to copy live datafiles that are being written to. Even on MySQL, why do those scripts even exist when you have backups and bin logs? This hot backup thing never made sense to me, it seems, well... hokey... and totally avoidable with a proper backup or replication policy.

What did I miss? (0)

Anonymous Coward | about 8 years ago | (#15079089)

"...missing is a gateway product from Oracle. These two don't talk to each other except by externally built and most times [highly customized] connectors."

I can see how Oracle must be dying to take advantage of such an opportunity in much the same way Microsoft jumps at the chance to inter-operate with something like Linux.

In other news a sarcastic posting to /. just took place.

Oracle Database 10g Express Edition for free (3, Informative)

Anonymous Coward | about 8 years ago | (#15079154)

For those cost-conscious users, you may want to explore the free Oracle Database 10g Express Edition.

http://www.oracle.com/technology/products/database /xe/index.html [oracle.com]

    Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level,
    small-footprint database based on the Oracle Database 10g Release 2 code base
    that's free to develop, deploy, and distribute; fast to download; and simple
    to administer.

It is absolutely free. It has certain size-restrictions but they should be enough for a lot of usages.

Re:Oracle Database 10g Express Edition for free (0)

Anonymous Coward | about 8 years ago | (#15079276)

It is absolutely free. It has certain size-restrictions

A.K.A. crippleware.

Replication on PG is no good (5, Insightful)

ashpool7 (18172) | about 8 years ago | (#15079162)

Slony I requires a primary key on all tables in order to be able to do anything. I have tables that don't have primary keys and I don't want to ever have them. I've normalized my DB and it's the best way to keep track of multiple items for a single person. OIDs are a waste of time in this situation and a cop-out. I don't want to rely on some level of replication that runs on top of the database server, I want it to be part of the database server so everything that works with the DB is aware of replication needs.

Postgres really needs some replication or mirroring mechanism built-in in order to even begin to attract people away from Oracle. The Slony II project will certainly require this level of integration, and I hope it succeeds, even it it takes until PostgeSQL 10.0.

Re:Replication on PG is no good (1, Insightful)

Anonymous Coward | about 8 years ago | (#15079230)

Slony I requires a primary key on all tables in order to be able to do anything. I have tables that don't have primary keys and I don't want to ever have them.


Wow. C. J. Date, _Introduction to Database Systems_, 8th edition. Don't apply for a job with my company until you've read it and understand what is fundamentally wrong with your statement above.

Re:Replication on PG is no good (1)

MagicMerlin (576324) | about 8 years ago | (#15079412)

Slony I requires a primary key on all tables in order to be able to do anything. I have tables that don't have primary keys and I don't want to ever have them. I've normalized my DB and it's the best way to keep track of multiple items for a single person.
you have been nominated for dbdebunk quote of the week. congratulations!

Funny (1)

ashpool7 (18172) | about 8 years ago | (#15079459)

I suppose you could define the primary key as the order_id and item_id. In which case, I'd have to defer to not wanting to use something that ran on top of the database.

Re:Replication on PG is no good (4, Informative)

bloodnok (35021) | about 8 years ago | (#15079610)

I have used slony-I, Mammoth Replicator, Oracle Advanced Replication, an early version of Oracle Streams in 10g (don't know if it's still called that), and an Oracle third-party replication scheme that I can not currently remember the name of.

Of them all, I would choose slony almost every time. Yes, you have to have a data design with PKs. As a fan or the relational model I think that's generally a good thing. But for those cases where you don't have a PK, slony lets you add one. Painlessly.

I have found building a slony replicated cluster to be way easier than with any other system. I have used slony's switchover in a live environment to upgrade the database, the server and the hardware, with only a 6 minute outage. I administer a 24*7 web-based site and hardly ever have to touch the database or slony.

It's way better than you make out. And if your database design really requires you not to have PKs, then you don't understand relational modelling.

Slony-I does not support multi-master, or synchronous replication. It is not designed to do so. It would be great to have this capability for Postgres but its lack should not be cause to criticise slony-I.

Comparisons (-1, Redundant)

Clinton (798067) | about 8 years ago | (#15079252)

Alright, I've done my searching and can't find a website that will just do comparisons between the different DB options.

How about a site that shows me objective views of what Oracle, PostgreSQL, MySQL, etc. have to offer?

Something along the lines of:

select * ?
Oracle: Yes
PostgreSql: Yes
MySql: Yes ...

foreign db keys ?
Oracle: Yes?
PostgreSql: ?
MySql: ?

Re:Comparisons (5, Funny)

Anonymous Crowhead (577505) | about 8 years ago | (#15079340)

How about a site that shows me objective views Oracle, PostgreSQL, MySQL, etc. have to offer?

Just go to that site that has the unbiased comparison of emacs vs vi (can't rembember the url), then click on the "Perl vs Ruby vs Python: An Ojective Analysis" link. On that page, there is a link to exactly what you are looking for (It's just under all the "Linux vs Microsoft: TCO" whitepapers.)

oracle's rich feature (1)

dubbreak (623656) | about 8 years ago | (#15079295)

So is oracle's rich feature the one the one where you pay through the nose for their software and they get rich?

Not Typed? (0)

Anonymous Coward | about 8 years ago | (#15079309)

Stored procedure parameters are not typed
Ah, so that's why my postgres function definitions look like: create function foo(int, bigint) returns bigint

Only one conclusion one can draw (2, Funny)

RLiegh (247921) | about 8 years ago | (#15079319)

Anyone who has done enterprise level web-enabled applications can easily tell you the faults with all of the major players in the database field. Oracle is simply 'ok', but for most tasks, it's -to be brutally honest- over kill. Do you really need the replication features of SQL when all you are doing is cacheing emails and collecting messages from your users? At this juncture, most people are relieved because they believe that they settle for a second-teir solution such as MYsql and save the licensing fees to boot.

This might be ideal if all that you were doing was a ruby program that indexed your record collection, say for a student project in your CS class; but in the real world if you have to interface with serious e-commerce applications [getindi.com] you will find that not only does MySqL lack even moderately advanced SQL features, but that you will be facing rising support costs for this "free" platform.

So, this brings us to PostGRESL. Now, I don't have a lot of experience with it, myself, given that I've mostly stuck to following the major database players instead of the fringe ones, but since this article addresses it, I've asked some of my friends their opinions. While it's featureful and scalable enough to meet the demands of your average medium sized shop, they've noticed that it tends to not be a viable solution for larger projects. In particular the latest industry benchmarks show PostGREsqL performing poorly compared to more mainstream vendor such as ingres [ingres.com].

Again, like MysQl, POSTgres demonstrates that in order to get enterprise level performance out of hobbyist level software, you're going to have to pay enterprise level fees for support as well as licenseing.

So, in conclusion, after seeing the way in which the other industry standard database solutions fail, there's only one choice a sane IT manager can make: When you need a datacenter solution which both high performant and scalable, is eoconomically viable and contains more support for the current standards the only real contender is SQL Server.

Availability of Source Code? Does it Matter? (5, Insightful)

Cranky Weasel (946893) | about 8 years ago | (#15079320)

"I like how I can look at the Postgres source code, so I don't have to call anyone to solve my problem - or I can choose who I call."

In discussions like this, availability of source code always comes up.

I want to know who has a job where they have so much extra time on their hands that they can debug the source code of their database product.

No, seriously. I REALLY want to know. I can't imagine things operating at a pace where this kind of thing is even an option.

The only conclusion is that people who actually do this are either (a) the top .001% of the elite programmers who can do this on the fly, (b) ex-developers from the PostgreSQL team, or (c) nerds in their basement with no time constraints because all they're doing is running their Star Trek fansites with it.

Re:Availability of Source Code? Does it Matter? (3, Insightful)

bloodnok (35021) | about 8 years ago | (#15079442)

Yes, access to the source matters. Not because you want to hack it, but because you may want to put a debugger on it to track down a problem. With Oracle you don't have that option.

Instead you call Oracle support who ask a lot of questions. You answer the questions, they ask for a database dump. You spend time organising this only to be told that it's too big for them to deal with. You demand help. They ask more questions. You get nowhere.

I have been through this process many times. I have been an Oracle DBA since version 7, and a developer since version 5. I much prefer postgres. When things break, I can track down the problem myself. I probably can't fix it but I can provide useful information to those that can.

That is worth so much more to me than the ability to talk to an 'expert' at Oracle support.

Re:Availability of Source Code? Does it Matter? (1)

Senzei (791599) | about 8 years ago | (#15079552)

I want to know who has a job where they have so much extra time on their hands that they can debug the source code of their database product.

I would guess that this is more a theoretical reassurance than an in-practice feature. Theoretically if the db broke and I had absolutely no other recourse I could debug it myself. In reality there are a lot of other options to fix the situation faster, but having that last resort available is nice.

Re:Availability of Source Code? Does it Matter? (1)

tweek (18111) | about 8 years ago | (#15079612)

There are also SEVERAL support companies who CAN understand the code (many of whom are PGSQL contributers) and fix it for you.

If this is really an issue (to the GP), they should purchase a support contract and/or buy one of the commercial builds of PGSQL (Greenplum, Pervasive, Mammoth).

I honestly don't know many DBAs myself who could fix the actual source itself.

In other news... (4, Funny)

adolfojp (730818) | about 8 years ago | (#15079321)

Next week on Slashdot:

Movers: 18 Wheelers and Pickup Trucks Debate
Grave Diggers: 360 Degree Excavators and Shovels Debate
Firefighters: C-130s and Hoses Debate

No oracle for FreeBSD (0)

Anonymous Coward | about 8 years ago | (#15079323)

As long as that situation exists, there is 0% chance of them being used on the platform we use.

PostgreSQL does run on FreeBSD however. And every day that passes without Oracle makes it eaiser to say 'We do not need Oracle'.

Clustering (1)

mislam (755292) | about 8 years ago | (#15079512)

Lack of pure built in clustering or proven replication support keeps me away from Postgres. Any idea when it will be part of the actual DBMS?

Re:Clustering (1)

tweek (18111) | about 8 years ago | (#15079588)

I feel your pain. The next project I have in our DR process is getting our warehouse PGSQL replicated offsite. Right now I think the easiest way to do this is going to be to use drbd and mirror the disks over the WAN. I don't like it but I just don't feel comfortable with Slony-I yet.

IIRC, they are trying to get Slony integrated into the mainline build. The nice thing about MySQL replication is that it doesn't require any schema changes and replicates objects as well as data.

Many DBAs miss the point (2, Interesting)

philovivero (321158) | about 8 years ago | (#15079601)

Like any profession, database administration is rife with the mediocre and downright incompetent. For those, Oracle and the like provide an awesome service. A DBMS that works half the time, and the half the time it isn't working, there are documents, online knowledge bases, and expensive tech support personnel who can read to you from their CDROMs.

If you really want to know if PostgreSQL (or MySQL) can handle it, look at the best and brightest tech corps in the world. I'll pick two for you: Google and Yahoo!. They use MySQL extensively. IMO PostgreSQL can do whatever MySQL can (though, honestly, I'm not sure, I've only ever seen MySQL in high volume environments like Digg, where I'm currently working).

If your org *NEEDs* Oracle or Sybase or whatever because MySQL and PostgreSQL aren't supported by some software you bought, I feel sorry for you, and recommend you either accept your company's mediocrity or get out.

If you think MySQL/PostgreSQL just don't have what it takes on a fundamental level, I humbly suggest you rethink your competence in the field.

Re:Many DBAs miss the point (1)

tweek (18111) | about 8 years ago | (#15079630)

Support is a real issue though.

Example:
Our ETL vendor, Informatica, doesn't support PostgreSQL or MySQL and refuse to even help with the issues.
Our BI vendor, Actuate, rebuilt our environment and provided a custom build of the package to make it work with PostgreSQL.

Interestingly enough, Informatica costs a fortune compared to Actuate.

Backups backups backups! (2, Informative)

yem (170316) | about 8 years ago | (#15079666)

Just to plug my favourite itch..

PostgreSQL needs a reliable, well documented method for performing live incrememental backups. As in:

1) dump the whole database once a day
2) dump the transaction log every 5 minutes

You can then recover to any point give or take 5 minutes by loading the last full dump and each of the incrementals up to the point you need.

PostgreSQL ALMOST has this in the form of "Point In Time Recovery" but..

1) the documentation is incomplete - key details (like a definitive method for identifying the current log file) are missing. Check out the threads in the postgres-admin mailing list. It needs to be easier and users need to be 100% confident that they have the right set of files.

2) you can only backup and restore the whole server instance - ie ALL the databases at once. In practice this means you need a second server somewhere to do recovery on, then need to perform a complicated migration back to the primary server.

If backups don't really matter to you (or you're not running a transactional system) then PostgreSQL is fantastic. But if it's getting many updates a day and you care about recovery (so you're not boned when someone forgets the WHERE clause in a DELETE/UPDATE command) then it doesn't quite cut the mustard yet.

An official reference implementation backup & restore script would be a good start.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...