首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Greenplum 实时数据仓库实践(9)——Greenplum监控与运维

系统表pg_auth_members存储了角色与其成员关系。 9.1.3 管理对象权限 当一个对象(表、视图、序列、数据库、函数、语言、模式或表空间)被创建,权限被赋予属主。...属主通常是执行CREATE语句角色。对于大多数类型对象,其初始状态是只允许属主或超级用户在对象上做任何操作。为了允许其他角色使用对象,必须授予适当权限。...应该定期运行系统目录维护过程,以回收已删除对象占用空间。 建议定期在系统目录上运行REINDEX和VACUUM,以清除已删除对象在系统索引和表中占用空间。...此时必须在计划停机期间执行加强系统目录维护,维护时停止系统上所有目录活动,因为VACUUM FULL会对系统目录加排锁。...数据库对象属主拥有对象所有权限,属主或超级用户(gpadmin)可以将对象权限授予其他用户。

3.4K32
您找到你想要的搜索结果了吗?
是的
没有找到

GreenPlum中数据库对象

删除一个数据库,用户必须是该数据库拥有者或者超级用户,并且当用户或者其他人正连接到该数据库时不能删除。在删除一个数据库时,可以连接到postgres(或者另一个数据库)。...以下关于临时或者事务文件信息: 用户只能把一个文件空间专用于临时或者事务文件,不过用户可以使用同一个文件空间来存放其他类型文件。 如果一个文件空间被临时文件使用,用户就不能删除。...例如: 尝试在外部表分区中改变数据INSERT、DELETE以及UPDATE命令会返回一个错误。 TRUNCATE命令返回一个错误。 COPY命令无法复制数据到一个会更新外部表分区分区表中。...当用户删除一个具有子分区分区时,子分区(以及其中所有数据)也会被自动删除。对于范围分区,从范围中删除较老分区很常见,因为数据会被滚出数据仓库。...例如,如果另一个视图依赖于将要被删除视图,这个其他视图也将被删除。如果没有CASCADE选项,这个 DROP VIEW命令将会失败。

57120

《面试季》经典面试题-数据库篇(一)

CSV: 表是以逗号分隔文本文件,可以允许以CSV格式导入导出,以相同格式与脚本和应用进行交互,所有必须不能为null,不支持索引,可以对数据文件直接编辑,保存文本文件内容 NDB: 又叫NDBCLUSTER...(5)、groub by: 根据携带条件,将临时表t2进行相应数据分组,并形成临时表t3,如果语句包含了group by则后面的字段必须出现在select中或者出现在聚合函数中,否则会报SQL语法错误...因为这个项目的技术选型是由我们公司架构师进行选择,但是,我也通过项目和公司业务了解到一些选择PG数据库好处,我们公司主要项目是公安相关系统,系统中涉及到很多地理位置信息数据处理,PG数据库对地理信息存储和拓展都有很好支持...八: 数据库范式理解 1、第一范式: 每个都不能再拆分 2、第二范式: 在第一范式基础上,非主键完全依赖于主键,而不能依赖于主键一部分。...3、第三范式: 在第二范式基础上,非主键依赖于主键,不依赖于其他非主键(不存在传递依赖) 举例:    如:Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)这样一个表结构

81810

数据库PostrageSQL-日常数据库维护工作

一个显而易见维护任务是定期创建数据后备拷贝。如果没有一个最近备份,你就不可能在灾难(磁盘失败、或在、错误删除一个关键表等)后进行恢复。...这种方法对于从多版本并发控制(MVCC,见Chapter 13)获益是必需:当旧版本仍可能对其他事务可见时,它不能被删除。但是最后,任何事务都不会再对一个过时或者被删除行版本感兴趣。...经常在WHERE中被用到以及数据分布非常不规则可能需要比其他更细粒度数据直方图。...自动清理守护进程不会为外部表发出ANALYZE命令,因为无法确定一个合适频度。...相似地,一个数据库pg_database行datfrozenxid是出现在该数据库中未冻结 XID 下界 — 只是数据库中每一个表relfrozenxid值最小值。

1.5K21

PostgreSQL数据存储基础知识

