172 похожих чатов

Как поменять Data Type в уже существующей таблице? pgAdmin просто не

выводит список из типов другого вида (для character varying только name, text т.д.).
При попытке поменять через ALTER TABLE table_name ALTER COLUMN column_name TYPE jsonb выдаёт ошибку, column "column_name" cannot be cast automatically to type jsonb

12 ответов

53 просмотра

Так не выйдет, нет правила преобразования из varchar в jsonb

Khazif- Автор вопроса
Khazif- Автор вопроса
Khazif
Жесть

Таков путь. "Таблица пустая" - слишком слабое допущение для многопользовательской БД.

Khazif- Автор вопроса
Sergey Bezrukov
drop column, add column

Спасибо, буду копать

так попробуйте alter table tbl_name ALTER COLUMN column_name TYPE jsonb using to_jsonb(column_name);

Khazif- Автор вопроса
Khazif- Автор вопроса

Замечу, что если в таблицэ 100500 данных и ALTER .. USING создаёт проблемы со скоростью -- то можно добавить столбец, перегнать в него данные хоть по частям, потом удалить предыдущий столбец и переименовать новый (последнее -- можно в транзакцыи если шьёте "на жывую").

Ilya Anfimov
Замечу, что если в таблицэ 100500 данных и ALTER ....

если этот столбец PK или на него есть REFERENCES, то всё чутка интересней становится…

Виктор Егоров
если этот столбец PK или на него есть REFERENCES, ...

Ну так, умеренно. То есть PK -- вообще не проблема, создаёшь уникальный индэкс, потом оно почти мгновенно переименовывается. CONSTRAINT переделывать -- ну, так, но с ALTER TABLE ... ADD CONSTRAINT ... NOT VALID -- в общем, всё тожэ в бэкграунде делается.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта