1.以下哪条SQL命令可以得到此前被成功归档的WAL日志文件统计信息? A
A. SELECT archived_count FROM pg_stat_archiver;
B. SELECT archived_count FROM pg_stat_database;
C. SELECT checkpoints_req,checkpoints_timed FRoM pg_stat_bgwriter;
解析:参见大佬解释(Pg中有一个专门的统计信息收集器进程,叫做 PgStat1。它负责收集表和索引的行数、块数等统计信息,并记录在系统表pg_class中。除此之外,它还收集其他的统计信息,如列的空值比例、最常见的值、直方图边界等,并记录在系统表pg_statistic中。)
文本查找文献解释:
查看统计信息动态视图
pg_stat_activity 每个服务器进程一行,显示与那个进程的当前活动相关的信息,例如状态和当前查询。archived_count,已被成功归档的 WAL 文件数量
pg_stat_replication 每一个 WAL 发送进程一行,显示有关到该发送进程 连接的后备服务器的复制的统计信息
pg_stat_wal_receiver 只有一行,显示来自 WAL 接收器所连接服务器的有关该接收器的统计信息。
pg_stat_subscription 每个订阅至少一行,显示有关该订阅的工作者的信息。详见pg_stat_subscription。
pg_stat_ssl 每个连接(常规的或者复制)一行,显示在这个连接上使用的SSL的信息。详见pg_stat_ssl。
pg_stat_progress_vacuum 每个运行着VACUUM的后端(包括autovacuum工作者进程)一行,显示当前的进度。
已收集统计信息视图:
pg_stat_bgwriter 显示有关后台写进程的活动的统计信息,checkpoints_timed:已经被执行的计划中检查点的数量;checkpoints_req:已经被执行的请求检查点的数量
pg_stat_replication视图中将为每一个 WAL 发送进程包含一行,用来显示与该发送进程连接的后备服务器的复制统计信息。视图中报告的滞后时间近期的WAL被写入、刷写并且重放以及发送器知道这一切所花的时间的度量
2.关于参数"synchronous_standby_names=2(s1、 s2、s3)"解读正确的是 C
A. s2为同步备库、s1、s3为潜在同步备库、其余备库为异步备库
B. s1、s2为同步备库、s3为潜在同步备库、其余备库为异步备库
C. s1、s2、s3任意2个为同步备库、剩下的为潜在同步备库、其余备库为异步备库
D. s1、s2、s3均为潜在同步备库、s2优先成为同步备库、其余为异步备库
3.在PG中,除了表和索引的行数、块数等统计信息外,其它统计信息记录在那个系统表 A
A.pg_statistic
B.pg_proc
C.pg_index
D.pg_class
解析:pg_statistic,存储有关数据库内容的统计数据
pg_proc:存放有关函数、过程、聚集函数以及窗口函数(共称为例程)的信息
pg_index:包含关于索引的部分信息。其他信息大部分在pg_class中。
pg_class:记录表和几乎所有具有列或者像表的东西。
4.若要修改一个事务的事务隔离级别、则应在事务开始时地行? C
A. BEGlN;SET default_transaction_isolation = 'repeatable read';
B. SET TRANSACTION ISOLATION LEVEL repeatable read;
C. BEGIN TRANSACTION ISOLATION LEVEL repeatable read;
D. 以上语句都不正确
解析:
隔离级别:读未提交(Read uncommitted ),读已提交(Read committed ),可重复读(Repeatable read),可序列化(Serializable);在各个级别上被禁止出现的现象是:脏读/不可重复读/幻读/序列化异常
A. set default_transaction_isolation='repeatable read'; --修改当前会话默认的隔离级别
B. 执行SET TRANSACTION之前需要加 START TRANSACTION或者 BEGIN
C. BEGIN TRANSACTION ISOLATION LEVEL repeatable read; --加事务,提交或者end;
会话VS事务:一个会话可以启动多个事务,会话是session,指一次连接。
是一个由多条SQL语句组成的工作逻辑单元,这些语句要么全部执行成功,要么全部不执行。只有commit,rollback,或者关闭工具的情况下,事务才会结束。当一个事务结束之后,下一个可执行的SQL语句自动开启一个新的事务。
事务具有4个属性:原子性,一致性,隔离性,持久性。这里不具体说。
其它例子:示例
操作
查询postgreSQL默认的隔离级别:show default_transaction_isolation;也可以在数据库级别设置默认的隔离级别:#default_transaction_isolation = 'read committed'
检查当前隔离级别:show transaction_isolation;
修改当前事务的隔离级别,须在事物中执行:set transaction isolation level { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED };
修改当前会话默认的隔离级别:set default_transaction_isolation='repeatable read';
如果执行SET TRANSACTION之前没有 START TRANSACTION或者 BEGIN,它会发出一个警告并且不会有任何效果。
可以通过在 BEGIN 或者 START TRANSACTION中指定想要的transaction_modes来省掉 SET TRANSACTION。但是在 SET TRANSACTION SNAPSHOT 中该选项不可用
SET TRANSACTION transaction_mode [, ...]
SET TRANSACTION SNAPSHOT snapshot_id
SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]
其中 transaction_mode 是下列之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE
5.以下哪个数据字典可以追踪 vacuum 进程状态? D
D.pg_stat_progress_vacuum
解析:pg_stat_progress_vacuum是 VACUUM进度报告
6.PostgreSQL不能在事物块(BEGIN..END)中创建数据库、但可以在事快中更改数据库
是的
7.postgresql中、哪个参数控制着主进程是否启动 syslogger 辅助进程? B
A. log_destination
B. logging_collector
C. log_file_mode
D. log_connections
解析:logging_collector:启用日志收集器
log_destination: 记录服务器消息,错误报告和日志
log_file_mode (integer):当logging_collector被启用时,这个参数设置日志文件的权限
log_connections (boolean):记录每一次尝试对服务器的连接,客户端认证的成功完成也会被记录。
最后修改时间:2024-07-23 17:37:01
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




