|
|
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
Есть две базы данных. Основная БД — содержит таблицу и строку, на которую следует ссылаться. (содержит идентификатор пользователя — первичный ключ) Вторая БД — содержит таблицу, элемент которой, должен ссылаться на первичный ключ (id пользователя) таблицы, находящийся в «Основная БД». Как это сделать? (как указать при создании таблицы, что следует ссылаться на значение поля,из другой бд ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 15:30:41 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
featurelles, никак или скопировать пк в таблицу своей бд, (см "репликация") и сослаться на неё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 15:40:15 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
Т.е. внешние ключи только внутри одной базы данных можно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 15:41:47 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
featurelles, "штатно" -- да если конечно вы не путаете БД и schema ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 15:46:57 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
Боюсь задать глупый вопрос, но всёже. Я хочу сделать сайт, с распределением БД по разным серверам. К примеру на сайте есть несколько проектов и я хочу разделить каждый из проектов, так чтоб их бд находились на разных серверах. При этом у меня есть отдельный сервер с бд, на котором находятся регистрационные данные пользователей, и мне нужно чтоб сохранялась целостность между этими базами. Т.е. все проекты на отдельных системах, должны указывать на главный сервер с рег. данными. (чтоб оттуда брались идентификаторы..). К сожалению не знаю как это реализовать. Проект_1_БД ----\ Проект_2_БД --------> Главный сервер БД (идентификаторы) Проект_3_БД ----/ Пока задуманное не могу даже на одной системе сделать. Тупо создал несколько баз данных, пытаюсь создать связи между таблицами.и нихрена.... А всё в одну базу пихать..не красиво. Если кто , что может посоветовать...please help ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 16:23:39 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
featurelles, check/trigger dblink/fdw, типа того ... Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 19:39:42 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
featurelles, dblink в помощь, да. Там можно создавать подключения к внешним серверам. Но FK не сделать на этом, только ручками писать триггера с проверками, иначе никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 10:53:21 |
|
||
|
PostgreSQL внешний ключ на стороннюю базу данных
|
|||
|---|---|---|---|
|
#18+
featurellesЕсть две базы данных. Основная БД — содержит таблицу и строку, на которую следует ссылаться. (содержит идентификатор пользователя — первичный ключ) Вторая БД — содержит таблицу, элемент которой, должен ссылаться на первичный ключ (id пользователя) таблицы, находящийся в «Основная БД». Как это сделать? (как указать при создании таблицы, что следует ссылаться на значение поля,из другой бд ) задача не имеет корректного решения... вот захотели в основной базе удалить строчку из таблицы на которую стоит ссылаться и что дальше делать? идти на вторую базу которая может вообще не отвечать (связи нет например) и проверять не нарушится ли FK? если очень хочется я бы подобную задачу решал бы репликацией таблицы с основной бд на вторую (третью и тд) бд и простановкой FK локально. А в общем вы что то не то делаете. Если кластер георграфически распределенный - то эту задачу всеравно корректно нельзя решить без дикой потери производительности. Если все локально - 1 база и N схем (а тогда между ними FK нормально ставяться). --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 10:59:27 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38809186&tid=1998350]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 292ms |

| 0 / 0 |