因为只有四个字节,因此,在大型数据库中并不足以提供数据库范围内唯一性,甚至在一些大型表中也无法提供表范围内唯一性。...OID 在旧版本中还可以用于标识元组,对于没有主键,重复行,此时 OID 作为唯一 ID,则可以根据进行删除指定行数据。我们之前创建表时,default_with_oids 默认是关闭。...cmin:插入该元组命令在插入事务中命令标识(从0开始累加) cmax:删除该元组命令在插入事务中命令标识(从0开始累加) cmin和cmax用于判断同一个事务内其他命令导致行版本变更是否可见.../:存储 database 数据(除了指定其他表空间),子目录名字为该数据库在 pg_database里 OID。...由于 OID 是系统表隐藏,因此查看系统表中数据库对象OID时,必须在SELECT语句中显式指定。

2.3K60

GreenPlum数据库日常维护

事务ID管理 GreenplumMVCC事务机制依赖于比较事务ID(XID)号来判断当前数据对于其他事务可见性。...,依赖于数据库统计信息。...准确统计信息帮助查询优化器 更好评估选择度以及一个查询操作检索行数。这些评估会帮助选择最有效查询计划。ANALYZE 命令会为查询优化器收集统计信息。...对于有索引表列,批量更新或者插入之类一些操作可能会执行得更慢,因为需要更新索引。为了提高带有索引 表上批量操作性能,可以先删除掉索引,然后执行批量操作,最后再重建索引。...—pg_hba.conf格式说明 该文件有如下5间为空格,不区分大小写。

2.2K40

数据库PostrageSQL-表空间

它们依赖于包含在主数据目录 中元数据,并且因此不能被附加到一个 不同数据库集簇或者单独备份。 类似地,如果丢失一个表空间(文件删除、磁盘失效等), 数据库集簇可能 会变成不可读或者无法启动。...所有后续在该表空间中创建对象都将被存放在这个目录下文件中。该位置不能放在可移动 或者瞬时存储上,因为如果表空间丢失会导致集簇无法工作。...通常在每个逻辑文件系统上创建多于一个表空间没有什么意义,因为无法控制在一个逻辑文件系统中特定文件位置。不过,PostgreSQL不强制任何这样限制,并且事实上它不会注意你系统上文件系统边界。...因此,与临时对象有关负载可以散布在多个表空间上。每次要创建一个临时对象时,将从列表中随机取一个成员来存放。 与一个数据库相关联表空间用来存储该数据库系统目录。...表空间一旦被创建,就可以被任何数据库使用,前提是请求用户具有足够权限。这也意味着,一个表空间只有在所有使用它数据库中所有对象都被删除掉之后才可以被删掉。

92110

PostgreSQL存增加更新和删除功能

PostgreSQL存增加更新和删除功能 Hydra是企业级数据仓库开源替代品。速度快且功能丰富,开发人员可以更快构建更好分析。支持PG更新和删除是#1客户功能请求,现在GA了。...之前博文“如何为分析构建最快PG数据库”中,回顾了Hydra团队如何将存、向量化和查询并行化添加到PG中,以及使用ClickBench基准测试结果。目前对WHERE进行了向量化。...虽然append-only存储对不可变数据很有用,但缺乏其他数据库任务所需灵活性。PG更新和删除并不是物理删除,而是在heap存储tuple header中标记删除。...Hydra实现 存储功能依赖于columnar schema中几个元数据表。...如果事务 A 向表中添加行,那么另一个事务将无法看到它们,因为事务 B 中条目将不可见,即使columnar.stripe它们对事务 A 可见。

1.1K40

分布式 PostgreSQL,Citus(11.x) 效用函数

它在 Citus 元数据表 pg_dist_node 中将节点标记为非活动节点,暂时将其从集群中删除。该函数还从禁用节点中删除所有引用表放置。...citus_add_secondary_node() 函数在集群中为现有的主节点注册一个新辅助节点。更新 Citus 元数据表 pg_dist_node。...column_to_column_name 将 pg_dist_partition partkey 转换为文本列名称。该转换可用于确定分布式表分布。...第二种避免阻塞分片写入方法依赖于 Postgres 10 逻辑复制。 成功移动操作后,源节点中分片将被删除。如果移动在任何时候失败,此函数将引发错误并保持源节点和目标节点不变。...此函数旨在在从集群中删除节点之前调用,即关闭节点物理服务器。 isolate_tenant_to_new_shard 此函数将创建新分片,用于保存分布中具有特定单个值行。

1.4K20

Ceph组件状态

