У меня есть несколько БД, к которым я могу получить доступ через pgAdmin 3, у меня есть программа, которая может анализировать только файлы .mdb. кто-нибудь знает, как конвертировать / экспортировать postgres db в mdb? желательно через pgAdmin 3?
Спасибо
Вы должны иметь возможность использовать файлы MS Access с помощью ODBC (если у вас есть окно Windows). С этим вы можете написать небольшой скрипт для дампа базы данных из одного формата в другой, например с python с использованием пакетов obdc, pyodbc или mxODBC.
простой пример может быть (работает в Windows, на самом деле не тестировался, вам, вероятно, потребуется загрузить пакет psycopg2):
import odbc, psycopg2
odbc_conn = odbc.odbc("DSN=MY_ACCESS_DATABASE")
pg_conn = psycopg2.connect("host=server_name dbname=my_db user=godot password=???")
pg_curs = pg_conn.cursor()
odbc_curs = odbc_conn.cursor()
pg_curs.execute('select * from my_table')
for row in pg_curs.fetchall():
# The format depends on your table, of course
# With more work you can make it more generic, generating the
# format string from the type of the columns
odbc_curs.execute('insert into my_table values (%s,%d,%d)' % row)
.MDB - это MS Access, верно? Я сомневаюсь, что pgAdmin 3 сможет это сделать. Если Access может обрабатывать SQL, вы, вероятно, можете сбросить базы данных Postgres в обычный текстовый SQL и загрузить его в Access (с небольшими изменениями, я предполагаю). Если нет, то вам, вероятно, придется написать небольшую программу, которая читает из Postgres и записывает в Access / MDB. Может, он уже существует. Большинство конвертеров, которые я нашел с помощью Google, идут в другом направлении.