数据从 table 移动到 table ,列类型错误

Data move from table to table , column type error

我正在使用带有 timescaledb 扩展的 Postgresql,pg13 - tsdb 2.2.1

table 1

create table user 
(
    ...
    join_dt timestamptz NULL,
    ...
);

Table 2

create table a_user
( 
    ...
    join_dt timestamptz NULL,
    ...
);

我使用 SQL 插入到 a_user table 所以 table 中有数据,想通过查询将数据移动到用户 table这 :

insert into user 
    select * from a_user;

我收到这个错误:

[42804] ERROR: column "join_dt" is of type timestamp with time zone but expression is of type character varying

原始数据来自一个table是这样的

create table ori_user
(
    ...
    join_dt timestamp(6) with time zone,
    ...
);

我将数据导出为 SQL 从 ori_user 插入表单,然后插入到 a_user,现在我想从 a_user 移动到用户。

这是我试过的:

insert into user select 
...
join_dt::timestamptz,
...
from a_user;

无效。

with aa as (select  pg_typeof(join_dt)::varchar as type,*  from a_user)
select * from aa where aa.type not like 'timestamp with time zone';

没有显示行。

还有其他解决方案吗?请帮忙。 提前致谢。

我以为 table 列的顺序相同,但事实并非如此。

修改顺序,问题解决