Se me ocurre entonces lo siguiente:
Instala el Perl en el ordenador donde se crea la base de datos, que será un Windows. Luego vas al panel de control, a la herramienta que gestiona las conexiones ODBC, y miras a ver cuál es el DSN de acceso a esa base de datos. Si no lo tiene, creas uno.
Luego, haces un programa que use el módulo DBI. Al usar un DSN que accede a una base de datos ODBC, DBI intentará usar el módulo DBD::ODBC. Si no está instalado, pues lo instalas.
Una vez hecho eso, ya puedes hacer el programa como quieras, para leer la base de datos. O puedes volcarla a un formato intermedio y luego se la pasas al PostgreSQL con otro programa.
Quizás lo más divertido sería que el PostgreSQL admitiese conexiones externas a través de un puerto, pues entonces desde el mismo programa en Windows que extrae información de la base de datos Access, haríamos las consultas de actualización de la base de datos destino. Así, nos ahorramos el volcado-transporte-volcado de los datos.
Quedaría solo pendiente el caso de resolver el tema en los cortes de conexión entre las dos máquinas.
Más ideas...
*
Ejemplo de acceso usando el driver directo de Microsoft con el módulo Win32::ODBC.
*
Otro acceso aún más directo, definiendo en DSN el camino directo al fichero mdb (ver último comentario de la página).
*
Accesos con DBI y con Win32::OLE.
* Otra página donde comentan
el mismo caso que el tuyo.
* Aquí hay
una configuración interesante, y recomiendan el uso de las mdbtools.
* Hay más resultados buscando en la página de perlmonks.org, en la sección Super Search, buscando por las palabras access y mdb.