小编Gab*_*lla的帖子

如何对 PostgreSQL 物化视图进行增量刷新?

我正在查看 PostgreSQL 文档,其中:

REFRESH MATERIALIZED VIEW 完全取代了物化视图的内容。旧内容被丢弃。

但是,从 9.5 开始,我相信有一种方法可以更新 MV,而无需重新生成所有数据。

postgresql materialized-view

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

pg_restore --clean 不起作用,因为级联下降

DB-B我正在使用数据库 ( ) 的副本( DB-A),我通过每天运行来保持最新状态:

pg_restore -U postgres -d someDB --clean -j 2 -L WhatToImportList admin.dump
Run Code Online (Sandbox Code Playgroud)

但我开始注意到DB-B表中存在重复记录。经过进一步调查,似乎--clean没有将表删除,DB-B因为它需要对 my 中DB-B但不在 origin 中的其他表和视图进行级联删除DB-A

  1. 是否可以强制导入数据而不进行级联删除?我想保留所有自定义表格、视图和函数!
  2. DB-A如果不是,那么什么是一个好的复制策略,我可以从中导入数据,DB-B但保留分析所需的所有函数、视图和表DB-B

谢谢。

编辑:可能的解决方法:截断每个表,然后导入它们...但我必须在脚本中包含每个表。

Edit2:为了帮助未来的读者,这样可以生成所有必须截断的表的列表:

SELECT 'TRUNCATE ' || table_name || ';'
  FROM information_schema.tables
 WHERE table_schema='my_schema'
   AND table_type='BASE TABLE';
Run Code Online (Sandbox Code Playgroud)

postgresql pg-restore

8
推荐指数
0
解决办法
2810
查看次数

DBeaver 中缺少 Postgres 数据库的“文件夹”结构

我想我进行了错误的数据库恢复,或者转储没有此数据,并且“类似文件夹”的结构丢失了。这是 Dbeaver 的捕获,显示了我对“类似文件夹”结构的理解。我可以轻松访问存储在数据库定义中的函数、表、模式等。我不太担心原始结构的丢失,因为它没有太多,但我确实想在需要时逐步重新创建它。例如,现在我创建了一个函数并希望在“Functions”文件夹下看到它,我该怎么做?

另外,我应该在 pg_dump 生成脚本中包含什么来备份这个结构?

谢谢。

在此输入图像描述

postgresql dbeaver

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