我是PostgreSQL的新手。我想在Postgres中将列数据类型之一从bytea[]
更改为bytea
。我尝试了以下查询,但它给出了错误cannot cast type bytea[] to bytea
:
ALTER TABLE table_name
ALTER COLUMN COLUMN_NAME TYPE bytea USING COLUMN_NAME::bytea;
有人知道该怎么做吗?
答案 0 :(得分:0)
这取决于您要保存多少个数组元素。如果足以保存第一个元素:
alter table table_name alter column_name type bytea using column_name[1];
或者您可以连接两个第一元素:
alter table table_name alter column_name type bytea using column_name[1] || column_name[2];
要转换原始列的所有元素,您需要创建一个函数,以连接未知数量的数组元素。