Table of Contents
Q1. PostgreSQL数据库有哪些限制?
问题描述
PostgreSQL数据库对于数据的大小是否有限制,限制是多少?
问题解答
参考官方文档:https://www.postgresql.org/docs/current/limits.htm
Q2. 一个事务频繁更新同一行有什么危害?
问题描述
在PostgreSQL中,在一个事务频繁更新同一行有什么危害?
问题解答
生产环境中在一个事务里频繁对单行数据进行更新操作会引起vacuum问题,此时基于触发器统计更新数据会变得越来越慢,一个较好的方式可以使用触发器的过渡表特性,使用一条语句进行批量处理。
参考案例:https://www.cybertec-postgresql.com/en/why-are-my-postgresql-updates-getting-slower/
Q3. 如何正确设置客户端编码
问题描述
如何修改设置客户端编码,保持与数据库服务端编码一致?
问题解答
比如通常client_encoding是UTF8
推荐设置PGCLIENTENCODING
环境变量
export PGCLIENTENCODING='GBK'
Q4. 模糊查看参数值
问题描述
在PostgreSQL中,是否有类似show all | grep 参数命令过滤参数?
问题解答
PostgreSQL15版本新加了\dconfig
元命令,可以使用该元命令模糊查询参数值
postgres=# \dconfig vacuum*
List of configuration parameters
Parameter | Value
-----------------------------------+------------
vacuum_cost_delay | 0
vacuum_cost_limit | 200
vacuum_cost_page_dirty | 20
vacuum_cost_page_hit | 1
vacuum_cost_page_miss | 2
vacuum_defer_cleanup_age | 0
vacuum_failsafe_age | 1600000000
vacuum_freeze_min_age | 50000000
vacuum_freeze_table_age | 150000000
vacuum_multixact_failsafe_age | 1600000000
vacuum_multixact_freeze_min_age | 5000000
vacuum_multixact_freeze_table_age | 150000000
(12 rows)
\dconfig其实是从pg_settings进行
LIKE
查询********* QUERY ********** SELECT s.name AS "Parameter", pg_catalog.current_setting(s.name) AS "Value" FROM pg_catalog.pg_settings s WHERE pg_catalog.lower(s.name) OPERATOR(pg_catalog.~) '^(vacuum.*)$' COLLATE pg_catalog.default ORDER BY 1; **************************
Q5. 强制删除数据库?
问题描述
在有客户端连接的情况下,PostgreSQL中是否可以强制删除数据库?
问题解答
PostgreSQL13版本DROP DATABASE
添加FORCE
选项,允许在有客户端连接的情况下强制删除数据库
DROP DATABASE database_name WITH (FORCE);
提示:如果目标数据库中存在prepared transaction、活动的逻辑复制槽或subscriptions,则 DROP DATABASE 不会终止
最后修改时间:2022-12-30 15:57:28
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。