
How to sync a Microsoft Access database to PostgreSQL (near real-time) with Pontifex
Pontifex streams your Access data (.mdb/.accdb) into PostgreSQL in near real-time so you can use modern BI tools without rewriting your Access app.
What you’ll need (Windows)
- Microsoft Access Database Engine (OLEDB provider)
- .NET Framework 4.7.2 or later
- A reachable PostgreSQL database (cloud or on-prem)
- Path to your Access file (e.g.
C:\Data\your-database.mdb
)
Tip: You don’t need to modify your Access app. Pontifex is read-only.
1) Install Pontifex
Open PowerShell as Administrator and run the deployment script:
# From the Pontifex folder .\deploy-windows.ps1
This installs the Windows service, creates default folders, and places config in C:\ProgramData\Pontifex\
.
(Prefer to manage binaries yourself? You can also install the service manually — but the script is simplest.)
2) Configure the sync
Edit C:\ProgramData\Pontifex\config.yaml
:
# C:\ProgramData\Pontifex\config.yaml source_mdb: "C:\\Data\\your-database.mdb" # Choose ONE of the following: all_tables: false selected_tables: ["customers", "orders", "products"] # Optional: fallback poll if no file events are seen poll_interval: 30s
Set your PostgreSQL connection (and Access password if used) as environment variables:
[Environment]::SetEnvironmentVariable( "DATABASE_URL", "postgres://user:pass@server:5432/yourdb", "Machine" ) # Only if your Access file is password-protected [Environment]::SetEnvironmentVariable( "MDB_PASSWORD", "your_password", "Machine" )
Minimum config =source_mdb
+DATABASE_URL
. Useselected_tables
if you don’t want everything.
3) Start the Windows service
Start-Service "Pontifex Sync Service" Get-Service "Pontifex Sync Service" # should show Status: Running
4) Check it’s working
- Health:
http://localhost:2112/health
should return OK - Metrics (for Prometheus/Grafana, optional):
http://localhost:2112/metrics
- Logs:
C:\Program Files\Pontifex\logs\
You should see your tables appear in PostgreSQL and begin updating within a minute or two of changes in Access.
5) Connect your BI tool
Point Power BI / Metabase / your app at PostgreSQL (host, port, database, user, password). Build dashboards against the synced tables instead of exporting CSVs.
Common quick fixes
- Health shows error / service won’t start → Check
DATABASE_URL
is correct and accessible (firewall, SSL, network). - “Provider not found” errors → Install the Microsoft Access Database Engine (OLEDB).
- No updates arriving → Confirm the correct
source_mdb
path and that the Windows service account can read the file. - Deletes not reflected → Ask us about delete strategies (tombstones vs full diffs) — easy to enable during setup.
What makes Pontifex safe & simple
- Read-only: never writes to Access
- Smart change detection to minimise unnecessary work
- Handles file locks and schema drift with sensible defaults
- Runs as a lightweight Windows service; install-and-forget
Need a hand?
Book a 20-minute assessment and we’ll confirm feasibility, map your tables, and set up a pilot.