Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 15 reacties
Bron: PostgreSQL, submitter: cariolive23

PostgreSQL is een open source relational database management system dat op diverse besturingssystemen  kan worden gedraaid. De ontwikkelaars hebben weer een reeks nieuwe versies uitgebracht met 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24 en 7.4.28 als versienummers. Hiermee worden verschillende fouten opgelost. Aangezien het zowel het gebruik van verschillende third-party ssl libraries als mogelijke problemen met de data-integriteit betreft, wordt iedereen aangeraden om te updaten. De aankondiging van deze versies ziet er als volgt uit:

PostgreSQL 2010-03-15 Cumulative Bug-Fix Release

The PostgreSQL Project today released minor versions updating all active branches of the PostgreSQL object-relational database system, including versions 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24, and 7.4.28. This release provides a workaround for some third-party SSL libraries, as well as multiple fixes for minor uptime and data integrity issues. All database administrators are urged to update your version of PostgreSQL at your next scheduled downtime.

The SSL security issue CVE-2009-3555 in some SSL libraries has caused many vendors to release security patches. To enable PostgreSQL to work with these patched versions for SSL database connections, we have added the new parameter "ssl_renegotiation_limit" to control how often the database server will renegotiate session keys.

There are 47 other bug fixes in this release, many of which apply only to version 8.4. These are generally fixes for minor issues and combinational errors, including:
  • Fix potential deadlock during startup
  • Remove several possible rare crash conditions
  • Fix several minor data-loss issues with GIN and GiST indexes
  • Close two corner-case memory leaks
  • Update time zone data for 6 regions
See the release notes for a full list of changes with details. The PostgreSQL Global Development Group thanks all of our users whose bug reports over the last 3 months enabled us to find and fix these issues.

As with other minor releases, users are not required to dump and reload their database in order to apply this update release; you may simply shut down PostgreSQL and update its binaries. Users skipping more than one update may need to check the release notes for extra, post-update steps. The PostgreSQL Global Development Group will stop releasing updates for PostgreSQL versions 7.4 and 8.0 after June of 2010. We urge users of those versions to start planning to upgrade now.
Moderatie-faq Wijzig weergave

Reacties (15)

Zijn er mensen die voor bedrijven werken die PSQL ook daadwerkelijk gebruiken?

Ik ben het zelf nog niet tegen gekomen, het is meestal OF MySQL voor de simpelere doeleinden, OF Oracle voor de zware applicaties. PSQL lijkt me echter een uitstekende keus voor de middelzware applicaties en zo de hoge kosten van een Oracle licensie te omzeilen.
Ik gebruik het hier dagelijks en wil echt niet anders meer!
Leuk om te weten dat de servers van Skype ook op PostgreSQL (niet PSQL, dat is een command-line programma) draaien.

Meestal draaien de echte mega grote systemen op wel PostgreSQL.
Maar dan een commerciële versie van Enteprice DB. Je hebt je hebt dan vergelijkbare functionaliteit als Oracle DB. Maar wel tegen heel goedkopere prijs! }>

PostgreSQL bied overigens iets waar menig Oracle DBA jaloers op is O-)
En dat is de mogelijkheid om een DDL (aanpassen van DB structuur) uit te voeren in een transactie. Als je downtime en fouten bij een upgrade wilt voorkomen is dat echt heel handig.

@Collon:
"werken beide goed, tis maar waar je voorkeur ligt."
Niet helemaal waar, ik wil hier geen flamewar starten. Maar als je serieuze dingen wilt gaan doen met een database kom je bij MySQL toch aardig wat te kort.

Transacties (alleen bepaalde engines), Fulltext search, trigger (worden ondersteund maar hebben hier en daar wat eigenaardigheden), functies (C, Perl, Pyhton, TCL, SQL, PgSQL (vergelijkbaar met PL/SQL van Oracle), domains, Foreach Keys, Views, table spaces, verschillende index types), Recursive Common table expressions, verschillende handige functies (waaronder generate_series()).

Ik hoor dagelijks verhalen van mensen (die MySQL gebruiken voor de mail gebruikers en FTP, etc..) en dan opeens dat de mailserver het niet meer doet.
Als je MySQL herstart werkt alles opeens weer.

Bij PostgreSQL doe ik dagelijks 100 records per minuut invoeren.
En, hij is nog niet een keer vastgelopen, data corruptie of wat dan ook!


