Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Добрый день! Имеем 3 схемы shema1, shema2, shema3. В shema1, shema2, соответственно имеем по 3 таблицы: table11, table12, table13, table21, table22, table23. Теперь, чтобы писать запросы, мы вынуждены делать примерно так: select * from shema1.table11; мне нужно, чтобы писать запросы select * from table11; т.е. в терминологии Oracle создать public synonym. В PostgreSQL на сколько я знаю можно сделать SET search_path TO shema1, public; Но это работает только в рамках группы запросов. Проблема вот еще какая. переносим таблицы из shema1 в shema3. В Oracle меняем public symonym и все, все OK. В Postgre получается, нужно переправить кучу запросов... Думаю, вопрос понятен. Как в PostgreSQL сделать то, что в Oracle именуется public synonym? заранее всем спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 12:06 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Dmitry Zhukov Думаю, вопрос понятен. Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Как сделать - не знаю. У Вас неверное представление о SET SEARCH_PATH. Его можно проставлять для юзера в том числе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 12:10 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Dmitry Zhukov Думаю, вопрос понятен. Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Как сделать - не знаю. У Вас неверное представление о SET SEARCH_PATH. Его можно проставлять для юзера в том числе. А подробнее можно, что вы имеете в виду? и как это может помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 12:16 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Dmitry Zhukov Andrey Daeron Dmitry Zhukov Думаю, вопрос понятен. Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Как сделать - не знаю. У Вас неверное представление о SET SEARCH_PATH. Его можно проставлять для юзера в том числе. А подробнее можно, что вы имеете в виду? и как это может помочь? Попробую. В ПГ нет паблик синонимов (на сколько мне известно). Поскольку и паблика-то никогого нет немного разная иделогия. У Вас, по сути, две проблемы: 1. Уход от указания имени схемы в запросах. Это решается Код: plaintext 1. 2. 3. Еще вариант, сделать спец.схему public_tables, в коорой сделать таблицы и рули на SELECT которые бы разруливали бы из какой схемы нужно брать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 13:49 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
> Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Никак. Но можно search path определить в конфиге для всех пользователей. А вообще вопрос "как сделать как в Oracle" - это плохой вопрос. PostgreSQL вполне самодостаточная СУБД, чтобы иметь похожие на что-то костыли. Я не могу придумать ни одной задачи, где необходимо было бы использовать описанный вами подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 14:16 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Andrey DaeronПеренос таблицы из shema1 в shema3. Если перенос - это таки перенос, с DROP TABLE в первой схеме, то все ОК.даже без drop ALTER TABLE name SET SCHEMA new_schema ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 14:17 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Dmitry Zhukov Andrey Daeron Dmitry Zhukov Думаю, вопрос понятен. Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Как сделать - не знаю. У Вас неверное представление о SET SEARCH_PATH. Его можно проставлять для юзера в том числе. А подробнее можно, что вы имеете в виду? и как это может помочь? Попробую. В ПГ нет паблик синонимов (на сколько мне известно). Поскольку и паблика-то никогого нет немного разная иделогия. У Вас, по сути, две проблемы: 1. Уход от указания имени схемы в запросах. Это решается Код: plaintext 1. 2. 3. Еще вариант, сделать спец.схему public_tables, в коорой сделать таблицы и рули на SELECT которые бы разруливали бы из какой схемы нужно брать данные. ООО! Спасибо! Это в принципе то, что надо! А про спец. схему я бы хотел Вас попросить рассказать поподробнее, если можно. А совсем идеально - с примерчиком. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 13:43 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
PostreSQL начинающий> Как в PostgreSQL сделать то, что в Oracle именуется public synonym? Никак. Но можно search path определить в конфиге для всех пользователей. А вообще вопрос "как сделать как в Oracle" - это плохой вопрос. PostgreSQL вполне самодостаточная СУБД, чтобы иметь похожие на что-то костыли. Я не могу придумать ни одной задачи, где необходимо было бы использовать описанный вами подход. Я согласен с Вами, что PostgreSQL - самодостаточная и развитая СУБД, но, согласитесь, в том же Oracle есть приятные мелочи (например, пакеты), которые в случае интенсивного серверного программирования помогают. Честно сказать, при попытке придумать задачу, где позарез нужны public synonym, пришел в тупик - в принципе все можно решить штатными средствами PostgreSQL. Но, согласитесь, public synonym - это приятно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 13:47 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Dmitry Zhukov А про спец. схему я бы хотел Вас попросить рассказать поподробнее, если можно. А совсем идеально - с примерчиком. Спасибо! Примерчик на скору руку не сваяю. Может на следующей неделе. А идея простая. В PG есть великолепный механизм рулей. Берется схема pg_my_public_synonym. Для всех юзверей она идет первой в поисковой схеме. В этой схеме создаются вьюшки с публичными именами. Пусть например my_funk_table, которая будет делать просто SELECT * FROM schema1.my_funk_table. Точнее, если мне память не изменяет, то PG не держит * во вьюшках перчень полей. И таким образом все селекты будут делаться из этой вьюшки. Ну а вьюшку перекидывать со схемы на схему. Далее. Кроме селектов возможно нужно делать что-то еще, и для этого я предлагаю использовать систему рулей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 15:58 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Dmitry Zhukov А про спец. схему я бы хотел Вас попросить рассказать поподробнее, если можно. А совсем идеально - с примерчиком. Спасибо! Примерчик на скору руку не сваяю. Может на следующей неделе. А идея простая. В PG есть великолепный механизм рулей. Берется схема pg_my_public_synonym. Для всех юзверей она идет первой в поисковой схеме. В этой схеме создаются вьюшки с публичными именами. Пусть например my_funk_table, которая будет делать просто SELECT * FROM schema1.my_funk_table. Точнее, если мне память не изменяет, то PG не держит * во вьюшках перчень полей. И таким образом все селекты будут делаться из этой вьюшки. Ну а вьюшку перекидывать со схемы на схему. Далее. Кроме селектов возможно нужно делать что-то еще, и для этого я предлагаю использовать систему рулей. Да, идея красивая, мне очень нравится, но возникает вопрос... как быть с insert, update, delete ??? :) ну и всякими хранимыми процедурками :) спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 16:02 |
|
||
|
обращение к таблицам в схемах
|
|||
|---|---|---|---|
|
#18+
Dmitry Zhukov Да, идея красивая, мне очень нравится, но возникает вопрос... как быть с insert, update, delete ??? :) ну и всякими хранимыми процедурками :) спасибо... Система рулей. Я не зря о ней много-много раз упомянал . Для ХП-шек нужно смотреть откуда они будут брать данные. Паблик синонимы для ХП-шек можно сделать примерно также. ЗЫ Только вот я бы все-таки трижды подумал нужно ли такое счастье. А то может оно и не счастье вовсе, а только головняк непомерный? И простого перекидывания схем для юзерей хватит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2007, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34862697&tid=2004940]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 365ms |

| 0 / 0 |
