PostgreSQL
Access

PostgreSQL to Access Converter

PostgreSQL tables into a new Access file for reporting or local use, with a type-mapping review and jobs you can run again.

Version
5.4.0
Release Date
Oct. 25, 2026
Size
125.9 MB
Platform
Windows 10 or later

Rather not run it yourself?

Let us do the migration →

Copy PostgreSQL tables into a Microsoft Access file for reporting, local analysis, or an Access front end. DBConvert creates the .accdb or .mdb file, its tables, keys, indexes, and foreign keys, and moves the rows by value.

  • Reads PostgreSQL, Amazon RDS or Aurora, Azure Database for PostgreSQL, Google Cloud SQL, or Supabase.
  • Writes a new .accdb, or an .mdb in the Access 2000 format, optionally protected by a database password.
  • Runs on Windows as a desktop application.
  • The same download converts Access into PostgreSQL.

What the Access side needs

64-bit Access Database Engine

Microsoft's free download, not part of the DBConvert installer. Without it, the connection step says so and links to it.

2 GB per file

Microsoft caps an Access file at 2 GB. Select tables or use a per-table row filter when the source is larger.

Password, not workgroups

The target file can carry a database password. Workgroup security (.mdw files) is not supported.

Export once, or keep the Access copy current

Both modes are part of the same DBConvert application.

One-time conversion

Create the Access file and load the selected tables. A value Access cannot hold is a row error naming the table and column, never a silent NULL.

Synchronization

Rerun a sync job and only inserts, updates, and deletes on the PostgreSQL side reach the Access file. See how synchronization works.

A job keeps both connections, the table selection, and the options. Run it again from the application, or by name from Task Scheduler with --run-job.

How PostgreSQL types map to Access

Access has fewer types than PostgreSQL. These are the defaults; review or override the target type per column.

In PostgreSQL DBConvert default in Access What needs attention
numeric, bigint, money numeric(p,s) becomes Decimal(p,s), up to Access's 28 digits; numeric without a precision becomes Decimal(28,10); bigint becomes Decimal(19,0); money becomes Currency. A wider column keeps every integer digit and loses fraction digits. A value whose integer part does not fit is a row error naming the column.
serial, bigserial, identity AutoNumber (Long Integer), continuing from the last id. A key above 2,147,483,647 is refused by name; the rows that fit arrive.
varchar, char, text Short Text up to 255 characters; longer or unbounded text becomes Long Text (Memo). Unicode text arrives as written.
timestamp, timestamptz, date, time Date/Time. A timestamptz is stored as its UTC instant; a time lands on 30 December 1899, Access's day zero. Dates before the year 100 and infinity are row errors naming the column.
boolean, uuid, bytea Yes/No, Replication ID, and OLE Object. Yes/No has no NULL: a NULL boolean becomes No, named in the log.
json, jsonb, arrays, interval, inet, xml, enums, ranges Long Text holding PostgreSQL's text form, such as {1,2,3}. Each such column is named in the log. Access sees text, not structure.

Functions, triggers, and views stay in PostgreSQL

DBConvert moves tables, keys, indexes, and foreign keys. PL/pgSQL functions, triggers, views, and permissions have no place in an Access file; rebuild what the Access side needs as Access queries.

Supported versions and services

PostgreSQL

  • PostgreSQL 8.x through 17.x
  • Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL, Supabase
  • PostgreSQL schemas (public, custom schemas)

Access

  • MS Access .accdb, and .mdb in Access 2000 format or later
  • Database password; the 64-bit Microsoft Access Database Engine is required

How to migrate PostgreSQL to Access

1

Setup: connect PostgreSQL and Access

Pick Convert or Sync, then choose the source and destination connections side by side on one screen. A connection is saved once and reused by every job.

The Setup step in DBConvert: the mode, the PostgreSQL source and Access destination side by side, and the job name

Sync keeps an existing Access database up to date with PostgreSQL: each run carries only the inserts, updates and deletes since the last one.

The Setup step in Sync mode for PostgreSQL to Access: how changes are detected and the direction

PostgreSQL source

Read from self-hosted PostgreSQL, Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, or Google Cloud SQL.

Access target

Name a new .accdb or .mdb file, optionally with a database password. Writing it needs the 64-bit Microsoft Access Database Engine; Microsoft caps the file at 2 GB.

2

Tables & mapping: see every Access type before a row moves

Pick the tables, then open one: each PostgreSQL column shows the Access type it becomes. Change a type or a name in place; the line at the bottom names anything that would fail.

Tables and mapping for PostgreSQL to Access: the table list and one table's columns with their Access types
3

Execution: start it, and the job is saved

Review what the run will do, start it, and read the log as it goes. The job stays in the list to run again or put on a schedule.

A finished PostgreSQL to Access conversion: the summary and the operation log

Every option, in the guide

Naming rules, table options, row filters, scheduling and the command line work the same for every database pair, so they live in one place.

Move PostgreSQL data into Access

Download the current build and run the first job against your own database.

Windows Windows 10 or later · 125.9 MB