Nu heeft PostgreSQL ook wat nadelen, zoals het instellen van een remote toegang moet via een configuratie bestand.
En als je naam de van een gebruiker wijzigt maar niet het wachtwoord, dan moet je wachtwoord leeg (gebruikersnaam wordt als salt gebruikt voor wachtwoord).

http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL
http://www.yapf.net/index...n_van_MySQL_op_een_rijtje
http://www.yapf.net/index..._PostgreSQL_op_een_rijtje
http://www.phpfreakz.nl/f...orum=5&page=2&iid=1286880
http://www.phpfreakz.nl/f...m=5&iid=1293050#id1294116

MySQL is prima te doen voor een website waar je niet meer dan een gastenboek of iets hebt. Maar als je echt serieuze dingen wilt doen, dan is PostgreSQL of Oracle toch echt een betere keuze.

Overigens wordt het bij PostgreSQL 9, nog makkelijker om dingen te doen :9~
http://www.depesz.com/index.php/tag/pg90/
http://www.depesz.com/ind...named-function-arguments/
Nu heeft PostgreSQL ook wat nadelen, zoals het instellen van een remote toegang moet via een configuratie bestand.
En als je naam de van een gebruiker wijzigt maar niet het wachtwoord, dan moet je wachtwoord leeg (gebruikersnaam wordt als salt gebruikt voor wachtwoord).
Dat heeft een reden:
"By default, PostgreSQL is probably the most security-aware database available ..."
Database Hacker's Handbook
Klopt, dat was ik even vergeten 8)7
Want als hacker met een SQL injection in de hoofd-database kan komen kan hij hier een record invoeren en zo toegang verkrijgen.

Alleen het wachtwoord als 'leeg' instellen als de ROLE naam wijzigt is minder handig.
Is overigens een bekend probleem.

Maar voor web hosters is dit (makkelijk) op te lossen door het wachtwoord encrypted (met geheime sleutel) op te slaan in de zelfde informatie tabel als waar de database gebruikers van de account staan. Zo heb ik het te minsten opgelost.
Niet helemaal 100% veilig, maar bij een SQL injection kunnen ze er niets mee. Dan zouden ze ook nog een Remote script execution moeten uitvoeren om de sleutel te achterhalen, en als ze dat lukt dan heb je wel een groter probleem dan een gestolen wachtwoord |:(
Niet nodig, gewoon altijd username én wachtwoord samen wijzigen. Dan hoef je niets op te slaan en kun je dus ook niets kwijt raken. Een stored procedure of een simpel scriptje (met formuliertje) kan je daarbij helpen.
Ik ben het zelf nog niet tegen gekomen ...
Dan heb je jezelf er naar mijn mening voor afgeschermd. :)

Als je niets om integriteit van je data geeft, maar alles hangt aan de snelheid van je database, dan ga je voor MySQL en anders laat je MySQL héél ver links liggen.

Deze mag je van mij altijd quoten:
"PostgreSQL ligt tussen MySQL en Oracle in: kwa functionaliteit overtreft het Oracle, kwa prijs is het gelijk aan MySQL."
Deze mag je van mij altijd quoten:
"PostgreSQL ligt tussen MySQL en Oracle in: kwa functionaliteit overtreft het Oracle, kwa prijs is het gelijk aan MySQL."
Mooie quotes, maar om nu te stellen dat PostgreSQL Oracle overtreft, dat gaat mij wat te ver. Oracle heeft hele mooie dingen die PostgreSQL niet heeft. Dat geldt ook andersom, PostgreSQL heeft hele mooie dingen die Oracle niet heeft.

Eén van die dingen is transactional DDL, wat vrijwel geen enkele database heeft maar oh zo fantastisch is. Het maakt aanpassingen in je datamodel bijzonder eenvoudig en geheel zonder risico's. Mocht er tijdens een serie ALTER TABLE's iets fout gaan, gewoon een ROLLBACK en je bent weer terug bij af. Wij migreren 3 á 4 keer per jaar het datamodel van onze applicatie (dingen bijgekomen, dingen verandert) op een 1000 totaal verschillende servers en hebben helemaal nooit problemen met corrupte data. Komt gewoon niet voor, kan gewoon niet.

BEGIN;
CREATE TABLE x(...);
ALTER TABLE y ...;
DROP VIEW z;
COMMIT; -- of ROLLBACK

Wat je ook doet, je eindigt met een werkende situatie. Dat is de nieuwe situatie of eventueel de oude situatie.

