| This page is user contributed documentation. See the bottom of the page for information about the author. | |
FileMaker files are the equivalent of individual PostgreSQL tables. FileMaker is a relational DBMS, but the relationships are between different files in FileMaker Pro. Often, what is considered a single database is several or many individual FileMaker files. So when converting from FileMaker to PostgreSQL, take each file one at a time, and recreate them as PostgreSQL tables.
FileMaker Pro databases, in a generalized description, have 4 basic components:
"User Interface" and "Script" components are specific to FileMaker, having no equivalents in either SQL or in PostgreSQL, and are thus, sadly, not possible to port to PostgreSQL without complete ground up re-writes. Since PostgreSQL has a variety of front-ends available to provide the user interface (pg_access, web-based interfaces using perl, ColdFusion and other web programming languages), the user interface must also be re-written from the ground up. To facilitate this process, diagramming your basic metaphors and the way users interact with your system is very useful.
"Field Definition" components and the FileMaker data
however, can be converted to PostgreSQL tables fairly easily.
There are several different data types in FileMaker; text, number, date, time, container, calculation, summary and global.
Date and time definitions have their obvious counterparts in PostgreSQL.
Text is just like "text" in PostgreSQL, basically unlimited in size. There are no equivalents in FileMaker to char and varchar data types. If you have small text fields, for things like Zip Codes, Phone numbers and the like, you might want to use the varchar or char data types instead of text.
In FileMaker, the number type does not have a precision - it can be an integer, or a float. What distinguishes them in a FileMaker database is the formatting of the output, not the storing of the number - the number is stored as floating point. So when porting to PostgreSQL, determine what fields can be integers and what fields should be floating point.
The other data types provide for very specific problems in terms
of converting the database from FileMaker to PostgreSQL. Calculation
and Summary field types in FileMaker will have to be ported either by using functions
within PostgreSQL, or by including these calculations in the programming interaction
between PostgreSQL and the front-end.
The easiest method is probably getting data as delimited text, then creating a script or program to get that information into the PostgreSQL database. If you'd like a copy of the script I use, email me and I'll send you the latest version.
As well, hand editing this file to make it correspond to INSERT statements is another possibility, although time consuming, if there are many records.
FileMaker Pro is ODBC compliant, so it's possible to use FileMaker Pro to get data from a PostgreSQL database in this way.
Michelle Murrain, Ph.D.