PostgreSQL is een open-source object-relationeel databasemanagementsysteem (ORDBMS) met een sterke reputatie op het gebied van betrouwbaarheid en prestaties. De belangrijkste functies ervan zijn het veilig opslaan en opvragen van data, terwijl de huidige beste praktijken op computergebied worden ondersteund.
Met meer dan 30 jaar actieve ontwikkeling en de steun van een toegewijde open source gemeenschap, concurreert PostgreSQL met top-ranking commerciële databases zoals SQL Server en Oracle. PostgreSQL is de favoriete open-source relationele database van veel organisaties geworden.
Hoe werkt PostgreSQL?
PostgreSQL gebruikt een client-server architectuur die het mogelijk maakt dat de client en de server op verschillende hosts in het netwerk staan. Het serverprogramma beheert databankbestanden en aanvaardt en voert meerdere gelijktijdige verbindingen naar de databank van clienttoepassingen uit. Externe cliënten kunnen via het netwerk of het internet verbinding maken met de server.
Wat is het zoekpad in Postgres?
Met de PostgreSQL search_path-variabele kunt u de volgorde bepalen waarin schema's worden doorzocht en welke schema's geen schema-kwalificatie hoeven te gebruiken.
Het eerste schema dat terugkomt in het zoekpad wordt het huidige schema genoemd. Bij het maken van nieuwe objecten zoals tabellen, zal, indien geen schema naam is opgegeven, de tabel worden aangemaakt in het huidige schema.
Search_path kan op verschillende niveaus worden ingesteld die PostgreSQL vertellen welk zoekpad moet worden gebruikt. Deze omvatten het:
- Functieniveau: Duurt tot de uitvoering van een functie binnen een functie
- Sessieniveau: Duurt de hele sessie
- Database-gebruikersniveau: Wordt van kracht voor een nieuwe sessie
- Server-gebruikersniveau: Wordt van kracht voor nieuwe sessies
- Databaseniveau: Wordt van kracht voor nieuwe sessies
Zijn Postgres en PostgreSQL hetzelfde?
PostgreSQL is voortgekomen uit het POSTGRES-project dat in 1986 aan de universiteit van Californië in Berkeley is gestart. Nadat het POSTGRES-project in 1993 was beëindigd, werd Postgres95 in 1995 bovenop de POSTGRES-code gebouwd en werd een SQL-taalinterpreter toegevoegd als vervanging van de querytaal PostQUEL.
In 1996, toen de naam Postgres95 verouderd raakte, werd PostgreSQL gekozen als nieuwe naam om het oorspronkelijke POSTGRES-project en de toegevoegde ondersteuning voor SQL weer te geven. Hoewel PostgreSQL de officiële naam is, is Postgres een geaccepteerde bijnaam, en PostgreSQL wordt nu algemeen aangeduid als Postgres.
Wat is PostgreSQL Full Text Search?
Met PostgreSQL Full Text Search kunt u zoeken naar een enkel document of een verzameling van documenten in een full-text database. Het kan ook natuurlijke-taaldocumenten identificeren die voldoen aan de eisen van een zoekopdracht en deze sorteren op relevantie voor de zoekopdracht.
Met de LIKE- en ILIKE-clausules kunnen zoekopdrachten op tekenreeksen worden uitgevoerd, maar de woorden in de tekst worden niet geïndexeerd, wat tot prestatieverlies leidt. Full Text Search indexeert documenten voor snellere zoekresultaten en ondersteunt woordenboeken voor fijnere controle over tokennormalisatie.
Twee functies worden gebruikt om PostgreSQL Full Text Search te implementeren:
- to_tsvector: ts staat voor "Text Search," en deze functie wordt gebruikt om een lijst van tokens van het datstype tsvector te maken.
- to_tsquery: Deze functie wordt gebruikt om de vector te bevragen op bepaalde woorden of zinsdelen.
Waarom is PostgreSQL-prestatie zo belangrijk?
PostgreSQL wordt op grote schaal gebruikt in verschillende industrieën en wordt algemeen gebruikt voor data-warehousing en zeer transactionele, complexe toepassingen die grote hoeveelheden data vereisen. Voor dit soort toepassingen zijn prestaties een belangrijke factor.
PostgreSQL heeft verschillende mogelijkheden om de prestaties te verbeteren en te optimaliseren. De huidige versie van PostgreSQL, v14, voegt extra ondersteuning toe voor complexe datatypes en JavaScript Object Notation (JSON) ongestructureerde data. PostgreSQL v14 bevat verbeteringen in connectie concurrency, query parallellisme, high-write workloads, en logische replicatie, wat PostgreSQL's voortdurende focus op prestatieverbetering weerspiegelt.
Hoeveel PostgreSQL-versies zijn er?
De huidige versie van PostgreSQL is versie 14, uitgebracht op 30 september 2021. Het biedt extra ondersteuning voor complexe datatypen en -functies die het gemakkelijker maken om met JSON en niet aaneengesloten databereiken te werken. Versie 14 brengt ook functies die verbeteringen bieden voor zware workloads, gedistribueerde workloads, beheer en waarneembaarheid, en beveiliging.
Andere PostgreSQL versies die nog worden ondersteund zijn 13 / 12 / 11 / 10 / 9.6. Versies 9 en 10 zijn beschikbaar voor Linux x86-64, Linux x86-32, Mac OS X, Windows x86-64, en Windows x86-32. Versies 11 tot en met 14 zijn alleen beschikbaar voor Mac OS X en Windows.
Drie voordelen van PostgreSQL ten opzichte van SQL
Hieronder volgen drie voordelen van PostgreSQL ten opzichte van SQL Server:
Open-source en gratis
PostgreSQL is een gratis en open-source object-relationeel databasemanagementsysteem, onderhouden door PostgreSQL Global Development Group en gesteund door een actieve gemeenschap die continu input geeft voor nieuwe en bestaande features. SQL Server is een eigen commercieel databasemanagementsysteem dat door Microsoft is ontwikkeld en wordt onderhouden. Het is beschikbaar in verschillende edities, variërend van instapedities tot volledig uitgeruste enterprise-edities.
Grotere OS-ondersteuning
PostgreSQL is op grote schaal beschikbaar op meerdere besturingssystemen, waaronder Windows, Linux, OS X, Unix, FreeBSD, HP-UX, NetBSD, OpenBSD, en Solaris. SQL Server is alleen beschikbaar op Windows- en Linux-platforms.
Concurrencymanagement
PostgreSQL heeft een robuust concurrencymanagementsysteem met Multi-Version Concurrency Control, waardoor meerdere processen tegelijkertijd gedeelde data kunnen benaderen en wijzigen. SQL Server maakt het mogelijk om concurrencyproblemen en lang lopende queries te identificeren, maar processen zijn vaak onderhevig aan locks, blocks, en deadlocks.
Wanneer moet u PostgreSQL gebruiken?
Hieronder volgen enkele gevallen waarin PostgreSQL geschikt kan zijn:
Schaalbare NoSQL-workloads
Moderne websiteapplicaties verwerken tot honderdduizenden verzoeken per seconde als ze klanten bedienen. Schaalbaarheid is dan ook een belangrijke factor voor de meeste organisaties.
Als een object-relationele database biedt PostgreSQL zowel relationele als document-georiënteerde functies in hetzelfde product om een breed scala van toepassingen te ondersteunen. PostgreSQL werkt goed met populaire moderne webframeworks zoals Django en Node.js en talen zoals Java, Python, Ruby on Rails, en PHP. PostgreSQL biedt ook replicatiefunctionaliteit waarmee u kunt opschalen naar zoveel databaseservers als nodig.
OLTP, analyse en Business intelligence
Financiële organisaties van elke omvang gebruiken PostgreSQL als hun primaire database voor applicaties en producten. PostgreSQL voldoet volledig aan ACID (Atomicity, Consistency, Isolation, and Durability) en is ideaal voor OLTP (Online Transaction Processing) workloads. Het kan ook worden geïntegreerd met wiskundige software zoals Matlab en R om analyses uit te voeren en bedrijfsinformatie te verwerken.
Spatial data
Wanneer PostgreSQL wordt gebruikt met PostGIS, een spatial-database-extender, biedt het extra ondersteuning voor het uitvoeren van locatie-queries op geografische objecten in SQL en spatial-data-analyse. PostGIS voldoet in hoge mate aan de normen, biedt honderden functies voor de verwerking van geometrische data in diverse formaten, en kan worden gebruikt met zowel QGIS als GeoServer om de verwerking van geodata te vergemakkelijken.
Vier PostgreSQL-vragen beantwoord
Hier zijn antwoorden op veel voorkomende PostgreSQL-vragen die we horen:
Wat is het belangrijkste verschil tussen MySQL en PostgreSQL?
PostgreSQL is een object-relationeel databasemanagementsysteem. MySQL is een relationeel databasemanagementsysteem (RDBMS). Postgres richt zich op uitbreidbaarheid en naleving van standaarden.
Aan de RDBMS-kant is Postgres transactioneel en ACID-compliant, met functionaliteit voor actualiseerbare en gematerialiseerde views, triggers, en foreign keys. PSQL ondersteunt ook JSON-datatypes voor het opslaan van JSON-data en JSON-specifieke functies en operatoren voor het uitvoeren van niet-relationele queries.
Waarom zou ik PostgreSQL gebruiken en niet MySQL?
MySQL is een RDBMS dat data opslaat in tabellen met rijen en kolommen. MySQL is een ideale keuze als u een hoogbeveiligd RDBMS wilt met de nadruk op integratie en uitbreidbaarheid voor webapplicaties en maatwerkoplossingen.
PostgreSQL is een object-relationele database die zowel relationele databasefuncties als NoSQL-functies bevat voor het bevragen van ongestructureerde data. Kies PostgreSQL als u complexe procedures, integratie, ingewikkelde ontwerpen en dataintegriteit nodig hebt.
Wat zijn de verschillen tussen PostgreSQL en MySQL?
Hier zijn een paar verschillende manieren waarop de twee kunnen worden vergeleken:
- Licenties: PostgreSQL is vrije en open-source software die beschikbaar is onder de PostgreSQL-licentie. De broncode van MySQL is ook open-source onder de GNU-licentie, maar het is eigendom van Oracle en heeft meerdere eigendomsovereenkomsten en verschillende betaalde versies voor commercieel gebruik.
- Performance: PostgreSQL werkt het best voor data-warehousing- en data-analysetoepassingen die hoge lees/schrijfsnelheden vereisen. MySQL is beter geschikt voor Online Analytical Processing (OLAP) en Online Transaction Processing (OLTP) systemen waar alleen hoge leessnelheden belangrijk zijn.
- ACID Compliance: Terwijl PostgreSQL volledig ACID-compliant is, is MySQL alleen ACID-compliant wanneer het wordt gebruikt met de NDB- en InnoDB Cluster-storage-engines.
Waarom is PostgreSQL zo populair?
PostgreSQL biedt ondersteuning voor zowel relationele als documentgeoriënteerde data en maakt het mogelijk om verschillende datatypen in dezelfde datatabellen op te slaan en te bevragen. De snelheid, veiligheid en robuustheid van PostgreSQL maken het geschikt voor de meeste toepassingen. Vanwege de voortdurende verbeteringen in prestaties en efficiëntie, migreren gebruikers weg van gevestigde commerciële databases zoals Oracle naar PostgreSQL.
Versnel PostgreSQL-workloads met Pure
Lever een Modern Data Experience™ met de snelheid, prestaties en betrouwbaarheid van NVMe-opslag en Pure Storage® all-flash arrays.
Gekroond tot DBMS van het jaar in 2020 (evenals 2017 en 2018), wordt PostgreSQL steeds meer gebruikt vanwege zijn prestatiesnelheden en betrouwbaarheid. Onze tests tonen aan dat PostgreSQL beter presteert op FlashArray™-opslag dan op een vergelijkbaar SAS-DAS-systeem. FlashArray//X biedt consistente prestaties voor databasewerklasten en rijke bedrijfsfuncties die niet beschikbaar zijn met DAS.
Kies voor FlashArray//X prestatie-geoptimaliseerde, end-to-end NVMe- en NVMe-oF-opslag voor uw Tier 0- en Tier 1-workloads.