我在 Postgresql 9.6.5 上的 ltree 扩展有问题
我有一个名为 category 的表,其中包含以下 DDL(我简化了一点):
CREATE TABLE dictionary.category
(
id serial not null constraint category_pkey primary key,
name text not null,
parent_id integer constraint category_parent_id_fkey references dictionary.category
);
创建 ltree 扩展后:
CREATE EXTENSION ltree;
我正在尝试进行一些查询,例如:
SELECT id, text2ltree(name) FROM dictionary.category;
或者
SELECT id, name::ltree FROM dictionary.category;
或转义列名
SELECT id, text2ltree("name") FROM dictionary.category;
它给了我:
ERROR: syntax error at position 12
每时每刻
但是当我尝试时:
SELECT id, text2ltree('a.b.v') FROM dictionary.category;
或者
SELECT id, text2ltree(id::text) FROM dictionary.category
它给了我正确的结果。
我想这与名称是保留关键字的事实有关。但是为什么逃避不起作用呢?此外,我尝试将列重命名为abcd之类的东西,无论如何它都会给我语法错误。
提前谢谢大家!