В факе написано что при переустановке постгре нужно ставить такую же версию, как и та на которой создавались базы иначе она старые базы не поймет. Так вот на старом компе стояла постгре 8.3, а на 64 битную семерку, насколько я знаю ставится 9.х версия. Как быть ? Как старую базу со старого компа перекинуть?
1. На старом компе запускаешь команду:
pg_dump -h localhost -U ИМЯ_БАЗЫ_ДАННЫХ -O -f c:\БАЗА_ДАННЫХ.backup
2. Вводишь пароль
3. Получившийся файл переносишь на новый комп
4. Запускаешь pgAdmin
5. Создаешь новую БД, назначаешь ей роль входа postgres
6. выполняешь команду:
psql -h localhost -U postgres ИМЯ_НОВОЙ_БАЗЫ_ДАННЫХ < ПОЛНЫЙ_ПУТЬ_К_БАЗА_ДАННЫХ.backup
потом ждешь немного и получаешь желаемый результат.
Я таким образом перносил базы с 8.4 на 9.0, с 9.0.1 на 8.4 - все работает
upd
Если нужна подробная инструкция с картинками - постараюсь сегодня ночером выложить
Примечание модератора: эти инструкции относятся только к ХМ1 (или к ПТ3\4). В случае базы данных от ХМ2 испонение бекапа из PGadmin не поможет, после восстановления база работать не будет. Инструкция для базы ХМ2 здесь.
Оригинал пользователя Deemmy
В факе написано что при переустановке постгре нужно ставить такую же версию, как и та на которой создавались базы иначе она старые базы не поймет. Так вот на старом компе стояла постгре 8.3, а на 64 битную семерку, насколько я знаю ставится 9.х версия. Как быть ? Как старую базу со старого компа перекинуть?
Если историю рук не удаляется, а складывается в архив, то проще за ночь руки заново залить.
ХХ импортятся несколько часов, а дамп переносится несколько минут.
Но у второго способа есть недостаток - нужно писать команды в черном страшном ДОСе
Оригинал пользователя Swasud
ХХ импортятся несколько часов, а дамп переносится несколько минут.
Но у второго способа есть недостаток - нужно писать команды в черном страшном ДОСе
инструкцию с картинками в студию, архинужно и архиважно!!!
Примечание модератора: эти инструкции относятся только к ХМ1 (или к ПТ3\4). В случае базы данных от ХМ2 испонение бекапа из PGadmin не поможет, после восстановления база работать не будет. Инструкция для базы ХМ2 здесь.
Инструкция по миграции БД с версии XX на версию YY (данный способ позволяет безболезненно перейти с версии 8.3.х на любую более позднюю, либо с версии 9.х на младшие до 8.3.х включительно)
1. На старом компьютере, где установлен PostgreSQL запускаем утилиту pgAdmin
2. Подключаемся к серверу, и снимаем резервную копию с БД (в моем случае HM)
Для бэкапа устанавливаем следующие параметры:

!!!ВАЖНО!!! Обязательно должен быть выбран формат PLAIN (Простой).
3. Дождавшись завершения операции копируем файл бэкапа на "фрэшку" и переносим его на другой комп. Если получившийся файл слишком велик - его можно заархивировать zip'ом или rar'ом - текстовые файлы очень хорошо жмутся.
4. Предполагаем, что на новом компе уже установлен PostgreSQL любой поддерживаемой версии (8.3.10 - 9.1.1). Не важно, какая версия СУБД была на старом компьютере. В нашем случае (Win x64) 9.x
5. Запускаем pgAdmin, подключаемся к серверу и создаем новую базу данных
От нас требуется указать имя БД (HM2) и владельца (postgres)

