小编Vla*_*lad的帖子

pgAdmin 在任何远程操作上都非常慢

我从远程连接到我们的开发服务器的本地 pgAdmin 运行此查询:

select * from users order by random() limit 1;

它挂起17秒并显示

Total query runtime: 148 ms. 
1 row retrieved.
Run Code Online (Sandbox Code Playgroud)

它也挂在任何操作上:甚至右键单击表格。

之后我通过 RDP 连接并在相同的 pgAdmin 版本中运行相同的查询,该版本立即显示结果query time: 32 ms

然后我再次从本地 pgAdmin 运行查询:

Total query runtime: 337 ms.
1 row retrieved.
Run Code Online (Sandbox Code Playgroud)

我对服务器的 ping 时间为 130 毫秒。连接速度应该足够了,因为我可以非常快地通过 FTP 上传文件。

使用本地 psql 运行时的相同查询在几秒钟内完成,包括连接时间。

我的本地 pgAdmin 中与我的本地数据库副本相同的查询也立即完成。

pgAdmin 版本是 1.20.0。也检查了最新的 1.22 - 仍然相同。

我可以做些什么来加速 pgAdmin?

请注意 psql 工作正常,我在那里没有看到相同的延迟。

17 秒查询运行的 pgAdmin 日志:

2016-02-06 16:18:03 INFO   : queueing : select …
Run Code Online (Sandbox Code Playgroud)

postgresql performance pgadmin postgresql-9.4 postgresql-performance

10
推荐指数
1
解决办法
8195
查看次数

组角色和登录角色有什么区别?

看起来对于单个用户,我应该创建一个登录角色而不是相应的组角色,因为我无法直接为登录角色分配权限。这是真的吗?这种分离的目的是什么?

此外,据我所知,只能使用login role进行身份验证。那么组角色中密码字段的目的是什么?或者可以作为组角色进行身份验证?那么为什么有人需要登录角色呢?

看起来我也可以在 pg_hba 中设置登录和组角色。

postgresql security

8
推荐指数
1
解决办法
4256
查看次数

将所有表中的所有外键重新创建为可延迟(批处理)

我想让我的数据库中的所有外键都可以延迟。但是不可能改变现有的约束。所以我需要删除并再次添加每个外键。如何自动完成?

postgresql foreign-key ddl

4
推荐指数
1
解决办法
2641
查看次数

为什么以非所有者身份登录时可以删除表?

我读到只有所有者可以删除表,其他用户不能这样做。

我用所有者创建了一个表,postgres然后将它作为另一个用户删除。我应该撤销哪些特权来禁止它?

用户在 db 属性中拥有默认授予的所有权限,但我没有看到任何“创建表”或“删除表”权限。

postgresql security permissions pgadmin drop-table

0
推荐指数
1
解决办法
3283
查看次数