Quick Start (CLI)
This assumes you've already installed PostgreSQL and have Replicator-NG ready.
1. Create a config file
Generate a starter config from your Access database:
replicator-ng -s "C:\Users\you\MyData.accdb" -o replicatorconfig.toml -tpassword your-pg-password
This auto-discovers all tables and foreign keys and writes a complete replicatorconfig.toml.
2. Test your connections
replicator-ng -c replicatorconfig.toml --network
You should see both Access and PostgreSQL report OK. If PostgreSQL fails, check your credentials and that the server is running.
3. Create the schema
replicator-ng -c replicatorconfig.toml --schema
This creates the PostgreSQL database (if it doesn't exist), builds all tables, indexes, and foreign keys. No data is copied yet — just the structure.
4. Copy the data
replicator-ng -c replicatorconfig.toml --full-refresh
This copies every row from Access into PostgreSQL. Tables are copied in dependency order — parent tables first, then children. After completion, a validation summary compares row counts between Access and PostgreSQL.
Quick Start (GUI)
Launch replicator-ng-gui.exe:
- Source Database — Browse for your
.accdbfile, click Refresh Tables - Target Database — Enter host, port, database name, user, password; click Test Connection
- Tables — Review the discovered tables. Tick Nonvolatile for any static reference tables
- Run Replication — Configure Extra Options if needed, then click ▶ Run Now
Progress bars update in real time for each table. The log panel shows every step. A validation summary confirms all row counts match.
See the GUI Guide for details on every panel.
What Happens Next
After the first replication, you have a live PostgreSQL copy of your Access data. You can:
- Run the replicator again to sync changes (new, updated, and deleted rows)
- Schedule automatic daily syncs via Task Scheduler
- Connect BI tools, reporting systems, or AI platforms to the PostgreSQL database
- Use the
--sync-deletedflag to remove rows that were deleted in Access - Use the
--nonvolatileflag to skip tables that haven't changed
Troubleshooting
| Problem | Solution |
|---|---|
| "database does not exist" | Run with --schema first, or use the GUI's Create Database button |
| "access denied" | Check PostgreSQL pg_hba.conf allows your user from your host |
| Tables without keys don't sync | Tables without primary keys or unique indexes can only be appended, not updated. Consider adding a key in Access |
| Validation mismatch | Check the log for skipped rows. Some data types (OLE objects, attachments) can't be replicated |
| GUI won't launch | The GUI works on any Windows 10/11 machine with standard graphics drivers — no special configuration needed. If you're running in a VirtualBox VM, enable 3D Acceleration in the VM's Display settings and increase video memory to at least 128 MB. Without 3D acceleration, VirtualBox only provides a basic software renderer that egui's OpenGL backend cannot use. |