PostgreSQL do and dont
Uit Yapf
Inhoud |
Beter wel
Autovacuum
Autovacuum houdt de staat van je tabellen in de gaten en als er teveel troep in staat gaat hij zelf de data opruimen. Dit zet je aan door in postgresql.conf de relevante regels te un-commenten. Meer info in de handleiding.
Beter niet
Double quotes in queries
Met double quotes wordt het mogelijk ook gereserveerde SQL woorden als kolomnamen te gebruiken, je zou een kolom `select` kunnen maken en dan krijg je
SELECT "select" FROM tabel...
Het probleem is dat je die backticks vroeg of laat vergeet en dan werkt je query niet meer. Als je dan toevallig een kolom hebt die "delete" heet dan krijg je
SELECT DELETE FROM tabel WHERE ...
en met en beetje pech interpreteert je database dat als:
SELECT (DELETE FROM tabel WHERE ...)
Met andere woorden: selecteer de uitkomst van een delete query, en dan mis je ineens een paar records die je helemaal niet wilde verwijderen.
Dus: liever geen backticks, dan kun je geen gevaarlijke kolomnamen gebruiken en daar dus ook geen fouten mee maken.