SASGIS - SAS.Планета
View Issue Details
0003218SAS.Планета[All Projects] Хотелкаpublic01-05-2017 15:2806-05-2017 12:16
WoodyFire 
zed 
normaltweakalways
resolvedfixed 
160707 
181221181221 
0003218: Убрать жесткую привязку к схеме "public" при хранении меток в СУБД Postgresql
Так сказать позвольте админам СУБД решать, где хранить данные.

Привожу цитату из мануала данной СУБД. п.5.7.7 'Переносимость':
'В стандарте SQL не существует концепции схемы public. Для максимального соответствия стандарту, вы не должны использовать (возможно даже удалить) схему public.'
Источник: http://postgresql.ru.net/manual/ddl-schemas.html

При подключении к БД выскакивает ошибка суть которой - запрос не может создать таблицу.
'ALTER TABLE public.User ADD uName TEXT', если запрос привести к виду
'ALTER TABLE User ADD uName TEXT', то размещение данных ляжет на плечи админов СУБД и все будут довольны )))))

привожу выхлоп одного свойства:

SHOW search_path;

result - "$user",public

то есть, если в СУБД для конкретного пользователя (роли) ни чего не определено, то в этом порядке ищутся данные в схемах, но при администрировании свойство 'search_path' обычно переопределяется на требуемое значение.
На сегодняшний момент маневрировать не удается из-за жесткой привязки в схеме public.
Удалите или запретите доступ пользователю (роли) к схеме 'public' СУБД Postgresql.
Затем подключитесь к базе через ODBC драйвер.
Вот моя строка подключения 'DRIVER={PostgreSQL Unicode}; SERVER=myAddressServer; PORT=5432; DATABASE=myDatabase; UID=UserLogin; PWD=UserPWD'
При существовании схемы 'public' и открытого доступа к ней проблем нет. Все работает в штатном режиме.
No tags attached.
png 000.png (8,146) 01-05-2017 15:28
http://www.sasgis.org/mantis/file_download.php?file_id=2157&type=bug
png
Issue History
01-05-2017 15:28WoodyFireNew Issue
01-05-2017 15:28WoodyFireFile Added: 000.png
01-05-2017 16:23zedSummaryСнимите жесткую привязку к схеме "public" при хранении меток в СУБД Postgresql. Так сказать позвольте админам СУБД решать, где х => Убрать жесткую привязку к схеме "public" при хранении меток в СУБД Postgresql
01-05-2017 16:23zedDescription Updatedbug_revision_view_page.php?rev_id=7167#r7167
01-05-2017 17:19zedNote Added: 0017921
01-05-2017 18:56WoodyFireNote Added: 0017923
04-05-2017 07:56vdemidovAssigned To => zed
04-05-2017 07:56vdemidovStatusnew => assigned
04-05-2017 07:56vdemidovTarget Version => 191221
05-05-2017 17:09zedNote Added: 0017930
05-05-2017 17:10zedStatusassigned => feedback
05-05-2017 17:10zedTarget Version191221 => 181221
06-05-2017 09:54WoodyFireNote Added: 0017933
06-05-2017 09:54WoodyFireStatusfeedback => assigned
06-05-2017 10:44zedNote Added: 0017934
06-05-2017 10:44zedStatusassigned => feedback
06-05-2017 12:15WoodyFireNote Added: 0017935
06-05-2017 12:15WoodyFireStatusfeedback => assigned
06-05-2017 12:16zedStatusassigned => resolved
06-05-2017 12:16zedFixed in Version => 181221
06-05-2017 12:16zedResolutionopen => fixed

Notes
(0017921)
zed   
01-05-2017 17:19   
Совсем убрать схему из запроса не получится (запросы формирует ORM библиотека по своим правилам), но есть опция, через которую для MSSQL и PostgreSQL можно задавать произвольное имя для схемы. Если такой вариант устроит, то могу добавить эту опцию в настройки подключения.

На заметку: вот в этом топике на форме используемой библиотеки, некто mpv описывает свой способ использования PostgreSQL без необходимости задавать кастомное имя схемы. Попробуйте, может это и для вас подойдёт?
(0017923)
WoodyFire   
01-05-2017 18:56   
То, что предлагается по ссылке. Спасибо я возьму на заметку. Но все же это костыль.

Но вот первый вариант с опцией меня устраивает вполне.

Спасибо.

С уважением WoodyFire.
(0017930)
zed   
05-05-2017 17:09   
Сделал, тестируйте ночную сборку. Потом отпишИтесь тут.
(0017933)
WoodyFire   
06-05-2017 09:54   
принято
(0017934)
zed   
06-05-2017 10:44   
Что "принято"? Оно работает или нет?
(0017935)
WoodyFire   
06-05-2017 12:15   
"Принято" то, что информацию от Вас принял и при первой возможности проверю )))

Работает отлично! То, что нужно.

Огромное спасибо.

С уважением WoodyFire.