例如有3个副本校验和,有1个不同,很容易猜出应该修复错误副本(从其他副本恢复),但是当有3个不同校验和或者一些比特错误,我们不能武断说哪个是好。这不是一个端到端数据修正检查。...ceph pg repair {pgnum} 注意:如果主副本错误,应该使用手动修复,如果通过命令修复则会把主副本错误数据复制到其他副本。...这意味着存储集群知道有些对象存在,但是却无法找到副本。...这种情况下,到这些对象IO将被阻塞,集群希望失败OSD快速地回来。这时假设返回一个IO错误给用户是适当。 修复建议: 6.启动停止osd 7.如果还无法恢复,你可能只有放弃丢失对象。...执行如下命令回滚或删除对象: ceph pg {pgname} mark_unfound_lost revert|delete revert选项:回滚到对象前一个版本 delete选项:完全删除这个对象

1.2K20

想熟悉PostgreSQL?这篇就够了

PostgreSQL是自由对象-关系型数据库服务器,在灵活BSD风格许可证下发行。它在其他开放源代码数据库系统和专有系统之外,为用户又提供了一种选择。...如何在PostgreSQL中创建表 我们将创建一个名为“pg_equipment”表,定义了各种游乐场设备。...pg_equipment RENAME COLUMN functioning TO working_order; 要删除我们刚刚创建,请输入以下命令: ALTER TABLE pg_equipment...PostgreSQL中表 我们可以通过输入下面的命令来删除我们创建表: DROP TABLE playground_equip; DROP TABLE 如果我们将该命令提供给不存在表,我们将看到以下错误...: ERROR: table "playground_equip" does not exist 为了避免这个错误,我们可以告诉postgreSQL删除表,并以任何方式成功返回。

3.2K20

解锁TOAST秘密:如何优化PostgreSQL大型存储以最佳性能和可扩展性

解锁TOAST秘密:如何优化PostgreSQL大型存储以最佳性能和可扩展性 PostgreSQL是一个很棒数据库,但如果要存储图像、视频、音频文件或其他大型数据对象时,需要TOAST以获得最佳性能...这可以提高查询和索引性能,并减少存储数据所需要磁盘空间量。 当表包含OID、bytea或具有TOATable存储类任何其他数据类型时,PG会自动创建TOAST表。...该策略对于经常使用子字符串操作访问text和bytea很有用。因为系统只需要获取行外值所需部分,所以访问这些很快。...当没有其他方法使行足够小以适合页面时才会行外存储。比如,有一个表,其中包含大量不经常访问数据,希望对其进行压缩以节省空间;该策略将压缩,但会避免将其存储在行外。...3)Vacuum性能 PG运行一个vaccum进程,用来回收被删除或被更新行空间,从而维护数据库性能。当TOAST表中存储大量大数据对象时,vacuum进程会变得很慢。

2K50

ceph分布式存储-常见 PG 故障处理

常见 PG 故障处理 3.1 PG 无法达到 CLEAN 状态 创建一个新集群后,PG 状态一直处于 active , active + remapped 或 active + degraded 状态...OSD 依赖于其他 OSD 告诉自己应该保存哪些对象。如果第一个 OSD 持有对象拷贝,并且没有第二份拷贝,那么也就没有第二个 OSD 去告诉第一个 OSD 应该保管那份拷贝。...> CRUSH MAP 错误 PG 达不到 clean 状态另一个可能原因就是集群 CRUSH Map 有错误,导致 PG 不能映射到正确地方。...ceph pg 2.5 mark_unfound_lost revert|delete 上述最后一个参数告诉集群应如何处理丢失对象。 delete 选项将导致完全删除它们。...revert 选项(纠删码存储池不可用)会回滚到前一个版本或者(如果它是新对象的话)删除。要慎用,它可能迷惑那些期望对象存在应用程序。

3K30

PG逻辑复制REPLICA IDENTITY设置

