(1 ) 注意增加约束时的写法,和ORACLE 略有不同
Oracle:
ALTER TABLE SCHEMA.PREFIX_INFO ADD (
CONSTRAINT PK_PREFIX_INFO PRIMARY KEY (INFO_ID));
PostgresQL:
alter table schema.prefix_info add constraint prefix_info_pkey primary key(info_id);
(2 )系统默认的最大值与ORACLE 不同
Oracle:
CREATE SEQUENCE PREFIX_INFO_SEQUENCE
INCREMENT BY 1
START WITH 582
MINVALUE 1
MAXVALUE 9999999999999999999999999999
NOCYCLE
CACHE 20
NOORDER;
PostgresQL:
CREATE SEQUENCE schema.prefix_info_sequence
increment 1
minvalue 1
maxvalue 9223372036854775807
start 582
cache 20;
(3 )PostgresQL 中的 ||用 法与其他数据库不同:select a||b from table1;当a 或b 其中一个为null 时, 该查询返回null ,
(4 )PostgresQL 中没有concat 函数,且由于|| 用法的问题,无法使用|| 替换,解决 方法为在public schema 中创建函数concat
create or replace function concat(text, text)
returns text as
$body$select coalesce($1,'') || coalesce($2,'')$body$
language 'sql' volatile;
alter function concat(text, text) owner to postgres;
-- 无需特殊授权即可在其他schema 中使用