暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL问答-第20221021期

原创 Maleah 2022-10-21
520

Table of Contents

Q1. PostgreSQL数据库有哪些限制?

问题描述

PostgreSQL数据库对于数据的大小是否有限制,限制是多少?

问题解答

image.png

参考官方文档: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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论