Teradata 到 Postgres:SQL SET table 的翻译,没有 FALLBACK,在 JOURNAL 之前没有,在 JOURNAL 之后没有?
Teradata to Postgres: SQL translation for SET table, NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL?
CREATE OR REPLACE SET TABLE SAMPLE
,NO FALLBACK
,NO BEFORE JOURNAL
,NO AFTER JOURNAL
,CHECKSUM = DEFAULT
,DEFAULT MERGEBLOCKRATIO
(ACCT_ID VARCHAR(60) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,EMP_SAL CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL));
如何在 Postgres 中翻译这些选项?
您可以删除所有 table 级选项:
CREATE OR REPLACE SET TABLE SAMPLE -- There'n no OR REPLACE in TD and PG
,NO FALLBACK -- keeps a copy of every row, doesn't exist in PG -> remove it
,NO BEFORE JOURNAL -- Journalling options
,NO AFTER JOURNAL -- -> remove
,CHECKSUM = DEFAULT -- checksumming datablocks to prevent writing/reading bad data -> remove
,DEFAULT MERGEBLOCKRATIO -- Combine smaller data blocks during Insert/Update/Delete -> remove
(ACCT_ID VARCHAR(60) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,EMP_SAL CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL));
CHARACTER SET LATIN
: 据我所知,PG 中没有选项可以在列级别指定字符集,只能在数据库级别指定。
NOT CASESPECIFIC
: PG 中不存在为 CHAR 列指定区分大小写(它总是区分大小写),只有 citext module.
CREATE OR REPLACE SET TABLE SAMPLE
,NO FALLBACK
,NO BEFORE JOURNAL
,NO AFTER JOURNAL
,CHECKSUM = DEFAULT
,DEFAULT MERGEBLOCKRATIO
(ACCT_ID VARCHAR(60) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,EMP_SAL CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL));
如何在 Postgres 中翻译这些选项?
您可以删除所有 table 级选项:
CREATE OR REPLACE SET TABLE SAMPLE -- There'n no OR REPLACE in TD and PG
,NO FALLBACK -- keeps a copy of every row, doesn't exist in PG -> remove it
,NO BEFORE JOURNAL -- Journalling options
,NO AFTER JOURNAL -- -> remove
,CHECKSUM = DEFAULT -- checksumming datablocks to prevent writing/reading bad data -> remove
,DEFAULT MERGEBLOCKRATIO -- Combine smaller data blocks during Insert/Update/Delete -> remove
(ACCT_ID VARCHAR(60) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,EMP_SAL CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL));
CHARACTER SET LATIN
: 据我所知,PG 中没有选项可以在列级别指定字符集,只能在数据库级别指定。
NOT CASESPECIFIC
: PG 中不存在为 CHAR 列指定区分大小写(它总是区分大小写),只有 citext module.