FoxPro
PostgreSQL

DBF to PostgreSQL Converter

Move standalone DBF tables, Visual FoxPro databases, dBase, Clipper, XBase, and FoxBase data into PostgreSQL, Amazon RDS, Aurora, Azure Database for PostgreSQL, Google Cloud SQL, or Supabase.

DBF to PostgreSQL migration moves standalone .dbf tables, Visual FoxPro .dbc databases, and related memo files into PostgreSQL tables.

The row copy is only one part of the job. The fragile areas are DBF/FoxPro metadata, memo data, deleted-record handling, old code pages, date rules, numeric precision, and separating FoxPro application logic from database storage.


What DBConvert does on this path: handles the legacy DBF move as a repeatable desktop workflow:

  • Reads Visual FoxPro databases, standalone DBF tables, dBase, Clipper, XBase, and FoxBase sources.
  • Creates PostgreSQL-compatible tables and migrates records, including memo data when the related memo files are present.
  • Writes to PostgreSQL, Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL for PostgreSQL, or Supabase.
  • Saves the job as a repeatable session so test migrations can be rerun before the final cutover.

What it does not do: DBConvert does not rewrite FoxPro forms, reports, menus, .prg programs, or application business logic into a PostgreSQL application layer.

Which tool: DBConvert or DBSync?

DBConvert for DBF → PostgreSQL

One-time migration. Use it when PostgreSQL is becoming the target database and you need DBF/FoxPro structures, table data, type mapping, and cloud target support in a desktop wizard.

DBSync for DBF ↔ PostgreSQL

Repeat synchronization. Use it when the legacy DBF/FoxPro source must stay operational while PostgreSQL is populated, tested, or used by a new reporting or application layer. Review synchronization concepts.

Need more context? Compare DBConvert and DBSync side by side →

How DBConvert handles the DBF/FoxPro → PostgreSQL differences

DBF/FoxPro sources are folders of related files, not a single database, and carry desktop-database assumptions that PostgreSQL does not share. DBConvert handles the file-level move and column-level mapping in the wizard with sensible defaults that you can review or override per table; FoxPro application logic is outside the migration tool.

.dbc databases and free .dbf tables

Reads Visual FoxPro .dbc database containers with their metadata, and standalone folders of free .dbf files as independent table sets - pick the source shape at the connect step.

Memo and binary-style values

Picks up companion memo files (.fpt) alongside each .dbf so Memo and General column data travels with the table set - keep the related files in the source folder during migration.

Indexes and deleted records

Translates DBF .cdx indexes into PostgreSQL indexes where the index expression is portable, and lets you include or exclude DBF rows marked for deletion on the PostgreSQL target - pick the policy in the wizard.

Encoding

Re-encodes legacy DOS / Windows code pages to PostgreSQL UTF8 on load so names, addresses, notes, and memo text round-trip correctly - verify with a trial conversion before cutover.

FoxPro application objects - out of scope

DBConvert's migration covers tables (with their fields, types, defaults, and indexes), views, and foreign keys. Forms, reports, .prg programs, menus, and FoxPro business logic are part of the FoxPro application, not the database - rebuilding that layer is a separate workstream (web framework, .NET front end, BI tool).

Type mapping checkpoints

FoxPro field PostgreSQL target & notes
Character / Varchar varchar(n) or text, with trimming rules reviewed before keys and joins.
Memo text, provided the related memo file is included and readable.
Date / DateTime date or timestamp, with an explicit policy for blank or invalid legacy dates.
Logical boolean, after checking source values for true, false, blank, and null-like states.
Numeric / Currency numeric(p,s) for precision-sensitive values such as balances and totals.
General / Binary Usually bytea or manual handling, depending on how the legacy application stored files.

Choosing the migration route

Match the tool to the source shape and the amount of control you need.

Route Best fit Main tradeoff
DBConvert / DBSync GUI-driven schema and data migration, saved sessions, cloud PostgreSQL targets, and staged cutovers where DBF data must stay connected to PostgreSQL. FoxPro application code still needs separate review or rewrite.
Open-source DBF loaders Technical users migrating simple DBF tables with command-line tools such as pgloader or PgDBF. Less suitable when users need a Windows wizard, repeatable sync, visual mapping, or business-user review.
Online upload converters Small, non-sensitive DBF files where a quick SQL dump is enough. Not a good default for private client data, repeat migrations, or sources with many related files.
Custom ETL Heavy cleanup, custom encoding repair, explicit staging tables, and application-specific transformations. Requires developer ownership of schema generation, data validation, and every edge case.

Manual CSV export can work for one simple table. It becomes fragile when the source uses memo files, old encodings, many related DBF tables, or repeated migration tests before cutover.

Supported versions

  • Visual FoxPro .dbc databases and standalone DBF tables
  • Free tables (DBF without .dbc container) and Memo (.fpt) files
  • PostgreSQL 8.x through 17.x
  • Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL, Supabase
  • PostgreSQL schemas (public, custom schemas)

Supported in this path

Source FoxPro
Target PostgreSQL
Visual FoxPro DBF / dBase free tables Clipper / XBase DBF PostgreSQL Amazon RDS / Aurora for PostgreSQL Azure Database for PostgreSQL Google Cloud SQL for PostgreSQL Supabase

Using FoxPro to PostgreSQL Tools

When launching the DBConvert or DBSync application in GUI mode, it guides you through the steps to start database migration or synchronization:

1

Connect to FoxPro source database

Specify the username/password and host/port parameters if your source database requires login credentials.

Connect to FoxPro source database from DBConvert

FoxPro source

Select a Visual FoxPro .dbc database or a folder of free DBF tables. Keep memo and index files with the source folder so DBConvert can read the full table set.

2

Connect to PostgreSQL destination database

Specify parameters for the destination database similar to the source, defining connection settings and username/password pairs.

Connect to PostgreSQL target database from DBConvert

PostgreSQL target

Use the PostgreSQL connection guide for local PostgreSQL, Amazon RDS / Aurora, Azure, Google Cloud SQL, or Supabase.

Next steps: configure, validate, run

After connecting source and target, the remaining steps are the same for every database pair:

  • Configure migration options - pick tables, fields, indices, views.
  • Issue detection - the built-in checker flags integrity problems before migration starts.
  • Execute - commit the job, monitor progress, save the session for reuse.
  • Schedule and CLI - rerun saved sessions on a schedule or from the command line.
Open the full guide

Steps 3-5, software features, command-line mode, scheduler, and system requirements.

See all features