teradata - 在 Aster 中,如何使用 CREATE TABLE IF EXISTS 以及我使用的 postgres 版本是什么?

标签 teradata teradata-aster

我们正在使用 Aster 来记录一些网络 session 日志。我在内部被告知 Aster 使用 PostgreSQL,事实上,对于我的很多查询,我查看此网站并遵循 PostgreSQL 代码指南,该指南始终工作。

现在,我尝试使用一个不断失败的简单查询(语法错误位于或接近“NOT”):

create table IF NOT EXISTS scratchdb.test_table
(partition key(uvn)) as
select distinct date(created_dt) as full_date,uvn,user_id from db.db_table

我不断收到 IF NOT EXISTS 错误。所以我发现另一篇文章说我至少需要 PostgreSQL-9.1 才能使 IF NOT EXISTS 工作。为了了解我使用的版本,该文章建议:

select version();

但这会返回一个错误:

function version is not supported

因此,Aster 一定不是 100% PostgreSQL。我的两个问题是,在 Aster 中创建表时如何使用 IF EXISTS,以及如何判断我正在使用的 PostgreSQL 版本?

最佳答案

在 Aster 中删除/创建表时使用两个 SQL 语句:

DROP TABLE IF EXISTS scratchdb.test_table;
CREATE TABLE scratchdb.test_table ...

此外,我不建议查阅 8.3 版以上的 Postgres 文档,即使如此,也不能保证 Aster 支持其中的功能或特性。 Aster确实和Postgres有很多相似之处,但又不一样。

因此,PosgreSQL 没有版本 - 只有 Aster 版本才重要。检查它的一种方法是通过管理控制台 (AMC):将浏览器指向 https://server_name_or_ip_address

登录后,单击管理员:集群管理:节点选项卡。它显示集群中存在的所有节点以及软件版本信息。

关于teradata - 在 Aster 中,如何使用 CREATE TABLE IF EXISTS 以及我使用的 postgres 版本是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15955168/

相关文章:

sql - 尝试在 ANSI SQL 中将 VARCHAR 转换/转换为 DATETIME 时出错

teradata - 如何从 Teradata 复制列名称

python - 连接到 Aster Teradata Python

sql - 如何将 teradata sql 查询的输出链接到 Excel 工作表?

pyspark - 查询末尾需要 foo

sql - Teradata BTEQ : IF conditon , 使用运行时实际参数验证 SP 编译并导出 DDL

sql - 来自 Select 语句的 Teradata 更新表

sql - Teradata GROUPBY 的 Row_Number