Ik gebruik nu altijd mySQL maar hoor hier vaak wat voorkeur voor PostgreSQL. Wat zijn de verschillen tussen MySQL en PostgreSQL, en wanneer zou je beter de een dan de ander kunnen gebruiken?
Het rammelt omdat je vrijwel nooit 100% zeker weet of de waarde 1 in een kolom van het type unsignd TINYINT nu als 255 is opgeslagen of als 0 met een update -1. In beide gevallen levert dat 255 op...
De string 'abcdef' in een VARCHAR(6), is dat ingeven als 'abcdef' of als 'abcdefghijklmn' ? Wie zal het zeggen, MySQL hakt standaard keurig een stuk van jouw waardevolle data af, zal geen enkele poging ondernemen om de data te beschermen.
2008-03-01, is dat opgeslagen als 1 maart of of 30 februari? Wie zal het zeggen...
Al dit soort basisfuncties van DBMS ontbreken in MySQL. Al begint daar langzaam maar zeker ook het licht te schijnen, maar dan moet je MySQL wel zelf kunnen configureren. En dat is nu net bij een shared hosting pakketje niet het geval. Wanneer jij zelf foutloos de ontbrekende delen van de MySQL-DBMS kan bouwen (voor zover dat mogelijk is!) en MySQL zelf kunt configureren, dan is er prima mee te werken. Moet je het echter doen met een shared hosting pakketje met standaard instellingen en/of onvoldoende kennis van databases, dan ben je met MySQL aan de goden overgeleverd.
Wat ik al zei, het is niet zozeer dat pgSQL zo goed is, maar dat MySQL zo slecht is. Dat pgSQL sneller is en meer functionaliteit biedt, dat zal voor een beginner echt niet uitmaken. Wat wel uitmaakt, is dat je met pgSQL leert hoe je SQL moet schrijven en wat je van een database kunt verwachten. Overstappen naar Oracle of DB2 is dan niet zo'n grote stap, die vertonen soortgelijk gedrag.
Ps. Wanneer je zo'n 3 jaar geleden voor het laatst met pgSQL hebt gewerkt, dan is dat mogelijk nog met versie 7.4 geweest. Versie 8.0 heeft een enorme stap voorwaarts gezet, versies 8.1 en 8.2 zijn nog verder gegaan. Sindsdien is pgSQL ook sneller dan MySQL. pgSQL gaat binnenkort 8.3 uitgeven, RC1 is al beschikbaar.