2

我们将 Aster 用于我们的一些网络会话日志。我在内部被告知 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。我的两个问题是,IF EXISTS在 Aster 中创建表时如何使用,以及如何判断PostgreSQL我使用的是哪个版本?

4

1 回答 1

2

在 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

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

于 2013-05-17T05:44:37.387 回答