sql - Teradata 到 Postgres : SQL translation for SET table, 没有回退,在日志之前没有,在日志之后没有?

标签 sql postgresql teradata postgresql-9.4

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 中翻译这些选项?

最佳答案

您可以删除所有表级选项:

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 .

关于sql - Teradata 到 Postgres : SQL translation for SET table, 没有回退,在日志之前没有,在日志之后没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054004/

相关文章:

ruby-on-rails - PG::ConnectionBad(致命:pg_hba.conf 拒绝主机 "172.17.0.1"、用户 "XXX"、数据库 "XXX"、SSL 关闭的连接):

database - 使用 R JDBC 插入 Teradata

sql - Teradata 中的条件总和和计数(SQL 帮助)

mysql - 如何在 mysql 中使用 JOIN 语句实现以下目标?

sql - 如何在 Sqlite 中找到两个变量之间的相关性?

php - 如何从当前位置从数据库中获取信息?

Sql 查询 - 具有最新输入日期的唯一项目

postgresql - 如何限制 PostgreSQL HStore 中键值对的数量/长度?

java - Spring JDBC + Postgres SQL + Java 8 - 从/到 LocalDate 的转换

sql - Informatica - 如何将查询从表传递到 SQL 转换并获取结果