6. Проводим восстановление из резервной копии.
6.1. Закрываем pgAdmin и запускаем CMD
6.2. Пишем команду C:\Program Files\PostgreSQL\9.1\bin\psql -h localhost -U postgres HM2 < E:\HM.backup
!!!ВАЖНО!!!
а) Выделенное жирным может различаться для разных версий PostgreSQL, а так же от места его установки.
б) после символа < указывается полный путь до файла с резервной копией
в) при написании команды -h localhost -U postgres - важно соблюсти регистр символов
6.3. Вводим пароль для пользователя postgres
7. Получив уведомление о завершении восстановления БД устанавливаем HM и подключаем его к нашей базе.
Примечание модератора: эти инструкции относятся только к ХМ1 (или к ПТ3\4). В случае базы данных от ХМ2 испонение бекапа из PGadmin не поможет, после восстановления база работать не будет. Инструкция для базы ХМ2 здесь.
Добавлю еще пау слов.
1. Резервная копия может быть сделана как через GUI (описано выше), так и через консоль - эффект будет одинаков.
Команда для консоли выглядит так "C:\Program Files\PostgreSQL\9.1\bin\pg_dump" -h localhost -U HM -O -f E:\HM.backup (путь к pg_dump пишем либо в кавычках, либо сокращенно C:\Progra~1\PostgreSQL\9.1\bin\pg_dump), где E:\HM.backup - это путь к создаваемому дампу. Соблюдаем так же регистр символов в параметрах бэкапа
2. Восстанавливать нужно только из консоли. При восстановлении через pgAdmin осуществляется проверка версий pgAdmin'а - которым снимали дамп, и которым производится восстановление - если они не соответствуют - печалька...
3. Если на новом компьютере была произведена установка HM и инсталятор создал БД - то перед восстановлением эту базу нужно будет удалить средствами pgAdmin, а затем создать новую с тем же именем
Спасибо, добавил в FAQ ссылку на эти посты.
Но мне вот кажется, что надо уточнить: под Вин7 CMD надо запускать от админа (по правому клику), иначе могут быть траблы.
В принципе - лишним не будет. Но на самом деле не обязательно, т.к. все операции осуществляются от имени юзера postgres, который имеет полный доступ к БД помимо win. Главное, чтобы были права на запись в каталог, куда мы бэкап сливаем
У меня на компе все операции вообще осуществляются от имени юзера Administrator - то есть, круче некуда (и других юзеров нету, окромя postgres) - и то были траблы с этим CMD
Оригинал пользователя Deemmy
В факе написано что при переустановке постгре нужно ставить такую же версию, как и та на которой создавались базы иначе она старые базы не поймет. Так вот на старом компе стояла постгре 8.3, а на 64 битную семерку, насколько я знаю ставится 9.х версия. Как быть ? Как старую базу со старого компа перекинуть?
У меня не пошла
Совсем видать старая версия стояла на старой XP, но вроде мелькала вчере инфа что с 8,3 он вроде кушает ее.
Хочу поинтересоваться у людей, смотрю вы разбираетесь в этом вопросе.
1. Установлена Win7 64
2. Скачана HM2 версия с оф сайта
3. Скачана 9,1 версия Postgre
Старую базу нету возможности перенести, не о ней сейчас.
Теперь что было сделано мною вчера:
1. Установлен HM2, не запускается - просит PosgreSQL
2. Устанавливается PostgreSQL, он при установке просит указать папку для хранения данных (то есть папку с базой) DATA. Указываем диск D:PostgreSQL/data. Он попросил вбить пароль и тд. Все сделано, служба запустилась.
3. В холдем вводим этот пароль, и он предлагает, или просит - не знаю как выразится, создать базу.
Вот тут возникаем миллион вопросов - он ее делает с помощью постгре? Что это за база вообще? Его местная, или та с которой будет работать Postgre? На старой версии холдема, на икспи, у меня была папкa data, с ней как то работал и холдем и постгре, и все было понятно. Было понятно что это основная папка и тд, и именно она росла в гигабайтах с огромной скоростью. Именно ее надо было переносить. Вообщем, указали ему точно такой же путь, то есть D:PostgreSQL. Он в этой папке, сделал свою папку, Holdemmanager2 или как то так, с ней и работает, и именно она указана в нем как единственная в настройках Database. Теперь в D:PostgreSQL 2 папки.
Возникает несколько вопросов, и если кто то ответит на них - огромнейшее спасибо ![]()
1. Стоит ли менять рабочую папку с базой в холдеме на папку Data? Если да, то зачем и что это даст?
2. Как в сегодняшней ситуации взаимосвязаны 3 понятия, Holdem-PostgreSQl-база.
3. Что именно мне надо беречь и перетаскивать на новый комп в случае переустановки переезда и тд в сегодняшней ситуации как у меня, и как лучше это сделать, чтобы ничего не пропало? Обе папки Data+Holdem? или только одну - если да, то какую?
PS Если бы файлы в папках холдем и дата хоть немного совпадали, было бы все понятно - холдем сделал свою папку, и с помощью постгре архивирует/записывает на нее данные. Но там реально совсем другие виды файлов, типы названия и тд. Поэтому и непонятно, это местный его продукт, или продукт совместной деятельности с постгре.
0. PostgreSQL - это система управления базами данных. А проги типа ХМ - это просто интерфейс для удобного просмотра этих данных.
1. В первом ХМ было проще: он создавал базу данных и с ней работал. Физически она лежит в той самой папке data
2. А вот ХМ2 помимо собственно базы данных (которая в той же data) создает еще и папку отдельную с кучей мелких файликов. И для работы ХМ2 нужны И база данных, И эта папка. Путь к ней можно увидеть, если в ХМ2 нажать кнопку "создать новую базу" (плюсик зеленый). Но путь этот можно сменить - как раз при создании.
3. Если говорить о ХМ2 - то способ сохранения всего = backup средствами самого ХМ2. Он соберет в один архив и базу, и папку DBparent, и еще настройки.
Стало понятно?
Да - более чем понятно.
Спасибо за развернутый ответ. Мысли о том что все таки эти папки совсем разные появились сразу. Теперь встало на свои места.
Еще раз большое спасибо, буду беречь папки эти, до этого по разным причинам при каждом переезде/переносе что то делалось не так, и вся история стартовала по новой
Есть БД (~500Гб) на PostgreSQL 8.3, хочу обновить до 9.1, система Win7 x64, скорость импорта сильно увеличится?
9.1 вообще не тестилась под ХМ
но некоторые пользуются - и ничего вроде
а скорость от версии Постгри практически не изменится. Не только импорта, но и вообще.
При переносе возникла одна проблема: база данных не хочет восстанавливаться из файла бэкапа. Даже на той системе, на которой копия делалась (ХР) кнопка запуска неактивна
Spoiler

Все предыдущие пункты делал в соответствии с подсказкой выше, в чём может быть проблема и как её решить? Буду признателен за помощь
Оригинал пользователя vpmarat
9.1 вообще не тестилась под ХМ
но некоторые пользуются - и ничего вроде
а скорость от версии Постгри практически не изменится. Не только импорта, но и вообще.
У 95 % кто жаловался на работу постгри стояла 9.1, может выборка не репрезентативная, но я как то не доверяю 9.1
Если ты бекап делал средствами PGadmin - то надо в нем же создать пустую базу данных и в нее тот бекап разворачивать
Оригинал пользователя vpmarat
Если ты бекап делал средствами PGadmin - то надо в нем же создать пустую базу данных и в нее тот бекап разворачивать
Я так и делаю, но почему-то кнопка запуска неактивна
