Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изменить размер поля / 6 сообщений из 6, страница 1 из 1
20.11.2003, 14:09
    #32330128
Sehensucht!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Товарищи, а как изменить размер поля с varchar(50) на varchar(255) через системные таблицы? (таблица очень большая и 4 апдейта будут очень не кстати)
...
Рейтинг: 0 / 0
21.11.2003, 12:38
    #32331279
Vel
Vel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Тем что ты изменишь системные таблицы ты можешь вообще разрушить базу.
Тебе поможет только update.
Кстати, вместо update рекомендую использовать insert into в таблицу с измененным размерами. Залил, наложил индексы, старую убил, новую переименовал. Работает намного быстрее чем update. А системные таблицы не трогай
...
Рейтинг: 0 / 0
21.11.2003, 16:17
    #32331714
Sehensucht!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Так мне надо-то всего ничего :) -- заменить варчар(50) на варчар(255). Так что только через системные хочу :)
...
Рейтинг: 0 / 0
21.11.2003, 16:28
    #32331724
Vel
Vel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Ну если базу не жалко, то можешь попробовать. Все равно ничего не выйдет
...
Рейтинг: 0 / 0
21.11.2003, 16:30
    #32331729
Vel
Vel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Ну если базу не жалко, то можешь попробовать. Все равно ничего не выйдет
...
Рейтинг: 0 / 0
21.11.2003, 18:33
    #32331884
Sehensucht!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить размер поля
Короче так:

- есть имя таблицы (my_tbl)
- есть имя столбца (my_fld)
- N = select relfilenode from pg_class where relname = 'my_tbl'
- M = select atttypmod from pg_attribute where attrelid = N and attname = 'my_fld'

В итоге M=длина_варчара+4

Т.е., если поменять указанный atttypmod на 259, то в итоге получим varchar(255) для заданного поля заданной таблицы.

Стремно это испытывать... :)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изменить размер поля / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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