Задать вопрос
JamalWeb
@JamalWeb
Web - программист

Изменить тип данных столбца во всех таблицах?

Появилась задача изменить тип данных столбца created_at и updated_at с типа
timestamptz на обычный timestamp во всех таблицах в бд, в такой тип они преобразовались в результате миграция dumpMysql с помощью pgloader в бд PostgreSQl.
Решил реализовать это sql запросом, но в интернете я пока не нашел ответ на свой вопрос. Буду благодарен за помощь

Мой запрос:
select 
 	 distinct 
string_agg(concat('ALTER_TABLE ', col.table_name, ' ALTER COLUMN ', col.column_name , ' TYPE timestamp '), ';') 
 FROM information_schema.columns col
		WHERE 
		  col.table_catalog = 'api2' AND 
		  col.table_schema = 'public' AND 
		  col.column_name = 'created_at' or col.column_name = 'updated_at';


и 2 вариант

select 
 	 distinct 'ALTER_TABLE ', col.table_name, ' ALTER COLUMN ', col.column_name , ' TYPE timestamp '
 FROM information_schema.columns col
		WHERE 
		  col.table_catalog = 'api2' AND 
		  col.table_schema = 'public' AND 
		  col.column_name = 'created_at' or col.column_name = 'updated_at';
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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