项目的Mysql数据库迁移到Postgresql遇到的坑

1 Postgresql不能boolean自动转换成smallint

使用管理员账号运行一下方法。

CREATE OR REPLACE FUNCTION boolean_to_smallint(b boolean) RETURNS smallint AS $$
    BEGIN
            RETURN (b::boolean)::bool::int;
    END;
$$LANGUAGE plpgsql;
 
CREATE CAST (boolean AS smallint) WITH FUNCTION boolean_to_smallint(boolean) AS implicit;

2 to_date报类型错误

添加::text

select  to_date(createddate::text,'YYYY-MM-DD') from n_url_test;

3 主键自动递增无效

主键这样配置,如果有旧数据可能会报主键重复,我是多点几次,让主键++到正确的主键。
项目的Mysql数据库迁移到Postgresql遇到的坑

4 find_in_set不存在

方法效果相同的写法:

CAST(#{deptId} AS VARCHAR) = ANY(STRING_TO_ARRAY(ancestors, ','))
上一篇:mysql 乱码


下一篇:sql server系统表详细说明