问题标签 [postgresql-9.5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - Postgresql - 由于与数据库的一些自动连接,无法删除数据库
每当我尝试删除数据库时,我都会得到:
当我使用:
我终止了与该数据库的连接,但如果我在此之后尝试删除数据库,则有人会自动连接到该数据库并给出此错误。可以做什么?没有人使用这个数据库,除了我。
postgresql - 查看 PostgreSQL-9.5 中定义的行级安全策略
我已经构建了全新的 PostgreSQL-9.5 (alpha),我对行级安全的新特性感到非常兴奋。这有望使多角色访问管理更加直接。
例如,到目前为止,我使用了一个模型,其中NOLOGIN
角色是数据库和所有表、视图、函数等的所有者;然后创建视图以授予对特定角色的适当访问权限。一切都很好,但观点确实激增。表上的新CREATE POLICY
命令ENABLE ROW LEVEL SECURITY
看起来是达到相同目的的更清洁的替代方案。
但是,到目前为止,我无法确定哪些表启用了 RLS 以及在它们上定义了哪些策略。(显然,所有这些都是在定义表和策略之后进行的。)是否有一种简单的方法可以识别启用 RLS 的表上的既定策略?
(对于那些感兴趣的人来说,还有期待已久的UPSERT
更多jsonb
功能,以及许多性能改进。)
postgresql - PostGIS 与 Postgresql 9.5 beta1
我必须切换到最新的 OS X 测试版 Postgresql(现在是 9.5 beta 1),我目前的项目需要 PostGIS。我已经安装了这个扩展的最新版本,但是当我想运行创建扩展命令时它告诉我服务器是 9.5 版,库是 9.4 版。有没有办法在 OS X 上安装兼容版本的扩展?
sql - 为什么没有为 Postgres 视图启用行级安全性?
我需要严格控制我的 Postgres 数据的读写。可更新视图始终提供对我的数据读取的非常好的、严格的控制,并允许我添加有价值的计算列。Postgres 9.5 行级安全性引入了一种新的强大的方法来控制我的数据。但我不能同时使用这两种技术视图和行级安全性。为什么?
postgresql - Cath 从动态查询中抛出通知“关系已存在”
我需要动态创建表,在此之后,我还需要在该表上创建索引
当表不存在时,此函数起作用,也为表创建索引,但是当表和索引已经存在时,会抛出 notice:relation "t" already exists
和 error: relation "index_name" already exists
。
所以,我需要从第一个查询中捕获异常并且不创建索引,如果捕获通知:table already exists
也就是说,如何做这样的事情?
IF HERE NOT CATCHED NOTICE 'relation "t" already exists' THEN
EXECUTE 'create unique index index_name on t(field)';
END IF;
postgresql - 在 to_regclass() 函数中使用动态创建的名称
我已经动态创建了表名,我需要检查这个表是否存在,为此我这样做:
这给出了错误function to_regclass(text) does not exist
然后我尝试显式类型转换:
SELECT to_regclass('public.tableprefix_'||variable_name::regclass) INTO table_exists;
但同样的错误,我错在哪里?如何正确执行此操作?
postgresql - 如何将文本参数传递给“IN”运算符的存储函数
我需要从模式中获取表名,除了一些表
然后调用函数
这不起作用并返回 table1
结果table2
。
问题是:如何将文本参数传递给存储函数,对于IN
运算符?
sql - 在大表上使用 OFFSET 优化查询
我有桌子
这个表很大,大概有7000万行,我需要查询:
您可能知道,当x
是一个很大的数字时,这样的查询非常慢。
为了性能优化,我添加了索引:
和
EXPLAIN
表明上面的SELECT
查询使用了这些索引,但无论如何它都非常慢,偏移量很大。
我可以做些什么来优化OFFSET
大表中的查询?也许 PostgreSQL 9.5 甚至更新的版本有一些特性?我已经搜索过,但没有找到任何东西。