powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос БД с помощью dumpall
3 сообщений из 3, страница 1 из 1
Перенос БД с помощью dumpall
    #39183803
sec0nd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня!
Знаю, что похожие темы уже были, но на свой вопрос я ответа не нашел...

Пытаюсь перенести БД с одного сервера на другой.

Исходный сервер:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
postgres@server1:~> psql -V
psql (PostgreSQL) 9.2.3
postgres@server1:~>
postgres@server1:~> psql -l
                                   List of databases
   Name    |  Owner   | Encoding |   Collate    |    Ctype     |   Access privileges
-----------+----------+----------+--------------+--------------+-----------------------
 database1   | database1  | UTF8     | ru_RU.UTF-8  | ru_RU.UTF-8  |
 postgres  | postgres | UTF8     | en_US.UTF-8  | en_US.UTF-8  |
 database2      | database2    | WIN1251  | ru_RU.cp1251 | ru_RU.cp1251 |
 template0 | postgres | UTF8     | en_US.UTF-8  | en_US.UTF-8  | =c/postgres          +
           |          |          |              |              | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8  | en_US.UTF-8  | =c/postgres          +
           |          |          |              |              | postgres=CTc/postgres
(5 rows)




Новый сервер:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
-bash-4.2$ psql -V
psql (PostgreSQL) 9.2.14
-bash-4.2$
-bash-4.2$ psql -l
                                 Список баз данных
    Имя    | Владелец | Кодировка | LC_COLLATE |  LC_CTYPE  |     Права доступа
-----------+----------+-----------+------------+------------+-----------------------
 postgres  | postgres | UTF8      | ru_RU.utf8 | ru_RU.utf8 |
 template0 | postgres | UTF8      | ru_RU.utf8 | ru_RU.utf8 | =c/postgres          +
           |          |           |            |            | postgres=CTc/postgres
 template1 | postgres | UTF8      | ru_RU.utf8 | ru_RU.utf8 | =c/postgres          +
           |          |           |            |            | postgres=CTc/postgres
(3 строки)




Сделал на исходном сервере дамп командой pg_dumpall > /home/dumpall

Переместил дамп на новый сервер, пытаюсь восстановить его командой psql -f /home/dumpall postgres

Очень быстро получаю сообщение:
Код: sql
1.
psql:/home/dumpall:3262: \connect: ВАЖНО:  база данных "database2" не существует



Смотрю список баз:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
-bash-4.2$ psql -l
                                  Список баз данных
    Имя    | Владелец | Кодировка | LC_COLLATE  |  LC_CTYPE   |     Права доступа
-----------+----------+-----------+-------------+-------------+-----------------------
 database1   | database1  | UTF8      | ru_RU.UTF-8 | ru_RU.UTF-8 |
 postgres  | postgres | UTF8      | ru_RU.utf8  | ru_RU.utf8  |
 template0 | postgres | UTF8      | ru_RU.utf8  | ru_RU.utf8  | =c/postgres          +
           |          |           |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8      | ru_RU.utf8  | ru_RU.utf8  | postgres=CTc/postgres+
           |          |           |             |             | =c/postgres
(4 строки)



Первая БД, которая мне на самом деле не очень нужна, восстановилась.

Вторая БД нет...

В чем проблема?
...
Рейтинг: 0 / 0
Перенос БД с помощью dumpall
    #39183836
sec0nd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот записи из лога:

Код: sql
1.
2.
3.
4.
5.
6.
7.
  ОТМЕТКА:  система БД была выключена: 2016-03-02 14:42:57 MSK
ОТМЕТКА:  процесс запуска автоочистки создан
ОТМЕТКА:  система БД готова принимать подключения
ОШИБКА:  роль "postgres" уже существует
ОПЕРАТОР:  CREATE ROLE postgres;
ОШИБКА:  неверное имя локали: "ru_RU.cp1251"
ОПЕРАТОР:  CREATE DATABASE database2 WITH TEMPLATE = template0 OWNER = database2 ENCODING = 'WIN1251' LC_COLLATE = 'ru_RU.cp1251' LC_CTYPE = 'ru_RU.cp1251';
...
Рейтинг: 0 / 0
Перенос БД с помощью dumpall
    #39183883
sec0nd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему решил добавлением нужной локали в ОС

Код: c#
1.
localedef -c -i ru_RU -f CP1251 ru_RU.CP1251



Не первый раз замечаю, что после подробного описания проблемы где-нибудь на форуме, решить ее самому становится намного проще
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос БД с помощью dumpall
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]