У меня есть огромный набор данных OSM с множеством нулевых столбцов, от которых я хочу избавиться.Как правильно проанализировать итератор в postgresql?
DO
$do$
DECLARE
_column TEXT;
BEGIN
FOR _column IN
SELECT attname
FROM pg_stats where tablename = 'rail_l'
and most_common_vals is null
and most_common_freqs is null
and histogram_bounds is null
and correlation is null
and null_frac = 1
LOOP
RAISE NOTICE '%', _column;
EXECUTE
'ALTER TABLE rail_l DROP COLUMN ' || _column;
END LOOP;
END
$do$
имена столбцов, содержащие двоеточие вызвать следующую ошибку:
ERROR: syntax error at or near ":"
LINE 1: ALTER TABLE rail_l DROP COLUMN generator:source
QUERY: ALTER TABLE rail_l DROP COLUMN generator:source
CONTEXT: PL/pgSQL function inline_code_block line 16 at EXECUTE statement
SQL state: 42601
Возможно, вопрос новичка, так как я использовал только для PostgreSQL простых запросов до сих пор, но я бы благодарно принимать какие-либо советы.