-
问题:如图,创建一个数据库,这个数据库的密码怎么看?问题解读: select * from pg_user; ( db_zhangshu 的对应passwd: ******** ) 回答:数据库没有密码,密码是随用户的
-
背景业务运行过程中遇到内存类报错,比如ERROR:memory is temporarily unavailable ERROR:memory usage reach the max_dynamic_memory ...分析手段集中式首先查看节点整体内存使用情况,执行以下SQL:SELECT * FROM gs_total_memory_detail;字段含义:根据memorytype字段信息,分为以下几种情况,进一步分析:如果是dynamic_used_memory较高,接近max_dynamic_memory,说明动态内存使用较多,下一步可以查询动态内存使用情况,执行以下SQL查询,根据具体占用内存较高的内存上下文处理:SELECT sum(totalsize)/1024/1024 as "totalsize MB", contextname, count(1) as count FROM gs_session_memory_detail GROUP BY contextname ORDER BY 1 DESC LIMIT 10;如果是shared_used_memory较高,接近max_shared_memory,说明共享内存使用较多,类似的可以执行以下SQL查询,根据具体占用内存较高的内存上下文处理:SELECT sum(totalsize)/1024/1024 as "totalsize MB",contextname, count(1) as count FROM gs_shared_memory_detail GROUP BY contextname ORDER BY 1 DESC LIMIT 10;查询占用动态内存较高的会话SELECT sum(totalsize)/1024/1024 as "totalsize MB", sessid, count(1) as count FROM GS_SESSION_MEMORY_CONTEXT GROUP BY sessid ORDER BY 1 DESC LIMIT 10;查询占用动态内存较高的线程SELECT sum(totalsize)/1024/1024 as "totalsize MB", sessid, count(1) as count FROM GS_SESSION_MEMORY_DETAIL GROUP BY sessid ORDER BY 1 DESC LIMIT 10;恢复手段常见内存上下文使用内存高的处理手段内存上下文名称用途处理手段CachedPlanSQL计划缓存,下一次查询时可以减少SQL执行计划的生成时间减少会话数;改写业务,减少SQL模板数;在JDBC连接串配置preparedStatementCacheQueries,减少会话缓存的语句数量。SessionCacheMemoryContext会话元数据缓存减少会话数;在enable_global_syscache为off的情况下,可以调小local_syscache_threshold,减少单个会话占用的缓存大小。TwoPhrase Cleaner该内存是事务两阶段提交时,临时表自动清理所占用的内存修改gs_clean_timeout参数为0,禁止自动清理临时表,使TwoPhrase Cleaner不再增长。结束会话根据前面查询的会话信息,通过执行pg_terminate_session结束相应会话:SELECT pg_terminate_session(pid, sessionid);pg_terminate_session函数说明:描述:终止一个后台session。入参:第一个为线程号,第二个为会话id,均为int64类型。返回值类型:Boolean备注:如果成功,函数返回true,否则返回false。具有SYSADMIN权限的用户,会话所连接的数据库的属主,会话的属主或者继承了内置角色gs_role_signal_backend权限的用户有权使用该函数。其他再没有进一步信息的情况下,可以尝试重启单个节点
-
DBeaver默认多个会话窗口共用一个数据库连接,可能会导致执行卡死、事务报错等问题,建议为每个会话窗口单独配置一个数据连接,方法如图(不同版本显示略有差别): 2. DBeaver执行超时后会自动重试,可能会导致重复执行问题,建议取消自动重试 3. 高可用及连接参数配置方法
-
关键指标通常在运维监控出现CPU使用率较高、P80/P95指标较高、慢SQL数量上升等现象,或者业务出现超时报错时,优先应排查是否出现慢SQL。定位慢SQL手段实时慢SQL查询查询当前执行时间TOP10的SQL,识别长时间未结束的SQL后可以手动中止。select a.pid, a.sessionid, a.datname, a.usename, a.application_name, a.client_addr, a.xact_start, a.query_start, (now() - a.query_start)::text as query_runtime, a.unique_sql_id, w.wait_status, w.wait_event, w.locktag, w.lockmode, w.block_sessionid, a.query from pg_stat_activity a join pg_thread_wait_status w on a.sessionid = w.sessionid where a.pid <> pg_backend_pid() and a.state = 'active' and a.client_addr is not null order by query_runtime desc;根据查询结果,如果是等待锁,可以结合锁等待信息进一步分析,其他情况可以根据unique_query_id关联WDR报告、statement视图进一步分析慢的根因。历史慢SQL查询思路:根据CPU、慢SQL等监控指标,定位慢SQL出现的时间范围,通过以下几种方式进一步分析。整体运行情况分析:WDR报告通过导出对应时间段的WDR报告,可以分析耗时较长的SQL,WDR报告生成方法参见产品文档。单次执行情况分析:statement_historystatement_history记录了执行时间超过阈值(log_min_duration_statement,默认3 s)的详细SQL信息,包含计划生成时间、执行时间、锁等待时间等信息,其中部分信息与参数track_stmt_stat_level设置的级别(默认为'OFF,L0')有关。 设置参数track_stmt_stat_level='OFF,L1'后,statement_history中可以记录计划信息、锁等待时间等信息。 必须在postgres库内查询,根据时间段查询慢SQL(按照执行时间排序)SELECT *, finish_time - start_time as run_time FROM dbe_perf.statement_history WHERE start_time > '2022-07-08 18:00:00' AND start_time < '2022-07-08 19:00:00' -- 根据unique_query_id可以过滤出特定的查询 -- AND unique_query_id = 123456 ORDER BY run_time desc; 单个Query运行情况分析:statementstatement记录了SQL按照unique_sql_id归一化的执行信息,包括执行次数、总的执行时间、访问数据量、内存使用等信息。 根据unique_sql_id查询历史执行信息SELECT *, total_elapse_time / n_calls as avg_elapse_time FROM dbe_perf.statement WHERE unique_query_id = 123456;动态抓取执行信息(计划、锁等待时间等)为了避免对生产环境产生影响,可以动态抓取SQL执行信息-- 抓取指定unique_sql_id的全量SQL信息 -- 示例:unique_sql_id为3267119089,全量SQL级别为L2,相当于track_stmt_stat_level='L2,off' select * from dynamic_func_control('LOCAL', 'STMT', 'TRACK', '{"3267119089", "L2"}'); -- 打开之后,查询statement_history -- 关闭抓取,清理 select * from dynamic_func_control('LOCAL', 'STMT', 'UNTRACK', '{"3267119089"}'); select * from dynamic_func_control('LOCAL', 'STMT', 'LIST', '{}'); select * from dynamic_func_control('LOCAL', 'STMT', 'CLEAN', '{}');查看会话快照信息SELECT * FROM dbe_perf.local_active_session WHERE query_start_time > '2022-07-08 18:00:00' AND query_start_time < '2022-07-08 19:00:00' AND unique_query ilike '%%';常用处理手段中止慢SQL根据查询结果中的pid和sessionid,使用函数中止查询select pg_terminate_session(pid,sessionid);优化SQL更新统计信息查看统计信息select * from pg_stats where tablename = '表名'; select * from pg_stats where tablename = '表名' and attname = '列名';更新统计信息analyze tablename;手动设置列的distinct值(该字段不同值的数量,选择率 ~ 总行数/distinct值)ALTER TABLE tablename ALTER COLUMN colname SET (n_distinct = 实际值); analyze tablename; -- analyze执行后生效 -- 取消设置 ALTER TABLE tablename ALTER COLUMN colname RESET (n_distinct); analyze tablename; -- analyze执行后生效使用hint优化计划通过分析慢SQL的计划,可以使用hint进行调整,openGaussc常用的hint包括:Join顺序的Hint,语法示例:/+ leading((t1 t2))/Join方式的Hint,语法示例:/+ nestloop(t1 t2)/Scan方式的Hint,语法示例:/+ indexscan(t1 index1)/优化器GUC参数的Hint,语法示例:/+ set(param value)/Custom Plan和Generic Plan选择的Hint,语法示例:/+ use_cplan/....修改参数根据慢SQL分析结论,可以考虑修改GUC参数,但是修改参数同时也会影响其他查询的计划,属于高风险操作。其他对于整体执行慢,可以通过分析WDR报告中TOP等待事件,进一步优化。
-
请教下不小心把表数据删除了,高斯数据库怎么恢复?
-
ERROR: duplicate key value violates unique constraint "pk_p"这个报错要怎么处理?
-
create table t (name varchar(1)); insert into t values('a'); insert into t values('中');postgres可以插入中文,openGauss不可以 这个差异,高斯这边有参数控制兼容吗?
-
#开发者故事,有奖征集书写代码与修改BUG是开发者大多数的日常:有时探索良久却毫无进展,抓耳挠腮不得其因;有时眉头紧锁间忽地灵光一现,柳暗花明又一村;个中滋味,最有体会。数据库邀你,分享你的故事。让这份分享成为一盏明灯,照亮更多的人。一、 活动时间投稿期:2022/9/1-2022/12/30投稿形式:视频、文章(不用担心你的文笔和表达能力,投稿后我们会协助你优化的哟)二、奖励规则奖项数量征集形式奖励投稿奖励(综合分值60分以上的给与奖励)不限故事稿件&开发者故事视频第1名:价值269元HUAWEI FreeLace无线耳机活力版曜石黑第2~3名:价值199元华为手环4 (曜石黑)第4~6名,价值129元HUAWEI mini蓝牙音箱 _绮境森林第7~10名,价值79元罗技鼠标第11名以后,华为云数据库书籍(3选1)/GaussDB T恤 数据库书籍(3选1:华为数据之道、数据库原理及应用、openGauss数据库核心技术)三、活动要求投稿作者需真实使用或体验过华为云数据库的产品/服务/工具/课程等资源,内容上要与华为云数据库相关,可以是技术分享、实践、案例等,也可以是与数据库相关的故事。故事要求1000字以上,保证真实、原创,拒绝杜撰剽窃;如果未使用过华为云数据库产品,也想参与活动,请点击开发者免费试用专区进行产品体验,如果需要提供相关课程或者学习资料,请添加添加“华为云数据库小助手”微信:18209232786,进行咨询。四、 参与流程思路梳理:参考附件【开发者故事提纲】列出的一些问题,可以帮助你构建故事的框架,进而完成故事的撰写。撰写故事:请根据步骤1中填写的提纲,完善你的“开发者故事”,要求1000字以上,保证真实、原创,拒绝杜撰剽窃。完成投稿:将故事发送给小助手,合格后可获得投稿奖励, 投稿过程中有任何疑问欢迎随时来撩!邀请好友:邀请好友完成投稿,好友投稿给小助手时,说明或者备注邀请人的华为云用户名,即邀请成功,邀请人可获得邀请奖励。审核通过:在投稿后10个工作日内完成审核,审核通过的合格作品可在华为云博客发布。专家评选:年底,我们将对所有合格投稿进行评选,在华为云开发者年终盛典典礼上进行表彰,同时进行奖品奖励。注意事项请遵守华为云社区常规活动规则: cid:link_0
-
请问下,opengauss支持逻辑复制槽failover吗?
-
如题,请问下大神,高斯支持gin索引不?
-
GaussDB修改表字段类型时,怎么样可以关掉级联限制吗? 现在表字段一旦被其它视图引用,那表字段就不允许修改,想问下,能不关掉这个级联限制。
-
GaussDB删除存储过程的的语法是啥?
-
什么场景会触发GaussDB主备切换啊
-
Store tables do not support global temp table 应该怎么解决
-
高斯支持在线建索引么,类似Oracle online的方式?
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签