OSX 10.9.2 上的 Postgres 9.2.1。
如果我运行以下交叉表示例查询:
CREATE EXTENSION tablefunc;
CREATE TABLE ct(id SERIAL, rowid TEXT, attribute TEXT, value TEXT);
INSERT INTO ct(rowid, attribute, value) VALUES('test1','att1','val1');
SELECT *
FROM crosstab(
'select rowid, attribute, value
from ct
where attribute = ''att2'' or attribute = ''att3''
order by 1,2')
AS ct(row_name text, category_1 text, category_2 text, category_3 text);
我得到:ERROR: extension "tablefunc" already exists
但是如果我注释掉CREATE EXTENSION
我得到:ERROR: function crosstab(unknown) does not exist
我怎样才能摆脱这个恶性循环?这是一个已知问题吗?