Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
Так получилось, что база завязана на OID пользователей. пользователи создавались путем create user... теперь при dump/restore возникает проблема с пользователями. Таблицу pg_user дампить не выходит... Есть какой то правильный путь dump/restore users with oids? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2006, 15:41 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
А как тогда правильно создавать (чтобы при дампе сохранялись)? Создаю Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2006, 16:28 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
pg_dumpall -g ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2006, 17:58 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
сори, поспешил, oid'ов там не будет. а как вы будете создавать пользователя с определенным oid? в доках по create user/role ничего не нашел подходящего кроме doc SYSID uid The SYSID clause is ignored, but is accepted for backwards compatibility. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2006, 18:23 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
В этом и беда - в отсутствии уникальности OID. Завязываться надо, видимо, на логин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 08:27 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
И вот такие ещё проблемы: http://archives.postgresql.org/pgsql-bugs/2006-09/msg00187.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 10:13 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
1) pg_user - не таблица а view вида и просмотрев его исходники можно рискнуть сделать pg_dump -t pg_authid template1 а затем вкрутить его, но чем это чревато думаю объяснять нет надобности. Думаю правильнее хотя и дольше - заменить во всех запросах обращение к pg_user на свою таблицу (скажем atsusers), в которую скопировать данные из pg_authid. Oid скопировать в поле скажем ausid и отрихтовать запросы. 3) Насчет "бага" ничего не ясно.... может автор просто забыл написать create table ddd () WITH oiDs; или написал set default_with_oids=false; а потом заорал "баг". По факту сейчас в 8.1.3/4 нормально все дампится и ресторится. Да таже pg_authid замечательно бакапится. IMHO oid сейчас реально используется не чаще чем скажем пресловутый goto. И привязываться к нему в глобальных вещах непростительно. 4) На _пустом_ кластере при создании пользователей сразуже после initdb можно получить полное совпадение usesysid. Для постгреса думаю везде он равен 10 ну а для первого пользователя созданного руками скороее всего будет 16384. Баг pg_dumpall в том что нужно дампить pg_authid да и все системные таблицы ( вот это и есть дампить все!!! 8-) ), а не создавать в них объекты с непредсказуемыми oid. Опять таки все это всего IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 23:18 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
А много чего "завязанно" уже? Может сделать отдельно свою таблицу с логинами и своими login_id и завязываться на нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 01:26 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
Shweik 3) Насчет "бага" ничего не ясно.... может автор просто забыл написать create table ddd () WITH oiDs; или написал set default_with_oids=false; а потом заорал "баг". По факту сейчас в 8.1.3/4 нормально все дампится и ресторится. Да таже pg_authid замечательно бакапится. IMHO oid сейчас реально используется не чаще чем скажем пресловутый goto. И привязываться к нему в глобальных вещах непростительно. Речь об OID'ах классов. Вот было бы здорово, если бы они были всегда уникальными. Это просто мечта. :-) Т.е. человек использует идентификаторы для связки каких-то таблиц. OIDы строк нормально дампятся-ресторятся, да. И то, там есть нюансы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 07:28 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
В общем переделывать храниение пользователей.. Что то здесь не так с хранением пользователей в постгресе. А завязались на oid что использовалось select usesysid from pg_user where usename = (select current_user); Но своевременно ре разобрались что usesysid есть не что иное как oid :(. А на тот момент postgresql8.0, позволял явно задавать id пользователя, в pgadmin была галочка - задать id пользователя. кстати при pg_dumpall -o (-o with oids) usesysid`ы меняются :(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2006, 11:10 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
Алексей КлючниковВ общем переделывать храниение пользователей.. Что то здесь не так с хранением пользователей в постгресе. А завязались на oid что использовалось select usesysid from pg_user where usename = (select current_user); Но своевременно ре разобрались что usesysid есть не что иное как oid :(. А на тот момент postgresql8.0, позволял явно задавать id пользователя, в pgadmin была галочка - задать id пользователя. кстати при pg_dumpall -o (-o with oids) usesysid`ы меняются :(. вот скриптик на перле, им можно сделать дамп юзеров с usesysid Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2006, 17:55 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
Проблема отсутствия правильного пути скорее вот в чем : Код: plaintext 1. 2. 3. Это из описания Create Role 8-( Так что вышеприведенный скрипт начиная с v 8.1.0 ( Create a new role system that replaces users and groups (Stephen Frost)) не поможет. Кажись поторопились г-да разработчики 8-(( . Придется сделать в новую базу копию pg_authid (назовем ее скажем old_authid) а затем создав новых пользователей проапдейтить все таблицы основываясь на вьюшке Код: plaintext 1. 2. 3. 4. 2glebofff OID-ы неуникальны.... вот это новость 8-[] всегда был убежден что в пределах базы OID уникален иначе смысл его непонятен. А как же вот это - деза? Сноска 12.3 : Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2006, 21:11 |
|
||
|
dump пользователей
|
|||
|---|---|---|---|
|
#18+
ShweikПроблема отсутствия правильного пути скорее вот в чем : 2glebofff OID-ы неуникальны.... вот это новость 8-[] Это не новость! :-) Если серьёзно, то мне бы хотелось, чтобы при восстановлении БД из дампа восстанавливались и OID'ы таблиц, схем, объектов. Вот я о чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2006, 10:38 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=2005850]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 413ms |

| 0 / 0 |
