PostgreSQL 7.3 Released
rtaylor writes "Nearly a year's worth of work is out. The new tricks include schema support, prepared queries, dependency tracking, improved privileges, table (record) based functions, improved internationalization support, and a whole slew of other new features, fixes, and performance improvements. Release Email - Download Here - Mirror FTP sites (at bottom)."
I've heard this is the best SQL server around. Is it really better than MySQL?
PostgreSQL is a great database. I always run it as a daemon on my iBook since the Smallttalk development environment that I run needs a relational database for source code control.
-Mark
Did they do anything to improve/add replication support? That seems to be the only real thing that was holding it back from replacing Oracle, as far as I can tell. I know several projects for such a thing were in the works, but they appeared to be very beta.
Software piracy is victimless theft.
Replication out of the box?
WOOHOO!
DROP COLUMN [column] FROM TABLE [table];
This up-until-now lacking feature has been the bane of my existence. I HATE cruft being left lying around.
(btw, I don't know if that is the correct syntax, just a guess)
My
Limekiller
Mysql postgresql YOU!
So what are you trying to say? You don't like Open Source?
DAMNIT! :-P.
I literally downloaded the old version of PostgreSQL yesterday... Damn you
Oh well, a bit of fun bandwidth loss to look forward to (I'm on 56k, BTW...)
Um. Right. Of course, since it's an OpenSource database, it's obviously better. I'm sorry, but that's not quite logical. :P
Isn't cheaper better? *cough*
And besides if it wasn't for bashing "idols" where would all the Gates jokes go?
R4NT.com - A great many people think they are thinking when they are merely rearranging their prejudices.
OK so you have found software that addresses your problems and that accounts for the conditions that are vital for about 0.0001% of people who are looking for a database. For everyone else who is looking for a database solution PostGres, MySQL etc might just be worth a look in.
You need to remove Apache from that list. Its IIS that has been playing catchup. Sure they've taken a few benchmarks at times for displaying static pages but that's it. Apache is the standard by which other web servers are judged.
t
It's an Oracle killer based on the fact that 80% of Oracle installations out there are overkill.
Seriously, look at the amount of Oracle installations out there. Now how many of them _need_ any of those features? Is it worth the extra cost of Oracle? More than likely it's all some marketing crap that eveyrone is led to believe than "only Oracle can do this".
My PHB is like this. He insists we use Oracle because we need an "industrial strength database", for a db with 40,000 records. Argh! Oracle is freaking expensive, we got Larry Ellison crusing around in some damn yacht race on our bill. In our case, Postgre would be an Oracle-killer, it's just getting people past that fact that Oracle is unnecessary for alot of applications.
Cue all the people telling us why it's better than MySQL.
So - why it it then?
Get your own free personal location tracker
n/t
While for most of the others, I'll agree... Apache is a 'shoddy knock-off'? Whah?
I'm not about to switch to Linux for my laptop, I'll admit, though I might load it onto my other machine once I've got it fixed, just for fun. I happen to be very enamored of Photoshop. But, at the same time, while I write my school papers in Office XP--I do my pleasure writing in OpenOffice.org because it has features that MS Office doesn't. (Two words: Page styles.) And Apache has served a lot of websites well for a very long time.
Open Source doesn't automatically make something good--but it doesn't automatically make it bad, either. Maybe you should try actually evaluating these products on their own merits, sometime?
Posting anything on PostgreSQL and MySQL will invitably lead to meaningless post over which is best, PostgreSQL or MySQL; and I also mean posts like this. ;)
PostgreSQL now supports the ALTER TABLE
HURRAY! this has been my biggest annoyance with postgresql since I've started using it. there are workarounds for older versions, but they become arduous when you have a lot of existing data.
this is a *very welcomed* implementation.
There aint no pancake so thin it doesn't have two sides.
You are linking to something that counts security advisories for Linux and compares them with security advisories for other OS'es. You seem to have misunderstood that security advisories for a certain OS are something entirely different from security advisories for a RDBMS. The 2 are completely unrelated.
p orted-platforms.html
In fact, if you want to you can run PostgreSQL on Windows if receiving less security advisories is more important than the time-to-fix. Or if you feel really paranoid, just run PostgreSQL on OpenBSD. That gives you an excellent safety record, with only 1 remotely exploitable security problem in nearly 6 year.
For a complete list of supported platforms see http://developer.postgresql.org/docs/postgres/sup
Apache is a "IIS Killer"
...conveniently ignoring that IIS is of course playing catchup with Apache, not the other way round!
http://www.netcraft.com/survey/
- Chris
see subject
___
If you think big enough, you'll never have to do it.
Umm Apache is *NOT* playing catch up in ANY FIELD (features OR marketshare). Apache beats IIS in both feature set and popularity.
Linux has far better features and is used more widely in the server market.
In terms of home user market share, Linux is playing catchup. But only in terms of MARKET SHARE.
learn some crap.
Speak more clearly.
"A years" does not make sense.
You obviously meant to say "eight years", but you need to speak more clearly.
Dancing Girls
The PostgreSQL now includes a number of beautiful dancing girls
I can't tell you how long I've been waiting for this feature! Now I can get rid of Oracle for GOOD!!
Kudos to the PostgreSQL team!
Is there any good way to get a PostGreSQL DB to connect to a MS SQL macihne?
So does PostgreSQL have hot backups yet? or is it still the toy its always been.
Any experience with high availability postgresql cluster?
I don't like to feed trolls, but it should be pointed out that PostgreSQL is not even mentioned at all in the URL you provided. Also, the Aberdeen report upon which the URL is based has been pretty thoroughly debunked because the data source upon which it was based (CERT Advisories) are a very poor measure of how secure one OS is relative to another.
FreeSpeech.org
Do you want to live in a world where things like the GUI, 3D graphics, wordprocessing, webserving, and other commercial products were never developed?
With the exception of wordprocessing all of the innovations you cite were developed by academic R&D teams, NOT by commercial software vendors.
This one exception, wordprocessing was NOT an innovation arising from the computer revolution - it's roots go back to IBM Selectric Magcard typewriters.
All the commercial vendors have done is copy, copy and copy.
Citations:
GUI - Stanford Research Institute Augmentation Center
Wordprocessing - IBM Typewriter Division
3D graphics - Evans and Sutherland, UofUtah and Harvard
Webserving - T. Berners Lee, CERN
The fact is that if the closed source behemouths were to dry up and blow away, it would probably enhance innovation by reducing the barriers to entry in the marketplace imposed by the likes of Microsoft.
After all, what VC is going to fund a new wordprocessor these days? VC's know all to well what Microsoft would do to any new market entrant that starts to gain traction. They have the horrible example of Netscape to look back on.
Of course, he uses it on a Thinkpad, but you have to spend money to make money.
You are not alone. This is not normal. None of this is normal.
so it simply makes sure it IS death and it stays that way..
Nobody expects the spanish inquisition!
Does this mean stored procedures returning record sets is finaly supported?
This was the main thing stopping me from using postrgres. Every other (commercial) database I have used allows this, and I couldn't believe postgres didn't when I installed it.
If you aren't really trolling, and you really think it's worth paying for quality software, why would you pick a crappy RDBMS like MS SQL Server over something with a far better track record, like Oracle or DB2?
PostgreSQL was developed in Lithuania. MySQL was developed in Sweden. This is a European joke.
Anyone have any experience using PostgreSQL in a production environment with JDBC?
Whoa, buzzword attack!
/me gets tinfoil hat
I've found it really disinformative when thay claimed unicode support in 7.2 but for most scripts there is no proper collation. That was not so easy to find out since the unicode support was generally really hart to set up and I was assuming I must had made some mistake.
Is it better in 7.3? I can't find anywhere any list of scripts supported.
Well one of the most important subjects on slashdot is the broader acceptance of open source software. Things have been going pretty fast lately; we have a state-of-the-art office-suite, database-server, browser, movieplayer etc blabla you name it. Many of those things weren't ready for prime time until very recently. Now they're getting there _fast_ so it is to be expected that some of the (now much more frequent) major milestones in the history of broad acceptance of open source get posted on slashdot. Though I agree with you that not every Linux kernel release should be on Slashdot. But this release of Postgresql has some VERY important features which will make it much more interesting to use as a replacement for Oracle or Sybase.
0x or or snor perron?!
Enterprise noun def: an organization so large that the people who buy systems don't know how they work and so have to hire someone who does.
PostgreSQL can handle the 50 million rows provided the data structures are well-designed, and according to their press release they can handle the replication (it's always dynamic). The query rate of 2000/sec is more a question of the server hardware, server configuration, and network infrastructure than the database software per se. I don't know about "complex 3D boolean queries" but I know for a fact that PortgreSQL can process big, ugly, inefficient queries pretty well.
What makes M$SQLServer and Oracle more "suitable" for enterprises is their add-on tools (both have loads, though of varying quality) and the fact they maintain service centers for when the DBA throws up his hands and gives up. From my perspective though, the reduced licensing costs (even for large installations, we're talking about hundreds of $'s times thousands of users!) could pay for a lot of up-front hardware and ongoing code review. If I were starting a largish e-commerce project today, I'd start on Open Source just because or the reduced up front cost. You don't become among the richest people in the world by giving anyone a good deal.
Everything I've ever learned the hard way was based on a statistically invalid sample.
If mysql is 'borking' at anything over 8000 rows, I'd take a real hard look at my design if I were you. I did a conceptual demo for a client once, where we sucked up a raw data file from their mainframe - 65000 rows, five tables, and the largest table had about 18 columns. The import took all of 45 seconds, and there was absolutely no performance problems of any kind. This was being assessed to determine how much faster this would have been compared to a RAD-based solution they were currently using. But 65,000 rows is small potatoes.
Just curious: how many front-end connections to back-end can PostgreSQL hold as its maximum. How many can Oracle do?
hes right! remember when all other OSes copied microsoft by adding GUIs and threading and secure filesystems. oh wait..
My PHB is like this. He insists we use Oracle because we need an "industrial strength database", for a db with 40,000 records. Argh! Oracle is freaking expensive...
I couldn't agree more, but I'd also like to expand this to MS SQL Server - it also is expensive (for the enterprise edition) and its PR is even more adept at brainwashing PHBs. For a relatively small DB, a PHB CTO at the last job suggested we continue to use MS SQL Server and give them even more money for a shitty DB, because he wanted to add another instance of the DB, and pay 15K or whatever for that license, too....we could easily do with Postgres (or MySQL for that matter) but he thought he was some sort of DBA....his other suggestions were to do all coding in the DB, too, using stored procedures (when you learn how to use a hammer, everything starts to look like a nail), but that's another whole story altogether. A freaking idiot, but now he's busy running that company into the ground, and I have no job.
Oracle or maybe DB2 should be used for the truly big databases, and Postgres for the midsize and maybe MySQL for smaller projects, IMHO. MS SQL Server is *so* frustrating because anyone who can point and click in that GUI admin tool thinks they are DBAs, and hence you have to deal with fuckups from the likes of these people - I have seen it *literally* dozens of times. These same dipshits will go and directly modify tables in this GUI instead of in the proper place: a modeling tool that has archives of changes. It's also frustrating because of the various misfeatures I've run into over the years.
But what I've noticed is that the least qualified people are the ones who are the ones makes decisions on key things like these. I've also noticed they are apt to look to the dumbest programmers or "admins" in the staff to "help" them. So I'm sure that people will continue to use shitty products like MS SQL Server because it can enable low-paid bungling fuckups to be "productive".
Instead of "telling" your PHB, why not try "showing" your PHB. Reimplement your db in postgres, take your PHB by the hand, and demonstrate the effectiveness of your alternative.
I've always found "doing" achieves far better results than "talking".
Mike
-- Karma whore? You betcha. --
(lie, troll, FUD): PostgreSQL has a bad security record recently [wininformant.com]. Make sure you don't run this in a production enviroment. OK, normally I'm not that paranoid but I've seen several anonymous "MS FUD Trolls" in here recently. Just a thought: would "they" pay someone to troll at slashdot? Seems like it...
No, it hasn't. A summary of the list of missing features:
Of course, they give crap rationalizations for each, and/or that "it's planned for [distant version of MySQL]". Of these features, only the last might be considered trivial, and even that is quite a pain if you're trying to write some portable SQL.
The others, particularly the lack of triggers and foreign keys, make this a data integrity nightmare for anything nontrivial.
Sure, sure, "but you can do it all in code": typical response. You know, that was their response to lack of transactions, too. "Too slow", "you don't need those". Right. You could just write a whole database in your code, too. The point of using a RDBMS (and, lacking relations of any sort, makes MySQL just a DBMS) is reliability so you don't have to constantly worry about these things.
PostgreSQL has all of the above features, and quite a few more. It's an OORDBMS. (Yes, this is very cool, and lets you do some very nifty things.) It's got better-than-row-level-locking (MVCC; MySQL does table locking only.) And all the other things people have mentioned here.
MySQL is a toy database, and should be treated as such. Not just for transactions: for all the things that make a robust RDBMS.
Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
No, pad're HiswikiP&Qs....whatever is NOT as functional and intuitive as M$ ACCESS for 90% of home/office tasks. Let the dweezles drools, ACCESS ruleZ.
Maybe it was a troll, but here's the proper information:
- Transactions are available to MySql.
MySQL 3.23 release has several major features not present in the 3.22 or 3.21 releases. These include: full-text search, replication between a master and many slaves and several new table handlers that support large files and transactions
- Is that information about foreign key constraints in the MySQL manual? .. Why, yes!
Are record locks really a non-existent issue? Maybe the MySql user manual can shed some light on that point: "Performing a read in share mode means that we read the latest available data, and set a shared mode lock on the rows we read."
- The stored procedures and triggers are not here yet. Thank goodness something in that old link doesn't need to be refuted!
So yes, you might want to check out that really old critique of MySql, but then again you might want to look at the MySql.com website if you want current information. Then you can compare the newest PostgreSQL to the newest MySQL.
Main feature I've been waiting for replication.
:)
As of a couple of months ago none of the replication options for postgres were any good. Most were unreliable, offered very small features or very hard to set up.
Some looked like they had promise, but were not there.
Please, please, please, add replication to the next release
I also wish performance for simple case dbs was faster. eg key value dbs compared to the performance of sleepy cats berkley db.
I'm sure there would be a *lot* of money to be had if someone were to make a good replication system. Possibly releasing it blender styles? Or offering to implement replication for businesses for a fee?
Perhaps one of the postgres groups could ask for donations from some of us users so some developers could work on it full time. I know I could easily convince my boss to cough up for it. Almost any business that relies on postgres could be convinced to chip in I think.
It has an Answer Table, just like Paradox for DOS had 10 years ago. I'm impressed!
Seriously, this is good news from a usability standpoint. Dr. Mark Pauker must be proud of these guys.
Who moderated this as "Troll"?
There are some seriously Humor-impaired people with Mod points!
FWIW, I once fixed up a company hopelessly wedded
to Oracle by essentially replacing all their
reporting systems by just:
The end result ran under 10 minutes, while the old
crap took overnight.
My motto has always been, get the sh*t out of
the fabled "DB" as soon as you can. Then you
can use awk/python/perl whatever to actually
do something useful with it.
BAD Apple! No biscuit!
(Yes this is a plea for help in disguise. If you have solved the problem of running rc.d-ish scripts at shutdown time on Mac OS X 10.2 please leave details.)
PS On the plus side, PostgreSQL 7.3 builds with no errors on Mac OS X, unlike 7.2. This was important enough to me that I used the beta in my (development) code.
Congrats to all involved in this release anyhow.
Yours,
A grateful PostgreSQL User && a pissed off Apple Customer
I remember playing around with Postgres a while ago and looking at the supposed OO features, and quite frankly they didn't seem very impressive at all. Basicaly just 'inheritance' of table structures. I mean... Color me underwhelmed. I can't think of a single reason why you would need this.
It didn't have nearly the same kind of features of true OODBs, What exactly is the use for Postgres's OOness?
ReadThe ReflectionEngine, a cyberpunk style n
65000 rows in 5 tables is not small potato, it's inconsequential. It will fit all in RAM on anything recent. Performance will obviously be miles better.
A more realistic test would have been 1000000 rows in 15-20 tables. That's more on the line of the kind of system I've seen. Maybe on the small side.
For the record, give Pg 2 processors, 1 gig of ram, fast raid scsi discs and configure it properly. I swear you'll think your dealing with 65000 rows no matter what you do (but don't screw up the indices, use EXPLAIN a lot.)
Alex
I agree with you -- it was one of the few attempts at humor here that actually came off.
Well, I would definitely call the management of Slashdot 'idiotic'. And I certainly don't have much faith in them technically.
MySQL was used for the US census's website, not for their central purpose. I would be very suppressed if they were actually storing the real data in a MySQL database.
And again, MySQL was used for a small part of Yahoo (the finance stuff) not for storing their link catalog.
ReadThe ReflectionEngine, a cyberpunk style n
This is slightly off-topics but anyway...
There have been some references to msAccess here, what I like about Access is the ease I can build an ad hoc database application (but where the data could be reused easily should there be a later requirement).
While Postgres sounds great, I want to know if there are and tools that approach this ease of development, within a linux environment. Ability to choose the back-end database would be a huge plus - I'd certainly give Postgres a go.
RG
Even Paradox for Windows 8/9 makes a better web server than Access.
http://www.thedbcommunity.com/inet/qa.htm
And just b/c MySQL might be the right tool for a given job doesn't mean that job isn't "REAL WORK". Kinda like the whole Linux/Windows debate...it's all about suiting the app/OS/whatever to the given task. And MySQL performs very well for tasks that have lightweight database needs.
We've been running Postresql in production for over 3 years, we have hudreds of thousands of rows for each customer that uses our product. Fast? Please, it screams. Our initial choice was Oracle, but we couldn't eat the cost, it would have cost about $12,000 just for one server -- nuts if you ask me.
We chose PG because it had 90% of what Oracle had and less the fat. Postgresql is far easier to get running and far better on the memory footprint, it runs in around 8mb's... big whoop. If you know anything about Oracle, its hardly good about memory, and one bitch of a product to get running (right).
Lastly, I'll say this about Postgres, its in our opinion, and this is from 20 years of experience with Oracle (I go back to the Oracle 6.24 days when I worked for Prime Computer and ported Oracle to the 50 Series machines for Prime), that Postgres is much more stable out of the box on Linux than Oracle could ever be, Oracle is as buggy as it gets, and don't let Larry fool you. Its got bugs.
As far as this dude throwing shit at open source and saying that the commercial counterpart is better? Possibly, on the desktop you might be on to something, but I firmly believe that you CAN'T beat PHP, Apache and Postgresql as an application platform for 99% of the Web world out there. The three products in question that I mentioned are far better products than ANYTHING on the commercial market right now... And yes, they are Open Source.
This is not always possible. Some org's are very rigid in such matters.
The first time I tried using JDBC was with postgres, It was pretty simple, but I ended up using Accesss (and eventualy MSSQL) for production stuff, simply out of lazyness. I do recall that JDBC seemed to have a lot more capabilites on postgres then on the Microsoft stuff. (like, you could call moveFirst(), moveLast(), etc on resultssets).
But its entirely possible I just don't know what I'm doing. In any event, it seemed to work fine.
ReadThe ReflectionEngine, a cyberpunk style n
see subject.
Please stop humoring this fucking retard. If he were right, then mission-critical projects undertaken by Yahoo, Nasa, Motorola, and Ericsson would all be in trouble. Somebody cut this fucking moron poster's hands off, as he has no business touching a keyboard.
...mySQL had proper, full support for constraints Slashdot wouldn't post so damn many duplicate articles...
HAR HAR HAR...just jokin' around...pleeeeze don't kill me.....
What makes M$SQLServer and Oracle more "suitable" for enterprises is ...[snip] ... the fact they maintain service centers for when the DBA throws up his hands and gives up.
Redhat will quite happily sell you a version of Postgres that they then support. For a price, of course, but a shitload cheaper than either Oracle or DB2.
Dave
I write a blog now, you should be afraid.
I've used MySQL with PHP/Perl for a while on various projects, and always half considered Postgres, but since many web hosts don't offer it (why?) never really considered it seriously (don't wish to rewrite a lot of db code - and yes I do know about PEAR with PHP, but it's a performance hit).
So, does PG+PHP match the speed of My+PHP? Is it as thoroughly tested? As I'm moving away from using Perl, I'd be really interested in seeing some benchmarks with this new version of PG...
Code, Hardware, stuff like that.
What they don't tell you is if you use innodb tables for transactions, you won't be able to back up your database without shutting mysql down unless you buy the innodb hot backup tool. So yeah, they have transactions it just doesn't work well with doing backups on your data.
Postgresql has mvcc (multiversion concurrency control) meaning that readers or writers don't block other readers or writers from accessing the same data.
If you are going to start talking about vapor features then what about postgresql's plans to support point in time recoveries (pitr), redo logs, savepoints, and full clustering with multiple masters.
Incidentally, the link you point to says that stored procedures are planned for version 5 of mysql. Mysql is currently on version 3 with development work being done on version 4. Version 5 is a long time off. Triggers are something that the mysql developers will consider, and are not guaranteed to be implemented.
Getting back to what is present in the software now, mysql doesn't support stored procedures or triggers. Postgresql meanwhile supports triggers, stored procedures (written in python, perl, or sql), and rules (which allow you to intercept and rewrite sql queries).
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
It is a fantastic video game.
In the true spirit of /. pedantry, please note that "it's" is a contraction of "it is", whereas "its" denotes that "it" is in possession of something (in this case roots that go back to IBM Selectric Magcard typewriters).
Best Wishes,
Its, not It's Guy
Mod parent up +1 funny, and a 'lighten up, Francis' to the UNSAT moderator.
... Now I'm just waiting for a pedantic post from the "It's not Its Guy".
SPELLING FLAMES CONSIDERED HARMFUL
... but it will be very poor Netiquette to write that person and say: It's "lose weight", Dummy, not "loose weight. Loose weight is that stuff that hangs off you after you LOSE weight."
Every few months a plague descends on the network called the spelling flame. It starts out when someone posts an article correcting the spelling or grammar in some article. The immediate result seems to be for everyone on the net to turn into a sixth grade English teacher and pick apart each other's posting. This is not productive and tends to cause people to get angry with each other.
It is important to remember that we all make mistakes, and that there are many users on the net who use English as a second language. There are also a number of people who suffer from dyslexia and who have difficulty noticing their spelling mistakes. If you feel that you must make a comment on the quality of a posting, please do so by private email, not on the network.
In our loop we often talk about losing weight. Many members will write that they need to "loose weight." Other members will read the incorrect spelling of "lose" and cringe
I think you're looking for the loose, not lose guy - I'm someone different entirely. And while I hardly think these posts are flames, if they are then they're grammar flames, not spelling flames. :-)
Best Wishes,
Its, not It's Guy
I have worked at using PostgreSQL for 3 years,
but I have not used it yet because I have not
seen that anonymous users can use it.
I sense that its strong security prevents expected use. If I say anyone can read my tables but no one
can write to them, I would hope "anyone" would include even those without accounts.
The only way I found to do this in Debian
changed root permission to update postgres and the many Debian packages using postgres.
For three years, I continue to be optimistic about PostgreSQL, and every 8 months I look at it again, thinking I missed how both root can automatically update Postgres, yet users can anonymously use PostgreSQL when "allowed".
bahhahahahaha. nice one.
Kudos to the postgre team. Does postgres have the concept of the transaction log? undo and redo? just curious.
Let's go down the list:
...and a year after the bug was fixed, do we see a benchmark update? Nope.
...whatever.)
What the MySQL developers conveniently fail to mention is that if you use transaction-aware table types, performance drops dramatically. Under load with multiple concurrent connections, PostgreSQL is pretty close to the speed of MySQL or faster by default and blows MySQL's doors off when MySQL is transaction safe.
Regarding foreign key constraints, see note regarding transactions. And if you are really concerned about fk speed, you don't have to use them in PostgreSQL either.
Record locks hunh? It may surprise you to know that as a user, you don't need to explicitly tell PostgreSQL to lock tables with your queries. Ever. This a relational design issue. This should be handled by your database architect when they layout the table structure, rules, foreign keys, views, and triggers. You do have someone that designs the table structure ahead of time right? Sure you do. But why don't you have to explicitly lock the tables is PostgreSQL?
Maybe it's because PostgreSQL is smart enough to know when you need them without your help.
Transactions? Aren't those only for banks and e-commerce? Nope. Let's say you want to update all the users in Slashdot to give all of those loyal geeks one extra karma point. So you select on all users, grab their current karma, add one, and update the record. This has two problems: concurrency and completion. What happens if the user is moderated up or down in between the moment that the record is selected and the moment it's updated? Looks like the user has accidentally been given either (a) an extra point or (b) had a point taken away. Also look at what happens if the database goes down while doing the work (someone kicked a cord), who got the extra point and who didn't? Darn. Wish I had transactions...
So you use the transaction-aware MySQL tables. Wow! Performance has sure dropped out and we have to think about implementation details like locks. I sure wish there was a way to avoid stupid programming mistakes like forgetting a lock. Well...you could use just about any other database out there (including PostgreSQL).
As for stored procedures and triggers, you need not talk about features that aren't here *yet*. Version 4 isn't out of beta yet and you're hanging on a possible v5 feature? While we're at it, let's talk about how multi-master replication will appear in PostgreSQL by then. And didn't you hear? Microsoft's IIS will have its security holes patched up in two years too. Vaporware is vaporware. Believe it when you can download it.
------
Now then, on to personal gripes about MySQL above and beyond the ones I have listed above.
Benchmarks: On MySQL's benchmark page comparing PostgreSQL, they complain that no utilities are available for benchmarking but their own. This is not strictly true. No benchmark can be made because the syntax to the different RDBMSs are so dissimilar that none can be made currently without a strong bias. Stored procedure support, for example, would definitely skew results away from MySQL. But that wouldn't be fair for a benchmarking tool since MySQL doesn't support stored procedures. The same is true of triggers, rules, views, and other such "unimportant" features.
Of course MySQL's benchmark shows MySQL in a good light. They use only the feature set of MySQL to perform the benchmark.
They also mention on the page that they've contacted the PostgreSQL developers for tuning information and methods of improving the benchmark tool. I cannot express loudly enough that THIS IS A LIE! The PostgreSQL mailing list has many instances of developers reporting that they (a) never heard about this "contact" until someone pointed out the MySQL page, and (b) they have been ignored when they've tried to submit tuning techniques and other optimizations. Sounds like some people don't want their benchmarks to give the "wrong" results. Heaven forbid!
As it stands now, the benchmark is a year and a half old. MySQL is on its 53rd patch revision and PostgreSQL is two minor version releases later since this benchmark was released. Weren't you saying something about posting stale information? They still have a page complaining about vacuum bugs and the desire for a newer version of PostgreSQL that fixes the problem.
Feature comparisons: another source of info, it talks about the query speed on mostly read only data. Did someone forget to mention that flat files are even faster for mostly read only data?
It states that since MySQL has more users, it must be better than PostgreSQL. Funny how that logic doesn't seem to work for Windows. They use the same logic with the number of books. It wouldn't surprise me if there were more books on DOS than Linux. Does that make DOS better? Does that say anything about the relative quality of those books? No.
MySQL supports more APIs and languages. This is correct unless you want to count stored procedure languages. Oh wait, MySQL doesn't support stored procedures. (Yet! They'll be there in two or three years or so.
It then touts MySQL's fine replication facilities. Hello people! How often has slashdot gone down due to database issues? Hardly a poster child for stability or reliability.
According to mysql.com, PostgreSQL doesn't have a unit test/regression test. It makes one wonder if they've even used PostgreSQL.
PostgreSQL is said to be deficient with ODBC. Too bad they couldn't provide any specifics.
I'll relax about the statement that MySQL had more functionality with ALTER TABLE. FYI for readers, that has just changed with PostgreSQL 7.3.
They are correct that PostgreSQL doesn't have MERGE. Instead, they use the SQL92 standard UNION. Does the same thing. And let's not forget about views. What was that!? MySQL has extensive use of non-standard syntax? Any queries you write in MySQL will only have a prayer of working on MySQL? Say it ain't so!
PostgreSQL has had full text search for a while as part of contrib.
I don't even want to start with "MySQL Server is coded from the start to be multi-threaded, while PostgreSQL uses processes." Aside from databases on Windows, this helps whom significantly? A clue folks: Apache HTTPd also uses processes extensively. Pure thread support was only really added for the sake of Windows. This is one of those times where stability and consistency are more important than raw speed. This is your data!
And on and on...
As a final note, I would like everyone to take a trip down memory lane with me and recall that the MySQL dev team didn't see a need for MySQL to have transactions or any other of those "fancy" things at all until a couple of years ago -- when everyone started to realize that MySQL wasn't really twice as fast as PostgreSQL even though MySQL was crippled feature-wise.
The MySQL has so much misleading information (apart from the items that are outright false) on the web site, I wouldn't recommend it to anyone who wants correct information, "current" or otherwise.
- I don't need to go outside, my CRT tan'll do me just fine.
since you mysql doenst have the concept of undo and redo... you really cant call foxpro, which happens to have more sql features than mysql and stores each table as a file like mysql, a toy.
Not good when you can get more integrity out of a foxpro database. they have "transactions" to ( an utter kludge of course but they do).
You're right on a lot of those, but Mozilla being the "IE Killer" is entirely true.
Yup, and it's a real shame, because both postgresql and mysql have grown in leaps and bounds for the last couple of years. Mysql has been trying to add some sorely missed features, and postgresql's performance has been steadily improving. These two items seem to be the major gripe in the mysql/postgres wars.
I suppose there will always be that [unfounded] mentality that free-as-in-beer stuff couldn't possibly be as good or better than the expensive stuff. Oh well. They can keep spending millions unnecessarily, and we'll keep smiling because we know better. :P
Mike
I'll be good, I promise. Now gimme back my karma.
-- Karma whore? You betcha. --
I think you have it backwards. IIRC, httpd was originally written by NCSA at the University of Illinois at Urbana, on some flavor or another of BSD or SYSV Unix (BSD, if I remember right...), and is older than NT3.1, at least for purposes of availability. Apache is the end result of a bunch of server admins patching the NCSA sources after NCSA quit supporting httpd (A Patchy Web Server).
The concept of the GUI (and the mouse, for that matter) date back to Xerox PARC in 1975. Incidentally, that was the same time MSwas founded. IIRC, they were selling a BASIC interpreter for some architecture or another of Intel 8008 or 8080 (anybody know the answer to that one?), probably for PL/1, out of Albuquerque, NM. Apple released the first real GUI desktop machine with the LISA in 1983. Windows 1.0 was released around '85 or '86 (the "look-and-feel" suit of Apple vs. MS was basically tossed out because Apple's UI was too close to the PARC Star UI).
As far as invention and innovation go, look to Universities and pure R&D shops. Don't look to Microsoft, unless you want accounting and marketing innovation. DOS has a rather interesting history, as does IE, at least as far as the licensing deals go.
Most, if not all, of these technologies, originated either on pure proprietary platforms, long since extinct, or on some flavor or another of unix. Word processing in its most raw form has existed since computing cycles became cheap enough for it to be practical. 3D really took off with SGI IRIX and SGI GL, and moreso with OpenGL. In all fairness, MS did join the OpenGL steering council, but they needed to find a way to get around the limitations of the Windows GDI under NT 3.1 so that they could go after the CAD/engineering market.
I will credit you with your point about the arrogance, and to a lesser degree, the "chasing taillights" syndrome. Many people will not try something presented to them with the "[insert commercial product here] Killer" as the main advertising point.
looks like they have checkpoints and WAL...
very nice.
MySQL supporters are like people who believe that the moon landings were a hoax. No matter what contrary information they're confronted with, they still consider MySQL to be the best. It's all just an anti-MySQL conspiracy apparently...
:(
Rational and complete arguments like yours be damned.
This is your data. If it's important enough to store, it's important enough to protect. ACID is not optional.
- I don't need to go outside, my CRT tan'll do me just fine.
Im going to call in a few years and see if I can get paid lots of money to build a data warehouse , and clean alot of crappy data.
The sad thing this can happen in any database product with a poor data model... but this will be a given.
Me too.
I want replication too.
Thanks in advance.
What's wrong with creating a PG user called "anonymous"?
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
Yeah, but there still aren't any ShutdownItems on Mac OS X to complement the StartUpItems, so it looks like I have to write an AppleScript app so my client can shut down PostgresSQL safely. And they have to remember to run it every time they want to switch off their iMac.
/System/Library/StartupItems define three functions: StartService(), StopService(), and RestartService(). The StopService() function is executed at restart/shutdown, afaik. Just define the function to shutdown however you want it to, such as: pg_ctl stop -D DATA_DIR -m fast. You'll have to do some other things, but the easiest way to do this is to use a setup that is provided by someone else and just tweak it. Also, you should put the StartupItem in /Library/StartupItems, not /System/Library/StartupItems.
Most services that have StartupItem's in
The thing that makes Postgresql completely different from MySQL is that it is an *active* RDBMS. By active, I mean that you can set it up so if it gets certain kinds of data, it can operate on that data to create new records, delete records, update other tables etc.
Postgresql has the *intellegence* built in. You can write all sorts of georgous functions to do stuff, especially if, like us, your shop uses several languages... PHP, Perl, Java, Python, C++, etc. Why replicate your business logic everywhere?
Transaction support and file/record locking are the least of your problems. If you do serious database stuff, at some point, you are *going* to want VIEWS, TRIGGERS, RULES, and STORED PROCEDURES (functions). Having this functionality in the database engine, instead of in your code makes a heck of a lot of difference when the time comes to scale.
Coming from a MySQL backgroud in a multi-language shop, we clearly saw the limitations, and decided to switch the entire database platform over to Postgresql a year ago.
We haven't looked back since.
Newsfollow.com
getting WAl with undo and redo is what separates it from other databases that have "sql transactions"( mysql, foxpro and dbase). They have redo pretty much done.. but they need to finish undo. This is what makes an industrial multi user database. replications is good to.. but UNDO is much more important.
kudos to postgresql team.. they seem to understand why its important.
triggers and stored procs are good. but until WAL... it doesnt really matter. FOR REAL database work if transactions are the least of youre problems..you might as well as use FOXPRO! Any good DBA shouldnt let anybody write stored procedures who thinks otherwise.
Data warehouse guys get paid a ton of money cleaning bad data from Oracle databases by developers that have this attitude.
What are the major differences in functionality between this and Oracle 8i?
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
You really should look at the Netcraft survey before making stupid comments about Apache playing catch-up to IIS. It makes you look foolish. The simple truth is, IIS is playing catch-up to Apache, and failing badly in its attempt. Apache has always been better than IIS, and always will be, no matter how much code the MicroSofties rip off from it. (You did know MicroSoft ripped off the BSD tcp/ip stack to get online way back when, didn't you? And that they've been playing catch-up to Unix since their MS-DOS days.)
True, the Gimp's UI sucks turds through a straw, and the OS office apps all need some serious polish, but Postgres is closing in on Oracle. It may not be ready run General Motors, but it is ready to run any small or medium business. And it'll do it a hell of a lot more economically. The only real benefit of licensing Oracle is knowing you're helping to fund Larry Ellison's America's Cup yacht. I got better things to spend money on.
Actually, having done app development with both PHP and the Jakarta tools, I'd say you can't beat Jakarta and PostgreSQL as an application platform.
He that breaks a thing to find out what it is has left the path of wisdom.
-- J.R.R. Tolkien
People often make this argument just before they implement the solution in Access.
It sounds great on paper, don't it. Unfortunately you're never around when the solution fails.
Hmmm... I've done some Jakarta and Java, for that matter and I have to say that as much as I love the language, I find it sloooowww... I think PHP's Postgresql api is fairly easy and fast. I can't think of anything that beats it in performance, and if you've tried JDBC you'll not its not a speed demon.
I think i'd rather do a native C++ PHP module than actually instantiate nine gazillion class libraries in Jakarta/Java/JDBC.
There was a recent article, someplace, that has Yahoo! switching over to PHP. If you know anything about Yahoo, they want speed. They must know something we don't know for them to ditch their propietary C++ stuff in favor of PHP.
Just today I found a need (not a chance to use, but a *need*) for a subquery. While contemplating copying and pasting (it's only like 30 rows) data between database tables, I happened to see this article.
How easy is it to switch over from MySQL to PostgreSQL? Is there a simple tool to convert between the two? (And as a sidenote... The machine I want to do this on is a third-hand computer, a 300 MHz, 128 MB RAM webserver... Am I going to notice a performance hit if I put PostgreSQL on it?)
________________________________________________
suwain_2
other than hot backups, postgresql is the open-source dbms, with almost all of the scalability and features of the leading commercial dbms's, and will probably surpass them just as linux has long ago surpassed the x86 competition in operating systems.
PostgreSQL is not OORDBMS, it ORDBMS - and that is a benefit of it. There are plenty of document on Internet explaining it from different angles.
Here is what make PostgreSQL ORDBMS different than other RDBMS.
The Third Manifesto us the best book covering the subject.
My own experience shows, that OOP paradigm should be neither ignored or overused. Languages, like Python, help you to use OOP only when you really need it. Similar way, DBMS, like PostgreSQL, helps you to use objects in your databases only when you really need them, and according with SQL'92 standard.
OORDBMS, offenly stays for ODBMS databases, with some SQL interface extensions. Primary such systems are designed for persistence of serialized objects. Therefore they inherit all problems related to ODBMS, and first of all - lack of theoretical support (OOP is based on heuristics), lack of ad-hoc queries, lack of reflection mechanisms, very tight-coupling, lack of on-the-fly db schema changes, lack of consistent replication, and so on, and so on. In few words, it's easy to use OORDBMS as ODBMS, but you cannot use OORDBMS as RDBMS (without additional SQL-compatible transaction manager) - it's ODBMS by it's nature.
In ORDBMS PostgreSQL relations are first class objects with all theoretical support of relational algebra, while inheritance and ADT are just addons. You can use ORDBMS as RDBMS (that's the way most of use use in real life), but you cannot use it as ODBMS (without additional OR-mapping manager) - it's RDBMS by its nature.
Less is more !
Non-native speakers and dyslexics aren't excluded from the responsibility of communicating clearly and effectively. It may be more difficult for them, and that fact should be respected. But the skill's overall importance is not dependent upon the writer.
:)
Mistakes happen, and flaming someone for making an honest mistake is inappropriate. Pointing out the mistake hurts no one. It presents the opportunity to avoid the mistake in the future and allow someone to become a more effective writer. If you choose to ignore the correction, that's your prerogative.
As a point of fact, bad spelling and grammar hurt non-native and dyslexic readers much more than native readers. Also, I find that non-native speakers tend to demonstrate much better skills in grammar than most Americans.
(Making sure I stay at least slightly on topic...)
MySQL doesn't care about spelling and grammar as much (No foreign keys, etc.). The lazy like that about it. PostgreSQL can be made a bit more anal retentive about your data.
At the end of the day, if the same person who wrote it into MySQL has to read it back, it works fine. PostgreSQL enforces the rules so that anyone -- not just the original author -- can read it back with perfect comprehension.
- I don't need to go outside, my CRT tan'll do me just fine.
Comment removed based on user account deletion
PiT rollbacks, multi-master and the like are coming down the 'chute too but are too much mucking around to be worth the bother just yet.
Got time? Spend some of it coding or testing
on the concurrancy issue. But once again, what if the update fails halfway through? How do you know which records have been updated and which still need updating?
Going to add and drop a temporary column?
With PostgreSQL (and any other ACID database), that same SQL you wrote is atomic. It either works completely or not at all. No special keywords. No extra steps. It just works.
When it's that easy in PostgreSQL, why would you use MySQL? Note that this is a write operation; Don't assume that MySQL is faster.
- I don't need to go outside, my CRT tan'll do me just fine.
Comment removed based on user account deletion
Too bad. When Internet burned tons of startup money, they hired lots of "so-called programmers" to do web-development stuff. No wonder that MySQL and PHP (and Linux!) was typically a choice. Who cares about transactions? Who cares about aspect separation? Just show the first home page to the boss!
The positive outcome: big bosses heard about Linux. Could Linux be where it is now without those so-called programmers? I doubt so. Professional Services from IBM and Microsoft would decide for you what technology to use after your boss has decided what partnership contract to sign.
But that wasn't the only way to "educate" big bosses about Linux: startup boom sparked Linux marketing boom creating OSDN, and others, including Slashdot. As a result, Linux is not self-selling itself: everyone loves Linux therefore Linux is protecting your investments. Crowd effect.
Could it be possible would Linux be really bad? No. Why it didn't happened to PostgreSQL? I think b/c PostgreSQL-based few companies didn't care about marketing. Or cared wrong. Or didn't have money to care. Compared to what? To Linux. Try to find some subject about Linux using google - besides mail-lists you've got many official documents, FAQs, HOWTOs, learning courses, support companies. Try to do it for PostgreSQL - mostly mail-lists and few official docs.
With improved better marketing PostgreSQL may become in one or two years as Linux today. Without good marketing only PostgreSQL developers, few enthusiasts and some Slashdot readers will know that not all open-source databases are so bad.
Less is more !
Me too.
I want replication too.
Thanks in advance.
-
ping -f 255.255.255.255 # if only
Depends on what you're doing. For what Yahoo! does, I think PHP is probably the ticket. There are quite a few things that I use PHP for.
For business apps, which tend to be fairly complex with lots of business logic, I think Java brings more to the table. Yes, there's a performance cost in the VM layer. The tradeoff is better tools (look at all that Jakarta offers, as a starting point), a more robust language, and a more featurefull environment (servlet container).
He that breaks a thing to find out what it is has left the path of wisdom.
-- J.R.R. Tolkien
The OWNER option on CREATE TABLE, for example, will save a lot of fidgeting around. Some of the deeper changes show that they really do have a handle on their code. I expect them to surpass Oracle in every respect bar bloatedness and management-as-a-career by Christmas 2003. (-:
I do note a *lot* of `breakme' changes like integers no longer accepting an empty string as equivalent to zero. I guess this is where we find how portably we really wrote our code.
Got time? Spend some of it coding or testing
I am the project administrator for a CRM app on sourceforge. We prefer working with PostgreSQL and highly recommend it in our documentation. Of course Sourceforge only has MySQL for the demo so we have to support it too ;-)
IIRC, 7.3 has ALTER TBLE DROP COLUMN (one annoying thing missing when you are trying to initially design a table), and it compiles under Windows, so my two complaints are now gone.
LedgerSMB: Open source Accounting/ERP
You're probably going to be modded down for saying that.
If you compile the TCL support, you can also get an application (bundled with it) called pgaccess. This is sort of like an MSAccess clone written in TCL with PostgreSQL on the backend.
So yes, there are RAD tools similar to Access.
LedgerSMB: Open source Accounting/ERP
Does it support the latest JDBC standard, and does it work fine under heavy load?
Prior to 7.3, I used to do most of my prototyping in MySQL. Then I would convert the database over, and test it, then I would dump, add triggers, etc. and restore.
;)
;)
There are two scripts that come with PostgreSQL to take a database dump from MySQL and turn it into something you can use with PostgreSQL. So the switch is painless.
3 cautions, though
1) PostgreSQL timestams are time-zone independent, and the database manager will correct for timezone if set. So if your timestamps are off by a certain factor, that is probably why.
2) Timestamp format is different, so you may have to rewrite any time-stamp parsers.
3) Limit clauses in MySQL are non-standard.
Coming from someone who supports both
LedgerSMB: Open source Accounting/ERP
Comment removed based on user account deletion
Don't know... I've never seen a published comparison of the two.
someone who uses all these buzz words on a dialy basis... with a straight face... in short, a mac user.
What about Firebird? (http://firebird.sourceforge.net) This is the open source decendant from Interbase, the database that has been running at Motorola, Nokia, Boeing, and the Boston Stock Exchange for many years. It offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. Also an excellent web frontend is available (http://http://ibwebadmin.sourceforge.net/)
"Did you ever stop to think where you'd be when you finally kill your idols and have noone left to copy? "
Does this apply to Bill Gates and larry Ellison as well?
In Holland "Its" is a gay club.
In recent PostgreSQL, this date addition is simple:
Number of days since I was born:
joel@joel=# select current_date - '1972-10-12';
?column?
----------
11007
(1 row)
Number of days between Christmas 2002 and Valentine's Day:
joel@joel=# select cast ('2002-12-25' as date) - '2002-02-14';
?column?
----------
314
(1 row)
[we need to cast at least one as a date explicitly, otherwise PG assumes there are both strings data.]
Nothing complicated here, kids, move on.
BTW: for those using now() in PostgreSQL, moving to CURRENT_DATE (or CURRENT_TIMESTAMP to get the time and date) is recommended -- it's less quirky in procedures, and is ANSI standard syntax.
I agree the toolset for Java is better, and for business logic, you MIGHT sway me into believing Java has a better way of encapsuling the business logic -- but I'm not completely sold on this. If we're talking a Web application that accesses a database, does some XML and XSL, I have to be honest, I think PHP, Sablotron, Xalan, Apache and Postgresql are a far better application platform choice because of the performance, and its ability to scale vs. Java. IMHO.
Java is a heavy monster that requires a very large footprint on the machine, and I have NEVER seen a jsp or server container site scale all that well. You ever notice why the high traffic sites NEVER use Java (or if they do, they have an array of Sun boxes to make it scale well)? Amazon, Yahoo, ebay, Slashdot, Google, etc. etc. They choose to use the concept of "get in, get out" -- where if a page accesses a database, its very fast and very efficient and a very tiny mode of operation. I think Java is great, but the execution path of a servlet is almost three or four times as much overhead as something like PHP. When your talking PHP and the Postgresql layer, your basically at the bare metal, its going to be faster.
I know, The argument is the development environment and is it worth the cost of performance for better development -- For me, And I have over 16 years of doing software development, have never been a fan of trading performance for "easier development". I think the customer has to use the application a lot longer than it takes to develop or maintain it, why make them pay the price for the developers needing easier development tools or a better "language". Sure, I love a great tool or language just like the next guy, but if the customer has to pay the price and watch and hourglass or wait for a page refresh -- that great tool is NOT going to make it onto my development platform.
But here's my thoughts on this:
1. Its not the language, its the design: PHP and Java both support the concept of "classes", arguably, PHP is not as powerful or as robust -- but if your an Object person, and you need them, they are there. To me, I've written so many languages in my life, that its almost a laughable argument as to "what language is better".
2. Java has better tools: Yes, they have MORE tools, I would agree with that. However, and this is where I've actually had to bite my tounge on Java because I think the tools out there pale in comparison to (I can't believe I'm saying this) to Visual Studio. I think the benchmark for good developer tools is actually Visual Studio, which everyone seems to try and mimic, but can't.
I've used JBuilder, Visual Cafe and Eclipse, and you know what? I end up going back to Emacs and the javac because I don't trust the damn tool, or the development environment was unstable or slow. JBuilder, the better of the bunch out there is OK for dialog based stuff, but when we are talking about server-side? Nah, Emacs will do.
Oh, and don't bring up some $10,000 tool, as I'm sure there are great ones out there, but lets face it, we're comparing it to Emacs and "free".
Lastly, I think its a testimoney to Postgresql that we're talking about the tools around it, and not making a fuss about the database itself. Going back to the original thread, I think Postgresql is probably one of the BEST open source products out there and deserves to be hailed as viable Oracle competitor, just as Linux is hailed as a threat to Windows on the server market.
I don't have this problem, but "insitu" data migration "fairies" can be very important.
;)
Example: DB takes 20 terabytes. 10 terabytes free.
Say it's time to upgrade to latest DB. Who's wants to tell the boss: "We need to buy 10 more terabytes which we won't use for months after that". Or "there'll be long downtime reloading 20TB from backup tapes".
Worse if the backup tapes don't store the DB in a version independent format! (which could be the case for ASAP disaster recovery - snapshot of everything). Backups still work, but upgrading could be a bit harder eh?
If you are going to start talking about vapor features then what about postgresql's plans to support point in time recoveries (pitr), redo logs, savepoints, and full clustering with multiple masters.
PITR, was planned for 7.3 but was delayed for 7.4 because of some other internal changes but they didn't wish to delay 7.3 for it. It's now scheduled for 7.4.
Clustering is such an overloaded word. Nonetheless, multi-master (IIRC) replication is already underworks.
Distributed quiries is something that comes up from time to time. Not sure what the actual work effort is, however, I do know the protocol is being significantly enhanced to allow for replication and distributed queries.
foxpro has sql transations too. but they dont have WAL, which kind of makes it useless.
IF (big if) you can temporarily remove those FK stuff etc and your users can wait for the time it takes to reload the affected table, you could do this in Postgresql (and not Oracle).
;).
(pseudoSQL)
begin;
lock oldtable;
create newtable (withcolumns that you want);
select columnsyouwant from oldtable into newtable;
drop oldtable;
rename newtable;
build indexes etc;
commit;
If anything fails everything will rollback and things will be fine.
I did this on a live site and it went well - old columns, new columns, modified columns whatever. Didn't have to resort to backups
That's where Postgresql beats Oracle.
Apparently MS Access treats fieldname=NULL differently. Nonstandards compliant.
AFAIK the standard says to do NULL tests using IS NULL and IS NOT NULL. fieldname=NULL should always return null according to standards.
You have to turn on a setting in Postgresql to support MS Access stuff which use the nonstandard behaviour.
Probably many others. But don't let crap stop you from switching from crap to good stuff.
Many companies try to standardize on as few platforms/dbs/etc as possible trying to minimize support costs. And they have to standardize on something that covers their highest needs as well as their lowest. Cost may not be a problem since they often have global licensing frameworks.
So that's why they do install their 5000 record database in Oracle. They might even be using a different instance in a shared installation...
Of course, for small companies this could be different.
My 0.02
ditto
But MySQL isn't libre software on Windows is it? It wasn't the last time I checked.
So on Windows you have the choice of an installer (MySQL) or open source (PostgreSQL).
Did I miss something?
- I don't need to go outside, my CRT tan'll do me just fine.
Considered using FOP for your reporting? That way you get more layout control than with HTML, your final output is in PDF format, you can use XSLT to build the stylesheets to do the formatting (and just have your program output XML to the reporting layer)... generally cool stuff.
You are indeed correct. I mistyped. With updates like in my example, you don't have to explicitly lock a table. Strictly speaking, you don't have to in MySQL either; you just do it with some risk to your data.
In the next versions of PostgreSQL, support for nested transactions would solve those particular problems. But as that's a feature not yet available, I cede the point.
In your example, a lock is indeed the way to go.
- I don't need to go outside, my CRT tan'll do me just fine.
A more realistic test would have been 1000000 rows in 15-20 tables. That's more on the line of the kind of system I've seen. Maybe on the small side.
We tried to arrange for some time on a massive beowulf cluster equipped with a 3 TB RAID and several GB of memory installed so that we could test against 1000000000 records and 52.7 tables, but they were booked solid.
Needless to say, I can assure you that based on the client's needs, the test I outlined (as inconsequential as it may seem), was quite appropriate.
Me too.
I want replication too.
Thanks in advance.
So report a bug. How can I fix things if the problems aren't reported? (Not that I've heard of this from anyone else either -- I suspect your client built his own postgresql package without having readline development files installed.)
Debian maintainer for PostgreSQL
This is configurable at postmaster startup; it is limited by available shared memory and buffer space. Each backend needs a minimum of 16Kb.
PostgreSQL Inc offers a replication solution, though it's not free. I've not used it myself, but the folks running the .info domain use it and seem fairly happy with it.
forum.geizhals.at, discussion forum (german language only!) for the geizhals.at price comparisons ... Does approx. 3 mil. Page Impressions per month and is 100% Resin 2.1.x(JSP)/PostgreSQL 7.2.3/Apache-based (originally built with Resin 1.2.4, PostgreSQL 6.3 in Q2/2000). Runs off a single dual-CPU Pentium III/800MHz server (including the database, which is also used by other parts of geizhals.at, which has approx. 18 mil. Page Impressions per month).
This talk of Access and Postgres reminds me...how do you get past the problem where you try to link Access to Postgres, and Access 2K complains something like "The size of a field was too long"? I gave up on the linking because of this.
It's not the ODBC driver, as Excel does a data import of the same view with no problem!