• [技术解读] 分布式数据库无疑是数据库未来发展的一个重要趋势。
    分布式数据库无疑是数据库未来发展的一个重要趋势。随着大数据、云计算、物联网等技术的快速发展,数据量呈现出爆炸式的增长,传统的单体数据库在处理海量数据和高并发请求时显得力不从心。而分布式数据库通过将数据分散存储在多个节点上,并利用这些节点进行并行处理,可以有效地解决这些问题。分布式数据库的优势主要体现在以下几个方面:扩展性:分布式数据库能够方便地通过增加节点来扩展存储和计算能力,从而满足不断增长的数据和业务需求。高可用性:通过数据冗余和复制,分布式数据库可以实现高可用性和容错性,即使部分节点出现故障,也不会影响整个系统的正常运行。高性能:分布式数据库利用多个节点进行并行处理,可以显著提高查询和更新操作的性能,特别是在处理大数据量和高并发请求时表现尤为突出。此外,随着云计算的普及,越来越多的企业开始将业务部署到云端。分布式数据库与云计算的结合,可以为企业提供更加灵活、高效和安全的数据存储和计算服务。当然,分布式数据库也面临着一些挑战,如数据一致性、安全性、复杂性等问题。但随着技术的不断进步和成熟,这些问题也将逐渐得到解决。因此,可以预见,在未来,分布式数据库将在更多领域得到广泛应用,成为数据处理和存储的主流解决方案之一。
  • [问题求助] PGReplicationStream的read 方法不阻塞 还 报错FATAL: insufficient data left in message
    主要代码PGReplicationStream stream = pgConnection.getReplicationAPI() .replicationStream() .logical() .withSlotName("test_slot") .withSlotOption("include-xids", false) .withStatusInterval(2000, TimeUnit.SECONDS) .start();在调用 stream.read();方法的时候 报错 org.postgresql.util.PSQLException: FATAL: insufficient data left in messagestream.read() 在正常打印一部分数据 后才报错误,如图:求帮助 ,感谢。
  • [运维管理] dws用pg_relation_filepath只能查到cn的路径,如何查到对应dn里面的数据文件
    dws里面看到协调节点的数据文件如何对应到master里面的数据文件呢。用pg_relation_filepath只能查到cn的路径
  • [产品公告] Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库
    2023 年第三季度,Navicat 首次支持了华为云 GaussDB 主备版数据库。经过双方团队进一步的深化合作,Navicat 完成了 GaussDB 分布式的研发适配工作,赋能 GaussDB 全域数据库产品。GaussDB 数据库分为主备版和分布式版两种模式。主备版适用于数据量较小,且长期来看数据不会大幅度增长,但是对数据的可靠性,以及业务的可用性有一定诉求的场景。分布式版能够支撑较大的数据量,且提供了横向扩展的能力,可以通过扩容的方式提高实例的数据容量和并发能力。Navicat Premium 16.3.3 windows 版本已于近日正式发布。该版本新增了 GaussDB 分布式数据库的功能,同时也实现了与主备版模式一致的功能,不仅提供可视化操作能力,如:数据增删改查、SQL 或脚本处理、函数、数据生成等,还蕴含了丰富的高级功能:协同合作、数据迁移、数据传输、结构同步、数据同步、模型、图表、自动运行、角色权限管理、服务器监控等。此次合作,除了满足了 GaussDB 不同用户与场景的多样化需求,也促进了双方在数据库领域的成长和发展。未来,双方会保持紧密合作,共同研发更符合市场需求的产品。华为云 GaussDB华为在数据库领域战略投入20多年,围绕客户全场景诉求打造了 GaussDB 分布式数据库。GaussDB是当前国内唯一做到全栈软硬协同自主创新的数据库产品,有高度的语法兼容性,可以提供一站式整体迁移解决方案,原生分布式架构大幅提升了系统的可用性,构建了高可用、高安全、高性能、高弹性、高智能、易部署、易迁移“五高两易”的核心技术竞争力。目前,GaussDB 已在华为内部IT系统和多个行业核心业务系统得到应用。未来,GaussDB 将持续深耕金融政企场景,通过全面创新,成为金融政企客户以及其他关键基础设施行业客户的更优选择。NavicatPremiumSoft 公司成立于1999年,创立了 Navicat 品牌和系列产品,总部位于中国香港。公司专注于数据库工具配套技术的研发与技术创新,以产品力和客户需求为导向不断提升工具的可靠性、便捷性、稳定性和安全性。Navicat致力于帮助全球用户(数据库相关工作者、应用开发者以及数据分析师等)简化管理和维护数据库。目前,超过五成的《财富》世界500强企业每天都会使用 Navicat。此外,Navicat 被广泛应用在各行各业,也受到金融客户的信赖。目前,浦发银行、农商银行、农业银行、中国银联和泰康保险都选择了 Navicat。
  • [SQL] 导出pg_default_acl表的alter default privileges语句,参考方式
    pg_default_acl表原始数据select * from pg_default_acl;pg_default_acl表简单处理sqlSELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Granter", n.nspname AS "Schema", CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' END AS "Type", pg_catalog.array_to_string(d.defaclacl, E', ') AS "Access privileges" FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespace ORDER BY 1, 2, 3;1、先建立一个权限的映射表create table public.ysw ( prototype varchar(1), aim varchar(10) ); insert into ysw values('r','select'); insert into ysw values('a','insert');2、创建一个函数转化格式,比如将权限ra转化为select,insert形式create or replace function fun_ysw(varchar) returns varchar as $$ declare re varchar :=''; tmp varchar := ''; fr varchar :=''; i int := 1; length int := char_length($1); begin while i<=length loop select substring($1,i,1) into fr; select aim into tmp from ysw where prototype = fr; re :=concat(re,tmp); if i<length then re :=concat(re,','); end if; i :=i+1; end loop; return re; end; $$ LANGUAGE plpgsql;3、最终查询sql示例模板:alter default privileges for user 原始 in schema 模式 grant 拼接权限 on 类型 to 用户可能多个;查询sqlSELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "granter", n.nspname AS "schema", CASE d.defaclobjtype WHEN 'r' THEN 'tables' WHEN 'S' THEN 'sequences' WHEN 'f' THEN 'functions' WHEN 'T' THEN 'types' END AS "Type", d.defaclacl, fun_ysw(to_char(regexp_substr(d.defaclacl[1]::text, '(?<=\=).*?(?=\/)'))) as right, rtrim(regexp_replace(concat(pg_catalog.array_to_string(d.defaclacl, E','),','), '\=.*?(?=\,)','','g'),',') as usernames FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespace ORDER BY 1, 2, 3;最后可以按需求拼接,,要根据数据状况进行适当修改