powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Модификация поля таблицы. Неужели невозможно ?
8 сообщений из 33, страница 2 из 2
Модификация поля таблицы. Неужели невозможно ?
    #34068589
opexob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jelis Ммм.... а разве, например, тот же pg_dump не выводит сам все в правильной последовательности для востановления?

Речь шла не о полном дампе, а только о тех объектах, которые связаны , к примеру, с изменяемым полем таблицы. Т.е. умная прога должна выбрать необходимый минимум из всей кучи. И в той последовательности, чтобы в CREATE не было ссылки на объект, который еще не создан (к примеру, будет создан в нижестоящем CREATE).
Вобщем, чтобы затрагивать не все, а минимум. Проекты ведь могут быть очень и очень навороченные.
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #34079459
VAKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините за вопрос.
Я в постгресе абсолютный новичек. В оракле соображаю. Имеется ли в постгресе возможность секционирования таблиц (или что-то подобное разбиению на разделы как в оракле). Начальник достал вобще, а копаться и искать времени нет. Заранее спасибо.
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #34080023
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VAKisИзвините за вопрос.
Я в постгресе абсолютный новичек. В оракле соображаю. Имеется ли в постгресе возможность секционирования таблиц (или что-то подобное разбиению на разделы как в оракле). Начальник достал вобще, а копаться и искать времени нет. Заранее спасибо.уже обсуждалось
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Модификация поля таблицы. Неужели невозможно ?
    #39993039
DEBugger13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На дворе 2020 год, а воз и ныне там.

Прошло 14 лет, а нужной разработчикам базовой функции элементарного изменения размера поля таблицы со связанными вьюшками так и нет.
Зато наши разрабы ПГ-ПРО пилят какие-то левые индексы на JSON и преподносят это как что-то ВАУ.
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #39993074
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEBugger13
Прошло 14 лет, а нужной разработчикам базовой функции элементарного изменения размера поля таблицы со связанными вьюшками так и нет.

Предположу, что речь о столбцах типа VARCHAR?
В таком случае можно создавать домен с нужным ограничением по размеру и использовать в таблице. При необходимости ограничение можно менять, это не потребует пересоздания представлений.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
postgres=# create domain my_text as text;
CREATE DOMAIN
postgres=# alter domain my_text add constraint max_len check (length(value) <= 30);
ALTER DOMAIN
postgres=# create table t (code my_text);
CREATE TABLE
postgres=# create view v as select * from t;
CREATE VIEW
postgres=# insert into t values ('a'),('b');
INSERT 0 2
postgres=# begin; alter domain my_text drop constraint max_len; alter domain my_text add constraint max_len check (length(value) <= 3); commit;
BEGIN
ALTER DOMAIN
ALTER DOMAIN
COMMIT
postgres=# insert into t values ('1234');
ERROR:  value for domain my_text violates check constraint "max_len"
postgres=# select * from v;
 code 
------
 a
 b
(2 rows)
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #39993090
DEBugger13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Лузанов
DEBugger13
Прошло 14 лет, а нужной разработчикам базовой функции элементарного изменения размера поля таблицы со связанными вьюшками так и нет.

Предположу, что речь о столбцах типа VARCHAR?
В таком случае можно создавать домен с нужным ограничением по размеру и использовать в таблице. При необходимости ограничение можно менять, это не потребует пересоздания представлений.
Код: sql
1.
2.
3.
4.
5.
6.
postgres=# create domain my_text as text;
CREATE DOMAIN
postgres=# alter domain my_text add constraint max_len check (length(value) <= 30);
ALTER DOMAIN
postgres=# create table t (code my_text);
...



Возможно, что этот подход пойдет под разработку новой небольшой БД,
а что делать с уже существующими, в которых под две сотни таблиц с разными типами данных и размеров?
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #39993108
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEBugger13

Возможно, что этот подход пойдет под разработку новой небольшой БД,
а что делать с уже существующими, в которых под две сотни таблиц с разными типами данных и размеров?

Например, когда в очередной раз придется изменять размерность varchar, вместо изменения перейти на домен с ограничением. По сути это такая же смена типа столбца. И так поступать в дальнейшем.

Или, есть возможность, один раз аккуратно написать скрипты, переводящие всё на домены. Две сотни таблиц это не очень большая система.
...
Рейтинг: 0 / 0
Модификация поля таблицы. Неужели невозможно ?
    #39993189
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEBugger13
На дворе 2020 год, а воз и ныне там.

Прошло 14 лет, а нужной разработчикам базовой функции элементарного изменения размера поля таблицы со связанными вьюшками так и нет.
Зато наши разрабы ПГ-ПРО пилят какие-то левые индексы на JSON и преподносят это как что-то ВАУ.


не очень понятно в чем проблема пересоздать все views это же бесплатная операция почти.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Модификация поля таблицы. Неужели невозможно ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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