En de risico's? Dat je een andere keer nog een poging moet doen om de update uit te voeren. Meer risico's zijn er niet, je zal nooit data kwijt raken of met een niet-werkende database komen te zitten.

Maar Oracle heeft ook zeker mooie functionaliteiten, maar daar moet je wel de $$$$$ voor over hebben.

Ps. Oracle heeft wel een versioning systeem, maar dat werkt anders dan een transactie en is ook niet in alle versies beschikbaar.

[Reactie gewijzigd door cariolive23 op 18 maart 2010 21:21]

Hey, nou noem je eigenlijk toch alleen een HEEL mooi ding van PostgreSQL. Preaching to the choir?
Persoonlijk heb ik nooit echt iets gehad met Oracle. In het verleden had ik dan ook Informix boven Oracle verkozen. Ik vind Oracle een schoolvoorbeeld van bolt-on bloatware. Kwa functionaliteit kan ik niets bedenken waarin Oracle beter zou zijn dan PostgreSQL. Wat je eigenlijk koopt is garantie en support. Maar gaat Oracle echt betalen als je kunt aantonen dat je gegevens bent kwijtgeraakt door een bug? Fat chance.
Ps. Oracle heeft wel een versioning systeem, maar dat werkt anders dan een transactie en is ook niet in alle versies beschikbaar.
Huh? Dat is toch ook wat PostgreSQL gebruikt voor alle wijzigingen in de database? (VACUUM FULL ANALYZE anyone?) Wat wil je hier nou duidelijk mee maken?

[Reactie gewijzigd door Killemov op 19 maart 2010 00:20]

[...]

Huh? Dat is toch ook wat PostgreSQL gebruikt voor alle wijzigingen in de database? (VACUUM FULL ANALYZE anyone?) Wat wil je hier nou duidelijk mee maken?
Dat je met Oracle ook in een soort van transactie, maar dan dus niet met BEGIN en COMMIT, DDL kan uitvoeren. Dit betreft dus versies van het datamodel, de stored procedures, dat soort dingen. Niet van data.

Jij doelt volgens mij op MVCC, wat zowel Oracle als PostgreSQL gebruiken voor hun data.
Volgens Wikipedia word PgSQL echt wel in zeer zware applicaties gebruikt.
MySQL heb ik nog nooit gebruikt zien worden buiten de website wereld. Postgres heb ik daarentegen gebruikt zien worden bij behoorlijk wat zware applicaties in zowel de telco als gba wereld :).

Postgres is ook zonder twijfel mijn favoriete database, de stabiliteit en functionaliteit zijn wat mij betreft ongeëvenaard :).
Een bedrijf als NTT heeft Oracle vervangen voor PostgreSQL. De FAA gebruikt PostgreSQL voor GIS-toepassingen, daar waar ze eerder Oracle gebruikten. Caixa, grote bank in Brazilië, gebruik PostgreSQL, vele overheden gebruiken PostgreSQL voor hun GIS-applicaties, .org gebruikt PostgreSQL voor registratie van domeinnamen, etc. etc. etc.

PostgreSQL is groot, alleen niet in Nederland, daar is het nog wat onbekend. Wanneer je echter gaat zoeken, zie je dat vele applicaties er gebruik van maken, al weet de gebruiker dat vaak niet. In Nederland ligt het gebruik van open source toch al wat laag, dat zal er ook mee te maken hebben.

http://www.postgresql.org/about/users
Ik werk zelf voor een bedrijf waar we PostgreSQL gebruiken.
De 8.4 versie heeft een zeer sterke full-text search functionaliteit die we gebruiken in onze SAAS applicatie.

edit: was bedoeld als re: op gimbal

[Reactie gewijzigd door Rune op 18 maart 2010 09:50]

Nou, voor zowel MY als PG SQL zijn er zat toepassingen buiten de webwereld

wat dacht je van unix accounting.
of als backend voor samba, mail ect ect....

werken beide goed, tis maar waar je voorkeur ligt.
Er zijn zeker wel bedrijven die PostgreSQL serieus gebruiken. Wijzelf, maar ook bedrijven als Skype gebruiken het (en niet alleen voor onbelangrijke projecten).

Zie ook: http://www.postgresql.org/about/users

Zelf vind ik PostgreSQL kwalitatief van een hele andere orde dan MySQL (check voor de grap eens http://www.troels.arvin.dk/db/rdbms/ voor een vergelijking van de SQL implementaties van verschillende RMDBs) en ik zou iedereen die gaat spelen met databases zeker aanraden om met PostgreSQL te beginnen.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True