我有一个列定义如下:
data_url character varying(32768) NOT NULL
Run Code Online (Sandbox Code Playgroud)
和该列的 UNIQUE 约束:
CONSTRAINT unique_data_url UNIQUE (data_url)
Run Code Online (Sandbox Code Playgroud)
当一个大对象被插入到表中时,会出现以下错误信息:
Run Code Online (Sandbox Code Playgroud)ERROR: index row requires 32584 bytes, maximum size is 8191
如何设置 PostgreSQL 以便能够索引大于 8191 个字符的对象?空间和速度都不是问题。它是一个很少更改的表,最多有数百行。
环境:PostgreSQL 9.3.6,Fedora 20 x64
是否可以使用连接表之一的表类型来表达返回连接表的存储过程的返回类型?
我的存储过程如下所示:
CREATE or REPLACE FUNCTION selectJoin()
RETURNS SETOF ???
AS $$
BEGIN
RETURN QUERY SELECT t1.*, t2.name
FROM t1, t2
WHERE t1.t2_id = t2.id;
END; $$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
表t1有很多(大约 70 个)列,所以我想以某种方式重用t1RETURNS 子句中的类型。类似(t1, varchar(30))或复合类型继承的东西。有可能吗?
PostgreSQL 9.3 版