前两天同事问了一个PG错误,创建一张普通表,insert插入正常,但是执行update和delete时,提示这个错误, SQL 错误 [55000]: ERROR: cannot delete from...PG确实接触少,顺着错误,捋一捋,首先是PG版本,是12, SELECT current_setting('server_version_num'); 从报错来看,为了能执行更新和删除操作,需要用ALTER...可以针对同一个数据库实例,同时使用逻辑复制和物理复制,因为他们都是基于REDO。...(2) 索引模式(index):将某一个符合条件索引中,用作身份标识。 (3) 完整模式(full):将整行记录中所有列作为复制标识(类似于整个表上每一共同组成主键)。...创建表,插入正常,更新和删除,就会提示55000错误, CREATE TABLE temp_tb ( code varchar(32) COLLATE pg_catalog.default primary

2K31

Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务

PostgreSQL 在连接数配置需要注意以下这个知识点: 由于PostgreSQL所依赖一些库依赖于user32.dll,后者从内存中一块称为桌面堆(Desktop Heap)区域中分配内存。...当在命令行方式运行时,因为每个交互登录会话将会分配20MB桌面堆,所以大约可以支撑 5000-6000个连接。...以上说值是操作系统默认值,这个堆分配大小可以通过调整注册表来进行修改,但是此操作需要非常小心,一旦指定值过大,系统将无法启动,所以不推荐去手动修改这个值。...下面介绍如果想要删除发布设置和订阅设置操作 在主库执行 SELECT * FROM pg_publication 可以查询当前主库所有发布信息 DROP PUBLICATION p 删除名字为...p 发布信息在从库执行: SELECT * FROM pg_subscription 可以查询当前从库所有订阅信息 DROP SUBSCRIPTION s 删除名字为 s 订阅信息然后记得去主库

80920

Pgpool-II 4.3 中文手册-前言

这些功能包括: 高可用 Pgpool-II 通过使用多个 PostgreSQL 服务器提供高可用性 (HA) 功能,以便自动从服务器池中删除损坏服务器以继续执行数据库任务。...因此,依赖于用户社区持续支持。当您开始使用 Pgpool-II 时,您将依赖其他帮助,无论是通过文档还是通过邮件列表。考虑回馈您知识。阅读邮件列表并回答问题。...如果 pool_passwd 还不存在,pg_md5 命令会自动为你创建。 pool_passwd 格式是 username:encrypted_passwd。...但是,不支持使用后端函数 lo_import 进行大对象复制。 在其他模式下,包括 Slony 模式,不支持大对象。 临时表 创建/插入/更新/删除临时表始终在原生复制模式下主节点上执行。...对于 8.2.x 或更早版本,由 CREATE TEMP TABLE 创建表在退出会话后不会被删除。这是因为连接池,从 PostgreSQL 后端角度来看,使会话保持活动状态。

2K30

Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)

如果无法以正确顺序分布,则删除外键,分布表,然后重新创建外键。 表分布后,使用 truncate_local_data_after_distributing_table 函数删除本地数据。...如果您不关心表 co-location,请忽略此参数。默认为 'default' 值,它将表与具有相同分布类型、分片计数和复制因子任何其他默认 co-location 表分组。...它不会重新分片或物理移动数据,只是更新 Citus 元数据。 删除表 您可以使用标准 PostgreSQL DROP TABLE 命令来删除分布式表。...其他 DDL 语句需要手动传播,并且禁止某些其他语句,例如那些会修改分布语句。尝试运行不符合自动传播条件 DDL 将引发错误并使协调节点上表保持不变。 以下是传播 DDL 语句类别的参考。...将它们添加到非分布将产生错误(请参阅无法创建唯一性约束)。

2.7K20

深入解读SQL优化中执行计划

Rows是输出行数,它是一个评估结果;然后是每一行平均字节数,这是一个评估结果,这个评估结果依赖于pg_stats和pg_statistic统计信息。 那么我们怎么去看执行计划呢?...Hash连接是在做大数据连接时非常有用方式,就是在两个大表进行join。那么这里也是为什么PG在和MySQL比时候,说它分析能力要强一点原因,因为我们Hash join支持非常好。...前面也是一个Loop,只是把内存表建立一个Hash表,这样去扫描就会快很多。Materialize就是这么一个优化方向,这个也依赖于我们work_mem。...示例中原来是走了一个Nested Loop,我们把索引删除,它就去走了Merge join。一般对于这种数值比较效率还可以,因为排序数值效率是高一点。...前面说执行计划表连接类型是不是正确合理,另外要从SQL本身进行入手,我们目的是为了减少消耗。如果SQL语句比较复杂,而扫描类型已经无法改动,那这时只能去改写SQL语句,尽量减少嵌套,减少子查询。

71940
领券