Привет Всем!
По поводу импорта данных в/из PgSQL есть некоторое количество готовых утилит, но я столкнулся с проблемой, когда требуется импорт данных (в PgSQL) из байлов базы данных именно PgSQL.
Как получилось:
Ребята переустанавливали одну систему на компе где работает прога, использующая PgSQL. Позвонили предварительно мне, я им сказал, чтобы остановили сервис и забекапили папку Data в папке PG. Можно было бы просто дамп сделать, но пришлось бы долго по телефону объяснять как зайти в PgAdmin III и что там делать. К тому же база в 5 гектар, а PG такие базы почему-то очень долго дампит (на часы счет идет при практически нулевой загрузке проца). Ребята сохранили почемуто только папку Base. В PgSQL база данных это не как в MSSQL (пара База+Лог). Там куча файлов и папок, которые пронумерованы согласно OID баз и таблиц. И каждый раз при создании баз данных назначаются разные номера. Т.е. просто подменить файлы не получилось. Пробовал переименованием, но запросы все равно выдают лажу про файлик в Data\pg_clog. Пробовал и тот файлик переименовать - все равно что-то не устраивает.
Таким образом я вижу только два пути: либо как-то импортировать данные из файлов базы, либо как-то научиться вручную назначать OID.
В связи счем большой SOS. Времени у меня - несколько часов. Помогите пожалста
пока глухо
Получилось вроде "совпасть" по OID, но как я понял у PgSQL тоже есть что-то лога транзакций и с этим проблема... Эту папочку тоже не сохранили... т.е. при попытке сделать какую-либо выборку с таблицы получаем ошибку:
ERROR: could not access status of transaction 57941905
ПОДРОБНО: Could not open file "pg_clog/0037": No such file or directory.
//
директория то есть... файлика нету...
Почитай, может
Почитай, может поможет:
http://postgresql.ru.net/manual/wal-internals.html
Я бы тупо создал файл, забил бы его нулями и сделал хедер как сказано в доке - может быть и прокатило бы
В качестве
В качестве просто наблюдения...
в папочке \data\global есть файлик pg_database с таким содержанием
соответственно первый номер в этой таблице - OID базы и название папочки базы в \data\base
Может быть деинсталлировать постгрю, подкинуть ему в папочку базу, подправить этот файлик, все лишнее почикать и установить заново, сделав вид, что так и осталось от прошлой инсталляции
не проканало
не проканало
Ну есть же спецы
Ну есть же спецы по ПГ! не может быть, чтоб небыло выхода! Откликнитесь, ребят!
большая
большая концентрация спецов здесь