|
|
|
Негарантированный порядок выражений в pg_dump
|
|||
|---|---|---|---|
|
#18+
Сравниваю структуры двух баз по скриптам полученным от pg_dump. Базы в одном кластере, collation, locale, encoding одинаковы. Получаю разный порядок строк для грантов как на примере внизу. Код: plsql 1. 2. 3. 4. 5. и Код: plsql 1. 2. 3. 4. 5. То-есть права одинаковы, но порядок строк разный. Происходит не на всех таблицах, но часто. Почему такое может быть, как это вылечить, и не следует ли открыть баг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 02:39 |
|
||
|
Негарантированный порядок выражений в pg_dump
|
|||
|---|---|---|---|
|
#18+
Sergei.AgalakovСравниваю структуры двух баз по скриптам полученным от pg_dump. Базы в одном кластере, collation, locale, encoding одинаковы. Получаю разный порядок строк для грантов как на примере внизу. Код: plsql 1. 2. 3. 4. 5. и Код: plsql 1. 2. 3. 4. 5. То-есть права одинаковы, но порядок строк разный. Происходит не на всех таблицах, но часто. Почему такое может быть, как это вылечить, и не следует ли открыть баг? А почему вы считаете что порядок должен быть одинаковым в внутреннем формате pg_dump? Единственное требование - корректное восстановление, а какой то единообразрый порядок никто не гарантирует и уже много раз в минорных релизах он менялся даже на одной базе. Чем вам разный порядок мешает? Структуру баз по результатам сравнения текстового pg_dump сверять НЕЛЬЗЯ (ну то есть можно то можно но вот проблем аналогичным вашей возможно много и разных)! Он не предназначен для такой задачи (хотя судя по этому форуму: «Мыши плакали, кололись, но продолжали грызть кактус»). PS: в вашем конкретном случае скорее всего разница в порядке выдачи grants, на одной базе сначала был выдан грант на mro на второй сначала был выдан грант на musers. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 05:00 |
|
||
|
Негарантированный порядок выражений в pg_dump
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, А какими средствами, желательно бесплатными, МОЖНО сравнить гранты на двух базах данных с одинаковой структурой? Для сравнения схем есть неплохие платные, и даже бесплатные решения. А вот как легко проверить расхождения прав в DEV и PROD? Если б pg_dump делал дополнительную сортировку по именам, то любые расхождения в схемах и грантах в дву отлавливались бы за минуты штатными средствами. А так приходится глазками конфликты проверять. Стоило бы добавить детерминированный вывод скрипта для pg_dump как опцию, или как стандартное поведение, IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 16:01 |
|
||
|
Негарантированный порядок выражений в pg_dump
|
|||
|---|---|---|---|
|
#18+
Sergei.AgalakovMaxim Boguk, А какими средствами, желательно бесплатными, МОЖНО сравнить гранты на двух базах данных с одинаковой структурой? Для сравнения схем есть неплохие платные, и даже бесплатные решения. А вот как легко проверить расхождения прав в DEV и PROD? Если б pg_dump делал дополнительную сортировку по именам, то любые расхождения в схемах и грантах в дву отлавливались бы за минуты штатными средствами. А так приходится глазками конфликты проверять. Стоило бы добавить детерминированный вывод скрипта для pg_dump как опцию, или как стандартное поведение, IMHO. Код: plaintext Совсем уже разучились command line использовать :(. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 17:34 |
|
||
|
Негарантированный порядок выражений в pg_dump
|
|||
|---|---|---|---|
|
#18+
Так-то и я умею! Во-первых, теряется группировка по объектам (смотри мои примеры), во-вторых это только гранты в одну строку, а другие DDL идут в несколько строк. Нет, надо все-таки попросить такую фичу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 23:12 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=93&tid=1997291]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 209ms |
| total: | 356ms |

| 0 / 0 |
