Skip to content

PostgreSQL vs. SQL Server

Denne side er en teknisk reference til de forskelle mellem PostGreSQL og SQL Server, der er relevante at kende, i forbindelse med leverance af Geodata Connect.

  • Geodata Connect / Kommune leveres til PostgreSQL med PostGIS plugin.
  • Geodata Connect / Tingbog kommune leveres til PostgreSQL med PostGIS plugin. Der findes en programudvidelse, der understøtter levering til SQL Server.

Replikering og dataopdatering

Da Geodata Connect i sin kerne er baseret på løbende replikering af data fra kilde til mål, er dette den mest centrale forskel at kende:

EgenskabPostgreSQLSQL Server
Logisk replikeringIndbygget (CREATE PUBLICATION / CREATE SUBSCRIPTION) fra v10+Transactional Replication / Merge Replication (kræver separat konfiguration af Distributor)
Change captureLogical decoding (WAL-baseret), fx via wal2json, pgoutputChange Data Capture (CDC) eller Change Tracking
KonflikthåndteringHåndteres typisk i applikationslaget, ingen indbygget konfliktløser til logisk replikeringIndbygget konflikthåndtering i Merge Replication
NetværkskravKræver adgang til WAL-stream mellem kilde og målKræver Distributor-rolle og adgang mellem Publisher/Subscriber

Sikkerhed og adgangsstyring

EgenskabPostgreSQLSQL Server
Autentificeringpg_hba.conf styrer adgang pr. host/database/bruger/metodeLogins håndteres via SQL Server Authentication eller Windows/AD-integreret sikkerhed
Objekt-sikkerhedRoller (ROLE), kan både være login og gruppeLogins (server-niveau) og Users (database-niveau) er adskilte
Row-level securityIndbygget RLS via CREATE POLICYIndbygget RLS via Security Policies og predicate-funktioner
Kryptering af forbindelseSSL/TLS konfigureres i postgresql.conf/pg_hba.confTLS konfigureres på instansniveau, ofte via certifikat i Windows-certifikatlager

Værktøjer

FormålPostgreSQLSQL Server
Administration/GUIpgAdmin, DBeaver, Azure Data Studio (PGSQL-extension)SQL Server Management Studio (SSMS), Azure Data Studio
Kommandolinjepsqlsqlcmd
Backuppg_dump, pg_basebackup, WAL-arkivering (PITR)Full/Differential/Log backup via BACKUP DATABASE
Overvågningpg_stat_activity, pg_stat_statementsDynamic Management Views (DMV’er), Extended Events

Konfiguration og tuning

  • PostgreSQL konfigureres primært via filen postgresql.conf samt pg_hba.conf for adgang. Ændringer kræver ofte reload eller genstart af clusteren.
  • SQL Server konfigureres via sp_configure, instansegenskaber i SSMS, samt Resource Governor for ressourcestyring.
  • Hukommelsesstyring i PostgreSQL sker pr. proces (work_mem, shared_buffers), mens SQL Server styrer hukommelse centralt for hele instansen (max server memory).