Questions tagged «postgresql-9.5»

专门针对PostgreSQL 9.5版


1
在pg_dump定位到另一台机器的过程中,拒绝创建“ pg_catalog.tablename”的权限
我正在尝试将某些表从9.5 beta 2转储到9.4.4服务器。我使用的命令的形式是相当标准的: pg_dump -t table dbname | psql -h hostname -d dbname 我正在使用Postgres用户,我意识到这可能并不理想,但是因为这两个都是我仅使用的dev数据处理框,所以与随后的错误有关。最初,我得到了错误 错误:无法识别的配置参数“ row_security” 这是预期的,因为此功能是9.5中的新增功能,是的,我意识到不建议在不同的Postgres版本之间使用pg_dump,但是,令人遗憾的是,由于我遇到了一个非常模糊的错误,并且需要移动一个大的错误,这是不可避免的一次静态数据量。 因此,使用此可怕的技巧来删除row_security错误,然后在第一个错误上启用stop: pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'| psql -v ON_ERROR_STOP=1 -h hostname -d dbname 我现在得到: 错误:拒绝创建“ pg_catalog.tablename”的权限详细信息:当前不允许修改系统目录 尽管可能不希望使用Postgres用户/角色,但我的理解是应该没有这种性质的权限问题。对于任何建议,我都持开放态度,因为这是一次性操作,并且它们是未连接到任何实时服务的数据处理开发箱,因此权宜于优先于理想的公司数据访问策略。话虽如此,最好了解如何正确执行此操作,并在将来避免这样做。

1
整个表的查询中未使用的分区索引的统计信息
在分区上进行联接与在整个表上进行联接时,以下联接具有非常不同的行估计: CREATE TABLE m_data.ga_session ( session_id BIGINT NOT NULL, visitor_id BIGINT NOT NULL, transaction_id TEXT, timestamp TIMESTAMP WITH TIME ZONE NOT NULL, day_id INTEGER NOT NULL, [...] device_category TEXT NOT NULL, [...] operating_system TEXT ); 对于所有分区: CREATE TABLE IF NOT EXISTS m_data.ga_session_20170127 ( CHECK (day_id = 20170127) ) INHERITS (m_data.ga_session); …

2
COMMIT是否可以在PostgreSQL 9.5的匿名plgpsql函数中工作?
我正在将大量大文件导入到许多表中,这些表将使用匿名plpgsql代码块内的循环进行分区$do$。 $do$ BEGIN FOR yyyy in 2012..2016 THEN EXECUTE $$COPY table$$||yyyy||$$ FROM 'E:\data\file$$||yyyy||$$.csv DELIMITER ',' CSV;$$; END LOOP; END; $do$ LANGUAGE plpgsql 整个过程大约需要15个小时,我希望如果某个时刻出现导入错误,所有导入都不会回滚。 IIRC COMMIT在存储的函数中不起作用,因为整个函数被视为单个事务。 从文档中$do$ 将代码块视为没有参数的函数的主体,并返回void。它被解析并执行一次。 我假设这意味着整个$do$事务是一个事务,因此在该块内的提交将不起作用。我对么?

1
如何在Postgres中的CASE表达式上创建索引
我正在尝试在CASE表达式上创建索引,如下所示 CREATE TABLE test(i INT, j INT); CREATE UNIQUE INDEX test_index ON test(CASE WHEN i=1 THEN j END); 收到此错误: ERROR: syntax error at or near "CASE" LINE 1: CREATE UNIQUE INDEX test_index ON test(CASE WHEN i=1 THEN j ... ^ ********** Error ********** ERROR: syntax error at or near "CASE" …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.