相关疑难解决方法(0)

Postgres DB Size命令

是否有任何命令可以在Postgres中找到所有数据库大小?

我可以使用以下命令找到特定数据库的大小:

select pg_database_size('databaseName');
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.2

294
推荐指数
9
解决办法
20万
查看次数

pg_table_size,pg_relation_size和pg_total_relation_size之间有什么区别?(PostgreSQL的)

有什么区别pg_table_size(),pg_relation_size()&pg_total_relation_size()

我理解文档中解释的基本差异,但它对我的表实际使用了多少空间意味着什么?

postgresql

15
推荐指数
3
解决办法
1万
查看次数

使用并发刷新物化视图

我有一个PostgreSQL数据库,我使用物化视图.当我尝试刷新这些物化视图时会出现问题.

REFRESH MATERIALIZED VIEW product_cat_mview;
REFRESH MATERIALIZED VIEW productsforproject;
Run Code Online (Sandbox Code Playgroud)

我的解决方案是,当用户想要查看更新的数据时,他应该单击网页上的"刷新按钮",但这需要大约50秒(在本地连接上,距离应用程序服务器大约2分钟)并且所有这一次用户必须等待,这是不好的.

现在我应该创建一个解决方案,每10分钟自动刷新这些物化视图.我用多线程创建了一个Java解决方案.但我有一个问题.

第一个查询

REFRESH MATERIALIZED VIEW CONCURRENTLY product_cat_mview;
Run Code Online (Sandbox Code Playgroud)

工作正确,但第二

REFRESH MATERIALIZED VIEW CONCURRENTLY productsforproject;
Run Code Online (Sandbox Code Playgroud)

抱怨我需要创建一个独特的索引.我尝试在谷歌中找到创建索引,唯一索引等,但我仍然收到"创建唯一索引"的消息.

postgresql materialized-views

9
推荐指数
1
解决办法
5060
查看次数

为列出表和索引大小简化Postgres SQL查询?

以下Postgres SQL查询将列出所有模式及其大小和索引大小的所有表.如果表只是一个索引表,它将显示为100%索引.

SELECT schema,
       name,
       pg_size_pretty(CASE WHEN is_index THEN 0 ELSE s      END) AS size,
       pg_size_pretty(CASE WHEN is_index THEN s ELSE st - s END) AS index,
       CASE WHEN st = 0   THEN 0
            WHEN is_index THEN 100
                          ELSE 100 - ((s*100) / st) END || '%' as ratio,
       pg_size_pretty(st) as total
  FROM (SELECT *,
               st = s AS is_index
          FROM (SELECT nspname as schema,
                       relname as name,
                       pg_relation_size(nspname || '.' || relname) as s,
                       pg_total_relation_size(nspname || '.' || relname) …
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.1

5
推荐指数
1
解决办法
6553
查看次数