как удалить столбцы в PostgreSQL, если столбец начинается с определенного шаблона - PullRequest
0 голосов
/ 11 июня 2019

отбрасывать столбцы в PostgreSQL, если имя столбца начинается с определенного шаблона

ALTER TABLE public.alarmconfig DROP COLUMN  LIKE 'trial%'

1 Ответ

0 голосов
/ 11 июня 2019

Вы можете использовать информационную схему для определения всех таблиц и столбцов:

SELECT table_name, column_name FROM information_schema.columns 
WHERE schema_name = 'public' AND column_name LIKE 'trial%';

Вы можете использовать ее для получения необходимых операторов в виде списка:

SELECT FORMAT('ALTER TABLE public.%s DROP COLUMN %s;', table_name, column_name) 
FROM information_schema.columns 
WHERE schema_name = 'public' AND column_name LIKE 'trial%';

Наконец, выможно скопировать и вставить эти операторы в psql.

Если это повторяющаяся задача, вы можете написать хранимую функцию на основе запроса выше.

...