|
|
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
Есть много баз данных, все связываются с центральной, чтоб не запутаться в них даже в случае восстановления из бекапов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 04:29 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
Я, скорее всего, вопрос не понял, но попробуй это Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 08:46 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
rovan, когда у клиента разворачиваешь базу с нуля, у почти всех oid будет 16385 +- 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 08:59 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
хотелось бы уникальный идентификатор кластера, который создается случайно в момент установки(например время установки), тогда его можно было бы использовать в паре с OID базы данных. У меня просто так получается, сделал бэкап бд у клиента, принес куда ни будь, развернул, а он возьми и подключись к центру... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 09:08 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
svd85, Во всей литературе по дизайну реляционной модели говориться "никогда не привязывайтесь к особенностям физической реализации СУБД". Если вам нужен идентификатор, то генерируйте и храните его самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 10:01 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
svd85хотелось бы уникальный идентификатор кластера, который создается случайно в момент установки(например время установки), тогда его можно было бы использовать в паре с OID базы данных. У меня просто так получается, сделал бэкап бд у клиента, принес куда ни будь, развернул, а он возьми и подключись к центру... Можно использовать uuid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 11:10 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
svd85хотелось бы уникальный идентификатор кластера, который создается случайно в момент установки(например время установки), тогда его можно было бы использовать в паре с OID базы данных. Что и в какой момент должен идентифицировать ваш идентификатор? svd85У меня просто так получается, сделал бэкап бд у клиента, принес куда ни будь, развернул, а он возьми и подключись к центру... Я правильно понимаю, что развернутая из бэкапа база должна получить отличный от оригинала идентификатор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 11:52 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
Ыsvd85хотелось бы уникальный идентификатор кластера, который создается случайно в момент установки(например время установки), тогда его можно было бы использовать в паре с OID базы данных. Что и в какой момент должен идентифицировать ваш идентификатор? svd85У меня просто так получается, сделал бэкап бд у клиента, принес куда ни будь, развернул, а он возьми и подключись к центру... Я правильно понимаю, что развернутая из бэкапа база должна получить отличный от оригинала идентификатор?наверное в бекапе должна лежать непроинициализированнная БД -- тогда концы сойдутся -- развернутая из бекапа БД, к которой было совершено [инициализирующее] обращение -- далее по тексту. гарантий тут не будет никаких, но гарантия сверхмалой вероятности может дать генерация гуид при первом обращении инициирующей процедурки. (есть вроде набор утилит в виде http://www.postgresql.org/docs/9.4/static/uuid-ossp.html ) вариант реализации -- любое обращение читает из некоторой таблички запись констант, а если ее (записи) нет -- создает с опорой на сгенерированный гуид (и вешает блокирующий триггер на все события записи и таблицы). работает, если в бекапе этой записи гарантированно не будет. если кто-то обратится к бд--шаблону по пользовательским интерфейсам -- то проинициализирует её -- и придётся чистить перед бекапированием "шаблона" а чтобы не подключаться куда не надо, если такой забывачивый, -- надо все обращения завернуть в WHERE client_inet_addr() blahblahblah UND server_inet_addr() blahblahblah , ну и усложнить жизнь жесткими ограничениями listen_addresses [postgres.conf]и hosts in pg_hba.conf но дешевле -- не забывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 12:41 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
ЫЧто и в какой момент должен идентифицировать ваш идентификатор? идентифицировать надо конкретный экземпляр базы данных, чтобы центр мог определить случайные и посторонние копии ЫЯ правильно понимаю, что развернутая из бэкапа база должна получить отличный от оригинала идентификатор? правильно лопатанаверное в бекапе должна лежать непроинициализированнная БД -- тогда концы сойдутся -- развернутая из бекапа БД, к которой было совершено [инициализирующее] обращение -- далее по тексту. гарантий тут не будет никаких, но гарантия сверхмалой вероятности может дать генерация гуид при первом обращении инициирующей процедурки. (есть вроде набор утилит в виде http://www.postgresql.org/docs/9.4/static/uuid-ossp.html ) вариант реализации -- любое обращение читает из некоторой таблички запись констант, а если ее (записи) нет -- создает с опорой на сгенерированный гуид (и вешает блокирующий триггер на все события записи и таблицы). работает, если в бекапе этой записи гарантированно не будет. если кто-то обратится к бд--шаблону по пользовательским интерфейсам -- то проинициализирует её -- и придётся чистить перед бекапированием "шаблона" такой гуид есть, а ели его нет то при первом обращении создается, но и в бекап он тоже попадает, на этом как раз я и прокололся, и решил заморочится лопатаа чтобы не подключаться куда не надо, если такой забывачивый, -- надо все обращения завернуть в WHERE client_inet_addr() blahblahblah UND server_inet_addr() blahblahblah , ну и усложнить жизнь жесткими ограничениями listen_addresses [postgres.conf]и hosts in pg_hba.conf базы географически разнесены, ip динамические, к каждой базе подключаются несколько клиентов, без ограничений, любой клиент может подключатся к центру. лопатано дешевле -- не забывать цена ошибки очень велика, минимум день реставрации БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 03:18 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
надеялся что есть что ни будь штатное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 03:21 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
svd85надеялся что есть что ни будь штатное как в оракле http://www.sql.ru/forum/49760/data-sozdaniya-bazy-dannyh наверное попробую что то типа http://www.sql.ru/forum/1003712/kak-uznat-vremya-modifikacii-bd или придется сделать привязку к железу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 03:23 |
|
||
|
Дата создания БД или уникальный идентификатор
|
|||
|---|---|---|---|
|
#18+
svd85<> такой гуид есть, а ели его нет то при первом обращении создается, но и в бекап он тоже попадает, на этом как раз я и прокололся, и решил заморочится <> как там в поговорке ? "если далпайоп -- далпайоп, то это надолго, а если далпайоп -- дятел -- это навсегда" ? шутка задача октуальна, бо самому что-то надо придумывать, и от стрельбы холостыми в собственный эээ нос хотелось бы что-то придумать. думаю, перед бекапированием таки процедурку подготовки написать -- никто не мешает. забыл запустить -- ССЗБ. но важно в табличке с гуидом прописать константы окружения, если не тот же адрес сервера, то написать перловую функцию, читающую дату создания каталога кластера, класть в табличку-- если сменилась -- останавливать работу - запрашивать подтверждения админа. пёрл (plperlu) вам в помощь. не совсем вкурил -- разворачиваетесь из pg_dump/pg_restore, или из именно бэкапа инстанса. (если первое -- можно финтить дополнительно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38908325&tid=1998113]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 302ms |

| 0 / 0 |
