Обсуждение: проблема с последовательностями и pg_dump

Поиск
Список
Период
Сортировка

проблема с последовательностями и pg_dump

От
Gleb Chipiga
Дата:
Добрый день.

Столкнулся с такой проблемой. При попытке дампа базы

pg_dump -F p test > test.sql

получаю ошибку: pg_dump: запрос на получение данных последовательности
"tbl_main_with_xml_naming_id_seq" вернул число строк > 1 (2)

test=# select * from tbl_main_with_xml_naming_id_seq;
LOG:  statement: select * from tbl_main_with_xml_naming_id_seq;
          sequence_name          | last_value | increment_by |
max_value      | min_value | cache_value | log_cnt | is_cycled |
is_called

---------------------------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
 tbl_main_with_xml_naming_id_seq |     348599 |            1 |
9223372036854775807 |         1 |           1 |       0 | f         |
t
 tbl_main_with_xml_naming_id_seq |     348158 |            1 |
9223372036854775807 |         1 |           1 |      32 | f         |
t

В документации нашел, что последовательности должны содержать только
одну запись.

PostgreSQL 8.3.16, FreeBSD 7.2

Может кто то сталкивался и знает с чем это связано и как можно пофиксить?

--
С уважением, Глеб
gleb.chipiga@gmail.com

Re: [pgsql-ru-general] проблема с последовательностями и pg_dump

От
Mihail Nasedkin
Дата:
Конкретно с этим не сталкивался. Имел опыт изменения системных таблиц,
ничего страшного не было.
Пробуй сначала сделать файловый бакап, потом удалять одну из этих записей.

16.12.11, Gleb Chipiga<gleb.chipiga@gmail.com> написал(а):
> Добрый день.
>
> Столкнулся с такой проблемой. При попытке дампа базы
>
> pg_dump -F p test > test.sql
>
> получаю ошибку: pg_dump: запрос на получение данных последовательности
> "tbl_main_with_xml_naming_id_seq" вернул число строк > 1 (2)
>
> test=# select * from tbl_main_with_xml_naming_id_seq;
> LOG:  statement: select * from tbl_main_with_xml_naming_id_seq;
>           sequence_name          | last_value | increment_by |
> max_value      | min_value | cache_value | log_cnt | is_cycled |
> is_called
>
---------------------------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
>  tbl_main_with_xml_naming_id_seq |     348599 |            1 |
> 9223372036854775807 |         1 |           1 |       0 | f         |
> t
>  tbl_main_with_xml_naming_id_seq |     348158 |            1 |
> 9223372036854775807 |         1 |           1 |      32 | f         |
> t
>
> В документации нашел, что последовательности должны содержать только
> одну запись.
>
> PostgreSQL 8.3.16, FreeBSD 7.2
>
> Может кто то сталкивался и знает с чем это связано и как можно пофиксить?
>
> --
> С уважением, Глеб
> gleb.chipiga@gmail.com
>
> --
> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general
>


--
---
С уважением,
Михаил Наседкин

Re: проблема с последовательностями и pg_dump

От
"Andrey N. Oktyabrski"
Дата:
On 16.12.11 14:47, Gleb Chipiga wrote:
> В документации нашел, что последовательности должны содержать только
> одну запись.
>
> PostgreSQL 8.3.16, FreeBSD 7.2
>
> Может кто то сталкивался и знает с чем это связано и как можно пофиксить?
Оно, конечно, неспортивно, и не unix way, но почему бы её не уничтожить
и заново создать?

Re: проблема с последовательностями и pg_dump

