Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать множественный ALTER TABLE? / 20 сообщений из 20, страница 1 из 1
22.10.2017, 13:15
    #39540076
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Ребятушки, помогайте, плиз, есть база, в ней хочу изменить тип хранилища на EXTENDED во всех таблицах у столбцов по маске '%rref'
Т.е. почти в каждой таблице есть колонка по имени 'xxxxxxrref', бывает, что и не одна вот у нее-то и надо сменить тип хранилища.
Запрос для одной-то я знаю как делать. ALTER TABLE <table> ALTER <column> SET STORAGE EXTENDED;
Да-да, 1С-ная база))))) postgres 9.6
...
Рейтинг: 0 / 0
22.10.2017, 13:41
    #39540082
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
SELECT-ом из системных таблиц сгенерировать набор ALTER-ов и выполнить.
...
Рейтинг: 0 / 0
22.10.2017, 13:44
    #39540083
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
tomsv,

Так и выполните одну за одной. Нет никаких проблем.

Чтобы было не так грустно кодогенератор:
Код: sql
1.
2.
3.
4.
SELECT 'ALTER TABLE ' || table_schema || '.' || table_name || ' ALTER ' || column_name || ' SET STORAGE EXTENDED;'
FROM information_schema.columns
WHERE column_name LIKE '%rref'
ORDER BY table_schema, table_name, column_name;


...
Рейтинг: 0 / 0
22.10.2017, 14:33
    #39540101
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

Спасибо, запрос прошелся по нужным колонкам, но смотрю через PGAdmin, колонки так и остались в PLAIN, вручную на EXTENDED меняется (через тот же pgadmin), тип данных позволяет....
...
Рейтинг: 0 / 0
22.10.2017, 14:40
    #39540103
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
tomsv,

так а вы выполнили сгенерированные запросы?
В psql удобненький \gexec есть для этих целей.
...
Рейтинг: 0 / 0
22.10.2017, 14:48
    #39540105
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Melkij,

Я только начинающий в этом плане, поэтому не шарю, как их выполнить, простите.... как это в pgadmin сделать? или в нем нереально?
...
Рейтинг: 0 / 0
22.10.2017, 14:52
    #39540106
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
tomsv,

Значит указанные выше операции для Вас преждевременны. Вы не полностью осознаете смысл действий.

Прежде чем делать что-либо сделайте полную резервную копию.

По поводу когоденератора: скопируйте результат выполнения запроса, например, в редактор запросов pgAdmin и выполните как обычный запрос.
...
Рейтинг: 0 / 0
22.10.2017, 15:20
    #39540115
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

Это да, это конечно, всё на копиях)))
...
Рейтинг: 0 / 0
22.10.2017, 15:37
    #39540118
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursidotomsv,

Значит указанные выше операции для Вас преждевременны. Вы не полностью осознаете смысл действий.

Прежде чем делать что-либо сделайте полную резервную копию.

По поводу когоденератора: скопируйте результат выполнения запроса, например, в редактор запросов pgAdmin и выполните как обычный запрос.

Увы, в жизни так не получается ;-)
...
Рейтинг: 0 / 0
22.10.2017, 16:50
    #39540140
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Что меня лично в этом топике больше всего удивляет - никто не задал вопрос "а НАФИГА???"
За 18 лет работы с Postgres мне никогда не надо было это делать (а видел я очень много всего разного).

К автору топика - а что собственно вы пытаетесь этим добиться и зачем?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
22.10.2017, 17:12
    #39540147
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Maxim Boguk,


на моей памяти кто--то за ширину странички сражался


но прелесть в том , что 1-ска в ррефах хранит сылки -- гуиды. если память не врет. зачем их выносить, да ещё и жать ?
"ниччего не понимаю"
...
Рейтинг: 0 / 0
22.10.2017, 17:40
    #39540150
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
qwwq,

Просто тесты, друзья, просто тесты, есть мнение авторитетных людей, что если эти поля поджать, 1с ка 1.5-1.7 раза шевелится быстрее, хоть это и противоречит прямой логике, но она все же есть.... вот я и решил оттестить
...
Рейтинг: 0 / 0
22.10.2017, 17:42
    #39540151
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Но это на оочень толстых базах
...
Рейтинг: 0 / 0
22.10.2017, 18:30
    #39540161
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
tomsvНо это на оочень толстых базах
я вот тоже шизофазией увлекся (выше читать "ширину записи", конечно же )
но накуа--куа довольно узкое поле жать 7777. к тому ж оно наверняка индексиру-ё-мое.

и там ведь точно ссылки валялись , типа гуидов 7 нет 7
...
Рейтинг: 0 / 0
22.10.2017, 20:43
    #39540176
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
Maxim Boguk... никто не задал вопрос "а НАФИГА???"...

Исходный вопрос был задан другой. Техническая возможность есть.

По сути Вашего замечания: хочет человек чего-то странного - не запрещено. Вдруг получится что-то интересное.
...
Рейтинг: 0 / 0
22.10.2017, 23:44
    #39540191
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

Спасибо за поддержку, я дико извиняюсь, но еще вопрос: как привести уже существующие данные к новому типу хранилища, надо как-то их считать и записать обратно, я так понимаю?
...
Рейтинг: 0 / 0
23.10.2017, 11:06
    #39540335
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
tomsv,

Да, это так :
автор Note that SET STORAGE doesn't itself change anything in the table, it just sets the strategy to be pursued during future table updates

Быстро и грязно - vacuum full.

До этого момента все же нужно ответить на вопрос Максима.
...
Рейтинг: 0 / 0
23.10.2017, 12:44
    #39540398
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

я ж отвечал, правда не максиму, но всё же....


tomsvПросто тесты, друзья, просто тесты, есть мнение авторитетных людей, что если эти поля поджать, 1с ка 1.5-1.7 раза шевелится быстрее, хоть это и противоречит прямой логике, но она все же есть.... вот я и решил оттестить

вам еще раз спасибо
...
Рейтинг: 0 / 0
23.10.2017, 12:52
    #39540404
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

вебинар один умный был, там много полезных (по моему мнению) штук было показано, все попробовал, почти всё работает, решил проверить вот этот вот еще нюанс.... видос выложить не могу по тех.причинам, там чото он закодирован, тока на одном компе смотреть можно и т.д., но если пламенный прям интерес разгорится, могу кусок про это снять телефоном с моника
...
Рейтинг: 0 / 0
23.10.2017, 12:56
    #39540412
tomsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать множественный ALTER TABLE?
ursido,

вебинар конкретно по связке 1с+postgres
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать множественный ALTER TABLE? / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]