От
"Andrey N. Oktyabrski"
Дата:
On 17.12.11 21:28, Gleb Chipiga wrote:
> Проблема в том что на эту последовательность завязано несколько таблиц
> (всего несколько десятков таблиц и процедур) и удалить это не вариант.
> Даже заменить на другую это уже проблема. К тому же эта проблема не с
> одной последовательностью, а с несколькими. Хотелось бы как нибудь
> исправить текущий последовательности.
>
> 16 декабря 2011 г. 17:32 пользователь Andrey N. Oktyabrski
> <ano@bestmx.ru>  написал:
>> On 16.12.11 14:47, Gleb Chipiga wrote:
>>>
>>> В документации нашел, что последовательности должны содержать только
>>> одну запись.
>>>
>>> PostgreSQL 8.3.16, FreeBSD 7.2
>>>
>>> Может кто то сталкивался и знает с чем это связано и как можно пофиксить?
>>
>> Оно, конечно, неспортивно, и не unix way, но почему бы её не уничтожить и
>> заново создать?
Мне кажется, это глюк конкретно версии 8.3.16 под freebsd 7.2. Года 4
назад у меня 8.3 работал со штатной нагрузкой порядка 500qps, как раз в
базе была одна последовательность на все таблицы. Ничего подобного не
было ни разу.

Как починить, я не знаю. Привычка исправлять всё как можно быстрее
заставляет искать гарантированно работающие решения, а это именно
drop/create. Если есть достаточно времени, можно попробовать поискать
более изящное решение, но по-моему всё равно всё кончится drop/create.

Ну, несомненно в первую очередь имеет смысл попробовать обновиться до
8.3.17 в надежде на то, что оно само всё починит.

Re: [pgsql-ru-general] проблема с последовательностями и pg_dump

От
Mihail Nasedkin
Дата:
Я же говорю, удалить одну запись из системной таблицы. Поковыряйся в
схеме pg_catalog, там все просто.

18.12.11, Gleb Chipiga<gleb.chipiga@gmail.com> написал(а):
> А как можно удалить? Delete на последовательности не работает.
>
> 16 декабря 2011 г. 16:28 пользователь Mihail Nasedkin
> <m.nasedkin@gmail.com> написал:
>> Конкретно с этим не сталкивался. Имел опыт изменения системных таблиц,
>> ничего страшного не было.
>> Пробуй сначала сделать файловый бакап, потом удалять одну из этих записей.
>>
>> 16.12.11, Gleb Chipiga<gleb.chipiga@gmail.com> написал(а):
>>> Добрый день.
>>>
>>> Столкнулся с такой проблемой. При попытке дампа базы
>>>
>>> pg_dump -F p test > test.sql
>>>
>>> получаю ошибку: pg_dump: запрос на получение данных последовательности
>>> "tbl_main_with_xml_naming_id_seq" вернул число строк > 1 (2)
>>>
>>> test=# select * from tbl_main_with_xml_naming_id_seq;
>>> LOG:  statement: select * from tbl_main_with_xml_naming_id_seq;
>>>           sequence_name          | last_value | increment_by |
>>> max_value      | min_value | cache_value | log_cnt | is_cycled |
>>> is_called
>>>
---------------------------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
>>>  tbl_main_with_xml_naming_id_seq |     348599 |            1 |
>>> 9223372036854775807 |         1 |           1 |       0 | f         |
>>> t
>>>  tbl_main_with_xml_naming_id_seq |     348158 |            1 |
>>> 9223372036854775807 |         1 |           1 |      32 | f         |
>>> t
>>>
>>> В документации нашел, что последовательности должны содержать только
>>> одну запись.
>>>
>>> PostgreSQL 8.3.16, FreeBSD 7.2
>>>
>>> Может кто то сталкивался и знает с чем это связано и как можно пофиксить?
>>>
>>> --
>>> С уважением, Глеб
>>> gleb.chipiga@gmail.com
>>>
>>> --
>>> Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-ru-general
>>>
>>
>>
>> --
>> ---
>> С уважением,
>> Михаил Наседкин
>
>
>
> --
> С уважением, Глеб
> gleb.chipiga@gmail.com
>


--
---
С уважением,
Михаил Наседкин