查看原文
其他

【盘古云课堂&孙鑫联合出品】PostgreSQL能力与水平自测

孙鑫 盘古云课堂 2024-03-03
特别感谢
孙鑫@盘古云课堂 特邀高级讲师
亲情奉献

一、单选题
1、安装PostgreSQL会用到数据库中的压缩功能,这个功能需要第三方的压缩开发包支持,这个开发包是下面哪一个?
A.openldap
B.zlib
C.readline
D.gcc
2、如果想要方便地在psql中使用上下键翻查历史命令,需要安装什么开发包?
A.openldap
B.zlib
C.readline
D.gcc
3、在Linux中,设置环境变量PATH和LD_LIBRARY_PATH时,如果想对所有用户生效,需要将配置信息写到哪个文件中?
A./etc/profile
B..bashrc
C..bash_profile
D..profile
4、在Linux中,设置环境变量PATH和LD_LIBRARY_PATH时,如果想对当前普通用户生效,建议将配置信息写到哪个文件中?
A./etc/profile
B..bashrc
C..bash_profile
D..profile
解析:有时在图形界面下打开一个终端,.bash_profile不会生效
5、关闭数据库时,使用pg_ctl -m参数指定数据库的关闭方式,比较常用的关闭方式是哪种?
A.smart
B.fast
C.immediate
D.abort
6、SQL命令一般分为DQL、DDL、DML几类,SELECT查询属于哪一类?
A.DQL
B.DML
C.DDL
D.DCL
7、SQL命令一般分为DQL、DDL、DML几类,INSERT、UPDATE、DELETE属于哪一类?
A.DQL
B.DML
C.DDL
D.DCL
8、SQL命令一般分为DQL、DDL、DML几类,CREATE TABLE属于哪一类?
A.DQL
B.DML
C.DDL
D.DCL
9、SQL命令一般分为DQL、DDL、DML几类,INSERT INTO … SELECT属于哪一类??
A.DQL
B.DML
C.DDL
D.DCL
10、psql元命令\du和\dg都可以列出角色或用户,请问这两个命令是否等价?
A.等价
B.不等价
C.不好说
D.不确定
11、psql元命令\pset border 1表示什么?
A.表示输出的内容无边框
B.表示边框只在输出内容的内部
C.表示输出内容的内外都有边框
D.什么也不表示
12、PostgresSQL二进制数据类型的是哪个?
A.blob
B.bytes
C.raw
D.clob
13、使用CREATE DATABASE创建新数据库时指定字符编码ENCODING参数,请问需要指定哪个模板?
A.template0
B.template1
C.template0和template1均可以
D.template0和template1均不可以
14、删除数据库drop database加上参数if exists是什么意思?
A.强制删除该数据库
B.不显示报错信息
C.如果数据库不存在,该命令不报错
D.显示完整的报错信息
15、当我们创建一个新的数据库时,PostgresSQL都会自动创建一个名为什么的模式?
A.postgres
B.postgres
C.public
D.osdba
16、停止数据库时,最常用的停止模式是哪种?
A.smart shutdown
B.fast shutdown 
C.immediate shutdown
D.以上均不是
17、在PostgresSQL中的一条记录上,事务年龄不能超过多少?
A.2的16次方
B.2的31次方
C.2的64次方
D.2的63次方
18、在PostgresSQL中,请问SELECT操作时,是不是一定没有写磁盘的操作?
A.是
B.不是
19、在PostgresSQL中,表和索引的行数、块数等统计信息记录在哪个系统表中?
A.pg_statistic
B.pg_proc
C.pg_index
D.pg_class
20、在PostgresSQL中,除了表和索引的行数、块数等统计信息外,其他统计信息记录在哪个系统表中?
A.pg_statistic
B.pg_proc
C.pg_index
D.pg_class
21、在PostgresSQL中,参数默认的情况下,普通用户最多可建立多少个连接?
A.100
B.103
C.97
D.3
22、在PostgresSQL的内存配置项参数中,用于声明内部排序操作和Hash表在开始使用临时磁盘文件之前可使用的内存数目的参数是什么?
A.shared_buffers
B.temp_buffers
C.work_mem
D.autovacuum_work_mem

23、在PostgresSQL的日志配置项参数中,用于打开日志的参数是哪个?
A.log_destination
B.logging_collector
C.log_file_mode
D.log_filename
24、PostgresSQL数据库启动时,会先启动哪个进程?
A.BgWriter
B.postgres
C.Postmaster
D.PgStat
25、在PostgresSQL的以下索引中,最常见的索引并且适合处理等值查询和范围查询的索引是哪个?
A.B-tree
B.Hash
C.GiST
D.SP-GiST
E.GIN
26、在PostgresSQL的以下索引中,只能处理简单的等值查询的索引是哪个?
A.B-tree
B.Hash
C.GiST
D.SP-GiST
E.GIN
27、在PostgresSQL的以下索引中,下面哪个是反转索引?
A.B-tree
B.Hash
C.GiST
D.SP-GiST
E.GIN
28、PostgresSQL是否能够自动检测到死锁,然后退出其中一个事务?
A.是
B.否
29、PostgresSQL的时间类型是否可以精确到秒以下?
A.是
B.否
30、在PostgresSQL的几何类型的操作符中,二元运算符左值的类型可以是"point","box","path","circle",请问运算符的右值只能是什么类型?
A.point
B.box
C.path
D.circle
31、PostgresSQL数据库在客户端与服务器之间传递数据时,是否会进行字符集的转换?
A.是
B.否
32、PostgresSQL数据库中用于范围快速搜索的数据类型是哪个?
A.伪类型
B.位串类型
C.Range类型
D.JSON类型
33、在PostgresSQL的数值类型中,目前不支持的类型是什么?
A.枚举类型
B.组合类型
C.domain类型
D.自定义类型
34、PostgresSQL数据库中不能作为字段的数据类型是哪个?
A.位串类型
B.复合类型
C.伪类型
D.数组类型
35、PostgresSQL数据库是否支持裸设备和块设备?
A.支持
B.不支持
36、在PostgresSQL中,以下哪个不是块头记录的信息?
A.块的checksum值
B.空闲空间的其实位置和结束位置
C.特殊数据的其实位置
D.数据块的位置
37、在PostgresSQL中,行指针的结构不包括下面哪一个?
A.行内容的偏移量
B.行内容的位置
C.指针的标记
D.行内容的长度
38、在PostgresSQL中,下面哪个系统字段表示数据行在它所处的表内的物理位置?
A.ctid
B.xmin
C.oid
D.cmin
39、在PostgresSQL中,如一个事务失败,在数据文件中这个事务产生的数据会不会在事务回滚时被清理掉?
A.会
B.不会
40、在PostgresSQL的数据目录结构中,默认表空间的目录是哪个?
A.base
B.global
C.pg_tblsp
D.pg_log
41、在PostgresSQL的数据目录结构中,一些共享系统表的目录是哪个?
A.base
B.global
C.pg_clog
D.pg_xlog
42、在PostgresSQL的数据行中,不包括下面哪一个?
A.oid
B.ctid
C.checksum
D.hoff
43、在PostgresSQL中,使用命令analyze手工收集统计信息,收集后的结果保存在哪个系统表中?
A.pg_statistic
B.pg_stat
C.pg_index
D.pg_class
44、在PostgresSQL中,切换log日志文件到下一个的命令是什么?
A.select pg_reload_conf();
B.select pg_rotate_logfile();
C.select pg_switch_xlog();
D.checkpoint;
45、在PostgresSQL中,关于统计信息收集器的参数,哪个是控制是否收集表和索引上访问的统计信息参数?
A.track_activities
B.track_counts
C.track_functions
D.log_planner_stats
46、在PostgresSQL的pg_hba.conf文件中支持的认证方式很多,其中口令是以明文形式在网络上传递的方式是哪种?
A.md5
B.password
C.ident
D.ldap
47、在PostgresSQL的pg_hba.conf文件中支持的认证方式很多,其中表示无条件拒绝连接的方式是哪种?
A.trust
B.reject
C.MD5
D.ident
48、在PostgresSQL中,VACUUM和CREATE INDEX使用的内存是由哪个参数控制的?
A.shared_buffers
B.temp_buffers
C.work_mem
D.maintenance_work_mem
49、在PostgresSQL中,一个合理的shared_buffers开始值可以是物理内存的多少?
A.10%
B.25%
C.40%
D.60%
50、在PostgresSQL中,WAL日志保存在pg_wal中,每个wal文件默认是多大?
A.8MB
B.16MB
C.32MB
D.64MB
51、在PostgresSQL中,哪个参数控制着主进程是否启动SysLogger辅助进程?
A.log_destination
B.logging_collector
C.log_file_mode
D.log_connections
52、在PostgresSQL的ACID中,多版本并发控制(MVCC)维护的是什么
A.原子性
B.一致性
C.隔离性
D.持久性
53、在PostgresSQL中,下面哪个权限不能用GRANT来管理?
A.创建模式的权限
B.创建数据库的权限
C.在模式中创建数据库对象的权限
D.对表增删改查的权限
54、在PostgresSQL中,以下哪个权限不是创建用户时指定的权限?
A.超级用户的权限
B.创建数据库的权限
C.连接某个数据库的权限
D.是否允许LOGIN的权限
55、以下过于并发创建索引,说法错误的是?
A.并发创建索引的实现方式是在create index中加concurrently
B.在PostgresSQL中重建索引不支持concurrently
C.如果在并发创建索引的过程中被强制取消,这个索引也会随之删除
D.concurrently支持在同一个字段上建两个索引
56、在PostgresSQL中,创建索引的过程中,以下哪个操作可以正常运行?
A.增
B.删
C.改
D.查
57、以下关于索引的说法错误的是?
A.索引是数据库中一种快速查询数据的方法
B.索引中记录了表中一列或多列的值与其物理位置的对应关系
C.所以增加了数据库的存储空间
D.在插入和修改数据时索引不会更新,在收集统计信息时会自动更新索引
58、在PostgresSQL中,视图是否全部为只读的,不可更新的?
A.是
B.否
59、在PostgresSQL中,把表从一个表空间移动到另一个表空间会锁表吗?
A.会
B.不会
60、在PostgresSQL中,是否可以随时改变一个数据库的默认表空间吗?
A.是
B.否
61、在PostgresSQL中,使用 drop column删除一个字段时,如果这个字段被其他表引用,下面说法正确的是?
A.即使这个字段被其他表因为,也会成功删除
B.如果想删除外键依赖,需要使用cascade
C.即使使用cascade也不能成功删除这个字段
D.偶尔可以删除成功
62、在PostgresSQL的约束中,最常见的是哪种约束?
A.检查约束
B.唯一约束
C.主键
D.外键
63、在PostgresSQL的网络地址类型中,用于存储以太网的MAC地址的是什么?
A.inet
B.cidr
C.macaddr
D.mac
64、在PostgresSQL的几何类型中,最基本的类型是什么?
A.point
B.line
C.box
D.path
65、在PostgresSQL中,枚举类型的值大小写是否敏感?
A.是
B.否
66、在PostgresSQL中,参数lc_monetary与哪个数值类型有关?
A.浮点型类型
B.序列类型
C.货币类型
D.小数类型
67、在PostgresSQL的数值类型中,精确的小数类型可用什么表示?
A.smallint
B.numeric
C.real
D.serial
68、PostgreSQL中,假设test表中仅有一列(id int),下列语句可以执行成功吗?postgres=# insert into test values (1),(2);
A.可以
B.不可以
C.或许可以
69、如下命令中可以查看表结构的命令是()
A.\d
B.\d tab_name
C.\t
D.\t tab_name
70、下面语法中连接postgres数据库可以执行成功的是()
A.postgres=# \c postgres 5866 postgres 127.0.0.1
B.postgres=# \c postgres  5866 127.0.0.1 postgres
C.postgres=# \c postgres postgres  5866 127.0.0.1
D.postgres=# \c postgres postgres 127.0.0.1 5866
71、在PG中创建数据库时,默认是从哪个模板数据库中克隆出来的?
A.postgres
B.template0
C.template1
D.postgres
72、以下显示时间的方式,输出结果最详细的是()
A.select current_time;
B.select current_timestamp;
C.select current_date;
D.select current_second;
73、PostgreSQL关闭数据库的选项中,相当于Oracle shutdown immediate方式的是()
A.smart
B.fast
C.immediate
D.abort
74、PostgreSQL中search_path的默认格式是()
A."$user",public
B."postgres",public
C."test",public
D."schema",public
75、下列语句的执行效果是()revoke create on schema public from public
A.回收public用户在public模式下的create权限
B.回收所有用户在public模式下的create权限
C.该语句执行失败
D.该语句可以执行成功但没有任何效果
76、假设PostgreSQL数据库中没有触发器tttt,以下语句能够执行成功且不报错误的是()
A.drop trigger tttt ;
B.drop trigger tttt on  test;
C.drop trigger if exists tttt ;
D.drop trigger if exists tttt on  test;
77、执行如下语句,实际插入的值为:
BEGIN;
    INSERT INTO table1 VALUES (1);
    SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (2);
    ROLLBACK TO SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (3);
COMMIT;
A.1,2,3,
B.1,2
C.1,3
D.2,3
78、执行如下语句,实际插入的值为:
BEGIN;
    INSERT INTO table1 VALUES (3);
    SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (4);
    RELEASE SAVEPOINT my_savepoint;
COMMIT;
A.3
B.4
C.3,4
D.没有插入任何值
79、负责启动和关闭数据库实例的进程是()
A.postgres
B.postgresql
C.syslogger
D.psstat
80、psql元命令\gdesc的作用是?
A.显示最近一个查询的列名和列的数据类型
B.显示最近一个查询的列名
C.显示最近一个查询的列名、列的数据类型、结果返回行数
pg11中在psql中新增了\gdesc元命令
\gdesc用于显示最近一个查询的列名和列的数据类型
81、现有一个csv文件,记录数有5000万条,想导入满足特定条件的2000条记录,该怎么实现?
A.用OS命令在csv文件中找出这2000条记录,然后复制这2000条记录到新的csv文件中,然后用copy命令读取这个新的csv文件,执行导入过程。
B.因为pg11中copy命令可以带where条件,所以直接对这个5000万条记录的csv文件,带好where条件,用copy命令执行导入即可。
C.因为pg12中copy命令可以带where条件,所以直接对这个5000万条记录的csv文件,带好where条件,用copy命令执行导入即可。
psql -d postgres
psql (12.4)
Type 'help' for help.
postgres=# copy t_table from '/home/pg124/t_hash.csv' delimiter ',' where c1=5;
82、下面说法错误的是
A.在pg12中,可以使用pg_dumpall的选项排除掉不想备份的一个或者多个database
B.pg12的pg_dump可以实现一个insert对应多条记录值
C.pg12的oid2name命令增加了长名的选项
D.在pg12中,pg_dumpall的排除选项仅仅能排除掉一个不想备份的database

在pg12中,pg_dumpall新增了—exclude-database选项
pg_dumpall --exclude-database='testdb' --exclude-database='testdc' -f alldump_3.sql
83、在PG12中,想对system table进行alter table的前提条件是?
A.set allow_system_table_mods=on
B.设置配置参数allow_system_table_mods为on,然后pg_ctl reload
C.设置配置参数allow_system_table_mods为on,然后PG Instance重启
84、想在pg12中清理pg_stat_statements表中一部分数据,该怎么实现?
A.使用pg_stat_statements_reset(userid,dbid,queryid)函数
B.使用pg_stat_statements_reset(userid,dbid,pid)函数
C.使用pg_stat_statements_reset(0,0,0);

在pg12中,pg_stat_statements_reset函数新增了用于限制删除统计信息范围的参数
参数是按照userid、dbid、queryid进行统计信息的清理(这是参数的顺序,请遵守userid、dbid、queryid这个顺序),若是参数被忽略,那么意味着pg_stat_statements_reset函数会清理所有的统计信息。
85、想使用pg_dump命令导出某个partitioned table(即:主表)的数据,该怎么办?
A.无法实现
B.从pg11开始,pg_dump加--load-via-partition-root选项,可以满足本需求
C.从pg11开始,pg_dump不加--load-via-partition-root选项,可以满足本需求

pg11的pg_dump和pg_dumpall命令新增了--load-via-partition-root选项
86、下列说法正确的是
A.在pg12开始INSERT ON CONFLICT 语句支持partitioned table
B.pg12开始允许在分区级别进行分组或者聚集
C.pg11中引入了enable_partitionwise_join参数,实现分区级别的join
D.在pg12开始,触发器可以建立在partitioned table上

这四个新特性其实都是PG11的新特新
87、下面有关索引,正确的是
A.从pg12开始可以为函数索引的索引列指定STATISTICS
B.从pg12开始支持覆盖索引
C.pg11中的GiST index支持covering index

从PG11开始支持覆盖索引;pg12中的GiST index支持covering index
88、在PG11怎么指定wal文件的大小
A.通过initdb的参数--wal-segsize来指定的
B.通过configure的--with-wal-segsize参数来指定
C.通过configure的--wal-segsize参数来指定
89、在统计收集配置中参数track_io_timing的作用是?
A.允许监控当前被任意服务器进程执行的命令
B.控制是否收集关于表和索引访问的统计信息
C.启用对用户定义函数使用的跟踪
D.启用对块读写次数的监控
90、关于PostgreSQL防止在存储设备上造成数据损坏的措施,下列说法错误的是
A.用在大型 SQL 查询中排序的临时数据库文件、物化和中间结果也会写入WAL中
B.WAL 文件中的每一个记录都被一个CRC-32(32位)校验码所保护
C.目前数据页并没有默认地被校验,但是 WAL 记录中记录的整页映像将被保护
D.诸如 pg_xact 、 pg_subtrans 、 pg_multixact 、 pg_serial 、 pg_notify 、 pg_stat 、 pg_snapshots 等内
部数据结构既没有被直接校验,其页面也没有被整页写保护
91、以下哪个文件可以加快VACUUM清理的速度并降低对系统IO性能的影响()
A.12832
B.12832_fsm
C.12832_vm
D.12832_free
92、下列PG V10.0中,关于安全性、可靠性描述错误的是
A.支持SCRAM-SHA-256算法, SCRAM相比md5,可以避免因为数据库存储的加密秘钥泄露导致客户端可以篡改认证协议连接数据库的危险。
B.由于SCRAM和md5兼容,二者可同时使用
C.新增内置角色pg_backend_pid可用来取消、中止任何进程,不包含其他超级用户权限
D.提供了参数
allow_empty_deletes = true;
allow_empty_updates = true;
分别控制是否能执行不带条件的Update或Delete,可以设置为全局、会话级、用户级、库级、或者事务级别。
E.为Hash索引的操作加上了WAL支持,现在对Hash索引的创建、插入、分裂等操作都会记录WAL日志,数据库崩溃后可以用这些信息来恢复索引
93、关于EXPLAIN说法错误的是
A.EXPLAIN用于显示一个语句的执行计划
B.ANALYZE选项会导致该语句被实际执行
C.VERBOSE选项显示关于计划的额外信息
D.结果中显示的时间就是该语句实际运行所需的时间
94、在有多个流复制备库时,以下说法错误的是
A.主库事务将会等待,直到所有同步后备服务器都确认收到了数据为止
B.参数synchronous_standby_names可以指定同步备库的数量
C.synchronous_standby_names = 'FIRST 2 (s1, s2, s3)'表示在s1,s2,s3中随便选出两个作为同步后备
D.synchronous_standby_names = 'ANY 2 (s1, s2, s3)'表示在s1,s2,s3中随便选出两个作为同步后备
95、下列哪个参数在后备服务器上的设置不必大于等于主服务器
A.max_connections
B.max_prepared_transactions
C.max_locks_per_transaction
D.max_worker_processes
E.vacuum_defer_cleanup_age
96、在PostgreSQL流复制备机上,下面哪类命令可以执行
A.select 
B.create index
C.grant
D.vacuum
97、下面哪种方式不能监控PostgreSQL磁盘空间的方式
A.监控PostgreSQL的用户连接数
B.使用相关的SQL函数
C.使用oid2name模块
D.人工观察系统目录
98、假设表a通过逻辑复制发布,订阅端修改了表a中已经同步的数据,此时发布端再修改同样的数据,会出现的情况是?
A.发布端与订阅端都能正常修改
B.发布端与订阅端都不能修改
C.发布端能正常修改,订阅端不能修改
D.以上都不对,数据库会直接报错
99、关于逻辑复制,下面说法错误的是?
A.后备服务器必须作为一个超级用户或一个具有REPLICATION 特权的账户向主服务器认证
B.若要创建发布,用户不需要在数据库中具有CREATE权限
C.用户必须具有表的所有权才能发布该表
D.只在复制连接开始时检查权限,之后读取更改时不重新检查权限
100、下列PostgreSQL客户端应用中,说法错误的是
A.pg_restore 是一个用来从归档文件恢复 PostgreSQL 数据库的工具
B.pg_recvlogical 控制逻辑解码复制槽以及来自这种复制槽的流数据
C.pg_isready 是一个用来检查一个 PostgreSQL 数据库服务器的连接状态的工具
D.pg_basebackup 被用于获得一个正在运行的 PostgreSQL 数据库集簇的基础备份
101、对于pg_ctl说法错误的是
A.pg_ctl promote用于开始备库服务器的只读模式
B.pg_ctl init初始化一个数据库集群
C.pg_ctl register用以在Windows上注册PostgreSQL服务器为系统服务器
D.pg_ctl reload用于重新读取配置文件
102、下列哪项不是PostgreSQL优化器中的连接策略
A.NESTED LOOP
B.Cross Join
C.HASH JOIN
D.MERGE JOIN
103、下列PostgreSQL的系统视图中,记录排序规则的是
A.pg_am
B.pg_cast
C.pg_collation
D.pg_db_role_setting
104、关于PostgreSQL系统视图中,下列说法错误的是
A.pg_proc记录函数和过程
B.pg_publication记录逻辑复制的发布信息
C.pg_range记录范围类型的信息
D.pg_shdepend记录共享对象上的注释
105、备份文件osdba.dmp是由osdba库使用pg_dump备份而来,使用如下命令将把数据库恢复至哪个数据库中:pg_restore -d osdba2 osdba.dmp
A.osdba
B.osdba2
C.postgres
D.postgres
106、如果计划使用归档日志做增量恢复,需将wal_level的值设置为()
A.minimal
B.replica 或 archive
C.on
D.hot_only
107、pg如何实现表分区?
A.直接创建(v10) 或 继承(v9.6)
B.关联
C.子类
108、如何显示SQL执行的时间?
A.\t
B.\time
C.\time on
D.\timing 或者 \timing on
109、如果想设置pg归档,需要将wal_level设置为什么值?
A.minima
B.replica 或 archive
C.hot
D.on
110、在pg中,update操作默认是否是自动提交?
A.是
B.不是
C.不知道
D.看情况
111、假设在事务中设置了savepoint A,如何回滚到A?
A.rollback
B.commit
C.rollback to A
D.rollback to savepoint A
112、pg中的默认隔离级别为?
A.读未提交
B.读已提交
C.重复读
D.串行化
113、维护性操作(如VACUUM)使用的内存缓冲区为?
A.work_mem
B.临时缓冲区
C.maintenance_work_mem
D.共享内存

114、下列PG V10.0中,关于安全性、可靠性描述错误的是
A.支持SCRAM-SHA-256算法, SCRAM相比md5,可以避免因为数据库存储的加密秘钥泄露导致客户端可以篡改认证协议连接数据库的危险。
B.由于SCRAM和md5兼容,二者可同时使用
C.新增内置角色pg_backend_pid可用来取消、中止任何进程,不包含其他超级用户权限
115、关于PostgreSQL索引说法错误的是
A.在索引列上的IS NULL或IS NOT NULL条件可以在B-tree索引中使用
B.Hash索引只能处理简单等值比较
C.SP-GiST索引为支持多种搜索提供了一种基础结构
D.GiST索引不支持用户定义的索引策略
116、在PostgreSQL中,关于索引下列说法错误的是
A.一个B-tree索引可以用于条件中涉及到任意索引列子集的查询
B.与B-tree和GiST不同,BRIN 的搜索效率与查询条件中使用哪些索引列无关
C.一个多列GiST索引可以用于条件中涉及到任意索引列子集的查询
D.一个GIN索引可以用于条件中涉及到任意索引列子集的查询
117、pg中,MVCC的实现方式为?
A.写新数据时,将旧数据移到一个单独的地方
B.写新数据时,旧数据不删除。
C.pg中无MVCC实现
D.读不阻塞写
118、在PostgresSQL中,默认情况下EXPLAIN对于不同的操作输出的cost值,下面说法错误的是?
A.顺序扫描一个数据库,cost值定为1
B.随机扫描一个数据块,cost值定为4
C.处理一个数据行的CPU,cost为0.01
D.处理一个索引行的CPU,cost为0.005
119、对pg12中commit and chain描述正确的是
A.老事务提交,新开一个新事务后,这个新事务的transaction characteristics(如隔离级别)与老事务一致,只能用在transaction blocks中。
B.老事务提交,开始一个新事务后,新事务跟老事务没任何关系
120、怎么在PG Instance运行的时候去检查Page的checksum?
A.无法实现
B.pg_basebackup
C.pg_verify_checksums
121、有关vacuum命令的SKIP_LOCKED选项,描述正确的是
A.SKIP_LOCKED选项的作用是会跳过那些被lock住的table
B.SKIP_LOCKED选项的作用是会弹出提示,让dba决定是否继续
C.SKIP_LOCKED选项是从pg11就带有
D.SKIP_LOCKED选项的默认值是on
122、可以用下面的哪种方法来检查B-Tree索引的完整性
A.amcheck扩展
B.pageinspect扩展
C.citext扩展
D.ltree扩展
123、下面说法正确的是
A.pg12中explain语句的SETTINGS ON选项用于输出与执行计划(优化器)相关的并且非默认值的参数
B.在pg11中的postgres_fdw不能往远程的partition中插入数据、修改数据
C.从pg12开始,backup_label文件带有START TIMELINE
124、执行以上语句会?
CREATE TABLE products (
    product_no integer,
    name text,
    price numeric CHECK (price > 0) DEFAULT 0
);

A.建表成功,但插入数据时price列不能使用默认值
B.建表成功,插入数据时price列可以使用默认值
C.建表失败,提示默认值违反了约束条件
D.建表失败,提示语法错误
125、下面哪种数据类型计算是不准确的
A.real
B.numeric
C.integer
D.bigint

real和double
126、有关alter role用法不正确的是
A.更改角色的属性
B.可以更改角色的名称和密码
C.更改角色的配置变量的会话默认值
D.更改角色的配置变量的当前会话值
127、关于exists谓词说法正确的是
A.exists子句的返回值是一个结果集
B.exists子句只能是关联子查询
C.exists谓词前边可以有参数
D.exists谓词后面的参数通常是个子查询
128、对于PG V10的分区特性,说法错误的是
A.分区表功能是PG V10的新功能,此前的版本没有此功能
B.PG10的分区特性是在内置继承表的基础上实现的
C.PG10不支持哈希分区
D.PG10的分区表在建表语法上,主表和分区是单独创建的
129、PG V10的分区表中,记录主表信息的系统表为
A.pg_partitioned
B.pg_partitioned_table
C.pg_class
D.pg_statement
130、PG中,如果想在like语法中匹配%或者_,则可以在字符前加()进行转义。
A./
B.\
C.%
D.*
131、PG创建序列时加了cycle选项,当序列满时会报错。
A.正确
B.错误
C.不一定
132、外键的作用不包括?
A.保持数据的完整性
B.可以一定程度替代索引的作用
C.防止插入无效数据
D.保持数据的一致性
133、当多个事务同时运行时,一个事务可以看到另一个事务未提交的内容吗?
A.不能
B.可以看到
C.事务不能并行运行
D.如果两个事务同时操作一张表,可以看到

134、关于PostgreSQL的分区,下面说法错误的是
A.可以将常规表转换为分区表
B.不能将分区表转换为常规表
C.可以将子分区转换为独立的表
D.可以将包含数据的普通表或分区添加为分区表的分区
135、“DROP TABLE products CASCADE;”如另有一表order的外键基于表products创建,关于这条语句说法正确的是。
A.直接删除表products,不影响其他对象
B.直接删除表products,并且删除表order的外键约束。
C.直接删除表products,并会删除表order
D.不能删除表products,提示表order的外键依赖表products
136、关于子查询说法错误的是
A.子查询指定了一个派生表,它必须被包围在圆括弧里
B.子查询里面有分组或聚集的时候, 子查询不能被简化为一个简单的连接
C.一个子查询也可以是一个VALUES列表
D.子查询可以不使用别名
137、PostgreSQL中不支持的组合查询是
A.UNION
B.MINUS
C.INTERSECT
D.EXCEPT
138、关于with中的修改语句说法错误的是
A.可以在WITH中使用INSERT、UPDATE、DELETE
B.WITH中的数据修改语句通常具有RETURNING子句
C.数据修改语句中允许递归自引用
D.WITH中的数据修改语句只被执行一次,并且总是能结束
139、以下哪种类型只用于在内部系统目录中存储标识符并且不是给一般用户使用的
A.char
B.name
C.varchar
D.text
140、以下哪种不是PostgreSQL的几何类型
A.点
B.线段
C.椭圆
D.路径
E.多边形
141、关于set命令说法正确的是
A.set命令可以修改任何参数
B.set命令修改的参数会永久生效
C.set命令只影响当前会话使用的值
D.set与set session效果不同
142、关于reset命令说法正确的是
A.reset是set configuration_parameter to default的另一种写法
B.reset可以不加参数直接执行
C.reset与set相同,他们的效果都不会被事务回滚而撤销
D.reset的默认值是指在会话开始所设置的默认值
143、有关set transaction说法错误的是
A.可以设置隔离级别
B.可以设置事务的访问模式
C.此命令设置当前事务的特性,对后续事务的默认特性没影响
D.如果执行set transaction之前没有start transaction或者begin,会更改当前会话的事务属性
144、有关insert说法错误的是
A.如果列的表达式不是正确的数据类型,将会尝试自动类型转换
B.向表中插入语句时,需要对表有insert权限
C.插入的目标列的名称必须以固定顺序列出
D.若没出现在显式或隐式列列表中的列,都将被默认填充
145、对于delete,说法正确的是
A.delete语句必须有where子句
B.delete语句与truncate语句都是DDL语句
C.若在表名前加only选项,只会从提到的表中删除匹配的行
D.delete语句返回结果一定是语句所匹配的行数
146、对于truncate,说法正确的是
A.从pg11开始,truncate语句可以被pg逻辑复制捕获
B.一个truncate语句仅能清空一个表
C.truncate并没有立刻回收磁盘空间,后续需要VACUUM操作
D.truncate不会阻塞其他在该表上的并发操作
147、对于except关键字说法错误的是
A.使用except关键字做减法运算时,不管表的前后位置是否相同,得到的结果都是一致的
B.except是进行差集运算的
C.不同的数据库,使用差集运算关键字也是有差异的
D.使用except做差集运算,结果集的行数不一定会减少
148、关于子查询说法正确的是
A.子查询的结果集会永久保存
B.子查询原则上可以无限嵌套
C.标量子查询有可能返回多行多列的结果
D.仅能在where子句中使用标量子查询
149、ABS()是计算_____的函数
A.绝对值
B.加法
C.乘法
D.百分比
150、MOD()是计算_____的函数
A.绝对值
B.求余
C.百分比
D.乘法
151、若想拼接两个字符串,可以使用____
A.||
B.|
C.--
D.-
152、若想知道字符串的长度,可以使用
A.length
B.longth
C.long
D.leng
153、我们需要类型转换时,可以使用____函数
A.replace
B.substring
C.cast
D.upper
154、想使用like谓词查询出包含ddd字符串的值,可以通过____完成
A.%ddd%
B.%ddd*
C.%ddd_
D.*ddd*
155、关于postgresql中的CTE说法正确的是
A.结果集是永久保存的
B.with子句内,必须为CTE指定列字段列表
C.CTE以更加可读的方式组织了复杂查询
D.CTE不能用于递归查询
156、PG中可以无限变长的字符类型是
A.varchar
B.char
C.blob
D.text
157、关于窗口函数,说法错误的是
A.必须使用PARTITION BY关键字
B.对于RANK函数,计算排序时,如果存在相同位次的记录,则会跳过之后的位次
C.对于DENSE_RANK函数,计算排序后,即使存在相同位次的记录,也不会跳过之后的位次
D.对于ROW_NUMBER函数,是赋予唯一的连续位次
158、两个表联结时,结果集中保留重复行的关键字是
A.UNION
B.UNION ALL
C.left join
D.right join
159、有关alter system说法正确的是
A.只有超级用户能够使用ALTER SYSTEM
B.alter system会把给出的参数设置写入到postgresql.conf中
C.使用alter system更改的参数,都需要重启数据库来使其生效
D.alter system可以被回滚
160、下面哪个不是PostgreSQL中的数字类型
A.float
B.smallint
C.real
D.decimal
E.bigint
161、PG中,在事物中(begin块中)使用序列,当事物回滚后,序列会回滚吗?
A.会
B.不会
C.看情况
D.这种说法本身存在错误
162、IN谓词可以选取出NULL数据吗
A.能
B.不能
163、逻辑复制发布时不适用于下列哪类语句
A.insert
B.update
C.truncate
D.delete
164、有如下配置场景 postgresql.conf中work_mem = 4MB 用户a执行如下语句
"alter system set work_mem = '5MB';","select pg_reload_conf();" 用户b执行如下语句:"alter role all set work_mem = '6MB'","set work_mem = '7MB';" 则在用户a、用户b窗口下的work_mem分别为:
A.5MB,5MB
B.6MB,7MB
C.5MB,7MB
D.4MB,6MB
165、如在数据文件目录中存在3746数据文件,那么下列哪个文件不是可能同时存在的文件:
A.3746.1
B.3746_fsm
C.3746_vm
D.3746_xs
166、设置客户端远程能够以密码认证方式,以任一数据库用户连接任一数据库,应该在pg_hba.conf中添加如下那种配置
A.local all all trust
B.local all all md5
C.host replication all 127.0.0.1/32 ident
D.host all all 0.0.0.0/0 md5
167、对于pg_ctl -D $PGDATA stop -m immediate命令,下列说法正确的是
A.数据库关闭时会等待所有客户端连接断开
B.数据库关闭时会回滚未未完成的事务,并断开客户端连接
C.数据库关闭时会强制断开客户端连接,造成不干净的关闭
D.数据库无法关闭
168、About PG mem, Which is wrong
A.work_mem is shared
B.shared_buffer is shared
C.wal_buffer is shared
D.temp_buffers is private
169、Which type is not available
A.smallint
B.integer
C.decimal
D.number
170、PG要求s1,s2,s3都配置为同步备库,以下synchronous_standby_names配置不正确的是
A.s1,s2,s3
B.first 3(s1,s2,s3)
C.any 3(s1,s2,s3)
171、关于流复制,下列说法不正确的是
A.可以通过进程确定主库
B.可以通过数据库查询主库
C.通过查看控制信息确定主库
D.无法通过数据库函数确定主库
172、PG 逻辑结构中,那种描述不正确
A.一个实例可以有多个数据库
B.一个实例可以有多个schema
C.一个db可以跨多个实例
D.同一服务器,不同实例必须使用不同端口
173、关于pg_dump命令,下列描述错误的是
A.可以导出结构信息
B.可以导出用户信息
C.可以导出指定的模式信息
D.可以导出指定的表信息
174、PG数据库默认Segments大小
A.512MB
B.1GB
C.无限制
175、PG 数据库默认页大小是
A.512bit
B.4K
C.8k
D.2k
176、当更新一条数据时PostgreSQL内部对于多版本是如何操作
A.实际上是插入新行,把旧行上的xmax设置为当前事务id,新插入行的xmin设置为当前事务id,新行的xmax设置为0
B.实际上是插入新行,把旧行上的xmax设置为当前事务id,新插入行的xmax设置为当前事务id,新行的xmin设置为0
C.实际上是插入新行,把旧行上的xmax设置为0,新插入行的xmax设置为当前事务id,新行的xmin设置为0
177、PostgreSQL中如何取消一条运行时间很长的SQL
A.SELECT pg_cancel_backend(pid);
B.SELECT pg_kill_backend(pid)
C.SELECT pg_close_backend(pid);
178、当连接到PostgreSQL数据库时以下说法正确的是:
A.PostgreSQL会Fork出新的用户服务进程
B.PostgreSQL会从连接池中提供一个空闲连接供使用
C.PostgreSQL原生支持长连接不用每次创建新的连接
179、BgWriter进程是把共享内存中的脏页写到磁盘上的进程,下列说法正确的是
A.刷新过快会导致IO变多,刷新太慢会导致缓冲区空闲空间不够
B.设置bgwriter_delay使BgWriter每个运行周期之间的时间间隔越长越好
C.每一轮次要写的脏缓冲区的数目基于系统此时的脏页数目的多少
180、下列关于Schema的说法中错误的是
A.在同一数据库的不同Schema中可以创建同名的表
B.用户A是模式schema01的属主,他就可以在任何数据库中的schema01下创建表
C.创建数据库的同时,会默认创建名为public的Schema
D.数据库属于用户A,数据库下的Schema可以属于用户B
181、关于统计信息描述错误的是
A.统计信息辅助查询优化器选择最优的执行计划
B.统计信息地收集会影响数据库整体性能
C.统计信息影响数据库启动速度
182、下列三种索引的更新代价最小
A.GIN
B.SP-GiST
C.B-Tree
183、在c1属性上创建B树索引能提高SELECT * FROM t1 WHERE c1 = 10 ORDER BY c1 执行效率的正确原因是
A.数据都被缓存到内存当中了
B.能够通过索引减少IO次数并且避开了ORDER BY所需的排序操作,因为索引是有序的
C.使用到了索引覆盖
184、HASH索引适合与以下哪种查询
A.范围查询
B.函数查询
C.等值查询
185、PostgreSQL中逻辑层次关系 下列描述哪个是正确的
A.一个实例下可以有多个数据库
B.一个数据库可以在多个实例上
C.一个实例下只能有一个Schema
二、判断题
1、布尔类型只有两种状态
A.正确
B.错误
2、对于网络地址类型,可以使用相关操作符判断出包含哪些子网
A.正确
B.错误
3、PostgreSQL中为表的字段设置默认值后无法更改。
A.正确
B.错误
10、PostgreSQL中使用表继承时,修改子表数据,父表中无法查询修改后的值。
A.正确
B.错误
11、PostgreSQL中所有父表的检查约束和非空约束都会自动被所有子表继承。
A.正确
B.错误
12、PostgreSQL中分区表是采用表继承的方式实现的,分区表插入数据可以依赖触发器,也可以使用postgresql的规则来实现。
A.正确
B.错误
13、PostgreSQL中语句级触发器即使在没有更新到数据时,也会被触发。
A.正确
B.错误
14、一个pstgresql数据库服务下可以管理多个数据库。
A.正确
B.错误
15、PostgreSQL创建数据库时指定的connection linit参数对superuser不起作用。
A.正确
B.错误
16、PostgreSQL数据库没有监听程序。
A.正确
B.错误
17、PostgreSQL不能在事物块(begin--end)中创建数据库,但可以在事物块中更改数据库名。
A.正确
B.错误
18、PostgreSQL中jsonb类型支持在其上创建索引,而json不支持。
A.正确
B.错误
19、PostgreSQL中range类型不支持使用=或<>等操作符。
A.正确
B.错误
20、PostgreSQL中可以在线移动一个表至其他的表空间,而表不会加锁。
A.正确
B.错误
21、PostgreSQL中可以创建临时性视图,仅对当前会话生效,退出会话临时视图自动删除.
A.正确
B.错误
22、PostgreSQL高版本中对于简单视图可以进行增删改操作,同时修改基表数据
A.正确
B.错误
23、PostgreSQL中使用CONCURRENTRY选项创建索引时,允许增删改数据表。
A.正确
B.错误
24、PostgreSQL中支持如下方式创建索引:alter index t_i_2 rebulid;
A.正确
B.错误
25、PostgreSQL中支持在同一列中创建多个索引。
A.正确
B.错误
26、PostgreSQL中默认事物自动提交。
A.正确
B.错误

27、在模板数据库template1中,不可以创建、删除、更改对象。
A.正确
B.错误
28、PostgreSQL默认初始化数据库后,模板数据库template0和template1包含的内容是一致的。
A.正确
B.错误
29、union可以把结果集中相同的两条记录合并成一条,如若使用union all则不合并。
A.正确
B.错误
30、删除大表的情况下,truncate要比delete快。
A.正确
B.错误
31、PostgreSQL迁移或升级后的数据库blocksize大小可以不一致。
A.正确
B.错误
32、PostgreSQL源码安装对Linux系统包没有要求。
A.正确
B.错误
33、PostgreSQL仅支持源码安装
A.正确
B.错误
34、在同一台机器上安装了多个PostgreSQL数据库实例的情况下,多个实例之间可以共用一个5432端口。
A.正确
B.错误
35、PostgreSQL告警日志信息仅能保留7天,7天前的日志会被覆盖。
A.正确
B.错误
36、一个排序操作的单个SQL执行完毕后,work_mem内存空间会释放
A.正确
B.错误
37、PG中的savepoint在事物结束后仍然有效。
A.正确
B.错误
38、PG中使用两阶段提交功能,需要把参数max_prepared_transactions设置为非零值。
A.正确
B.错误
39、PostgreSQL由于多版本的实现,实际读取行数据时,并不会在行上执行任何锁(包括读锁)
A.正确
B.错误
40、如果在for update或for share中使用of tab_name明确指定了表名字,那么只有这些被指定的表会被锁定,其他在select中使用的表将不会被锁定。
A.正确
B.错误
41、使用JDBC连接PG数据库不需要libpq库,但使用ODBC连接PG数据库需要首选安装libpq库。
A.正确
B.错误
42、使用pg_dump/pg_restore备份/恢复数据库时,支持并行备份/恢复。
A.正确
B.错误
43、以下说法是否正确:在PostgresSQL9.3之后,PostgresSQL使用“mmap()”方式的共享内存。使用这种共享内存的好处是不再需要配置内核参数"kernel.shmmax"和"kernel.shmall"。
A.正确
B.不正确
44、pg_dump可以将数据库备份为自定义的归档格式,而pg_dumpall仅能备份为SQL脚本文件。
A.正确
B.不正确
45、PG中取消一个长时间执行的会话,pg_cancel_backend()和pg_terminate_backend()都会杀死进程的。
A.正确
B.错误
46、PG中,autovacuum可以自动地分析表,并收集表的统计信息
A.正确
B.不正确
47、PG中对于大表,ANALYZE会读取表的所有内容进行统计信息收集
A.正确
B.错误
48、PG中收集统计信息时,可以对表中某一列单独收集统计信息
A.正确
B.不正确
49、PG中不支持MVCC多版本并发控制
A.正确
B.错误
50、使用Heap Only Tuples技术后,如果更新后的新行与旧行在同一个数据块内,旧行会有一个指针,指向新行,这样就不必更新索引了,当从索引访问到数据行时,会根据这个指针找到新行。
A.正确
B.不正确
51、使用ANALYZE搜集统计信息时,会在表上加一个读锁,因此它可以和表上的其他SQL并发的执行。
A.正确
B.不正确
52、PG V10的范围分区中,分区的KEY值可由多个字段组成
A.正确
B.不正确
53、PG V10的列表分区中,列表分区的KEY值可由多个字段组成
A.正确
B.错误
54、PG中创建sequence时指定了owned to table.column,在drop table***cascade时,sequence不会被删除。
A.正确
B.错误
55、PG中的savepoint在事务结束后仍然有效。
A.正确
B.错误

三、多选题
1、UNION可以将两张表查询出来的数据整合在一个结果集下,如果这个结果集中有相同的记录,以下说法正确的是?
A.相同的记录合并成一条
B.相同的记录不会合并
C.使用UNION ALL可以将相同的记录合并成一条
D.使用UNION ALL可以使相同的记录不合并
2、下列说法正确的是?
A.TRUNCATE TABLE是DDL语句
B.TRUNCATE TABLE是DML语句
C.DELETE是DDL语句
D.DELETE是DML语句
3、psql命令列出数据库中的所有角色或用户的元命令?
A.\dr
B.\du
C.\dg
D.\dn
4、下来哪两个psql元命令执行结果相同?
A.\du和\dg
B.\dn和\n
C.\dl和\l
D.\dp和\z
5、数值类型存储空间是4个字节的有哪些?
A.int
B.integer
C.bigint
D.real
6、PostgresSQL数据库服务端不支持哪些汉字字符集?
A.GBK
B.UTF8
C.GB18030
D.以上均支持
7、以下说法正确的是?
A.不能在事务块中创建或删除数据库
B.可以在事务块中创建或删除数据库
C.不能在事务块中修改数据库
D.可以在事务块中修改数据库
8、pg_ctl是一个实用工具,以下哪些是pg_ctl的功能?
A.初始化PostgresSQL数据库实例
B.查看PostgresSQL数据库服务的状态
C.让数据库实例重新读取配置文件
D.在Windows平台下允许为数据库实例注册一个系统服务或取消一个系统服务

9、在PostgresSQL中,把参数分为以下几类,其中改变参数值后不需要重启数据库就能生效的有哪几类?
A.internal
B.postmaster
C.sighup
D.backend
10、在PostgresSQL中的多版本实现中用于控制数据行是否对用户可见的系统字段有哪些?
A.xmin
B.xmax
C.cmin
D.cmax
11、在PostgresSQL的连接配置项参数中,哪些参数与Windows无关?
A.unix_socket_directories
B.superuser_reserved_connections
C.unix_socket_group 
D.max_connections

12、在PostgresSQL的预写式配置项参数中,wal_level参数可选择的值有哪些?
A.min
B.archive
C.hot_standby
D.standby

wal_level支持minimal、replica、hot_standby、logical、archive
13、在PostgresSQL的pg_hba.conf文件中支持的认证方式很多,一般常见的有哪些方式?
A.trust
B.reject
C.MD5
D.ident
14、在PostgresSQL中,不同的编程语言使用不同的驱动程序连接到PostgresSQL数据库上,下面哪种连接方式不需要libpq库?
A.JDBC
B.ODBC
C..NET
D.Perl的DBD::pg
15、在PostgresSQL中,以下属于本地内存缓冲区的有哪些?
A.shared_buffers
B.temp_buffers
C.work_mem
D.maintenance_work_mem
16、PostgresSQL软件安装后的目录结构有哪些?
A.bin
B.data
C.lib
D.share
E.include
F.archive
17、在PostgresSQL中,支持以下哪些索引?
A.B-tree
B.Hash
C.GiST
D.SP-GiST
E.GIN
18、PostgresSQL提供了许多返回当前日期和时间的函数,其中能返回带有时区的函数是哪个?
A.CURRENT_TIME
B.CURRENT_TIMESTAMP
C.LOCALTIME
D.LOCALTIMESTAMP
19、在PostgresSQL的几何类型的操作符中,下面哪些属于二元运算符?
A.+
B.-
C.*
D./
20、在PostgresSQL中有哪些锁?
A.块级锁
B.行级锁
C.表级锁
D.库级锁
21、在PostgresSQL中,以下属于约束是?
A.主键
B.索引
C.ACID
D.外键
22、在PostgresSQL的数值类型中,不精确的数据类型有哪个?
A.numeric
B.real
C.double precision
D.serial
23、在PostgresSQL中,布尔类型可以使用的操作符是逻辑操作符和比较操作符,其中常见的逻辑操作符有哪些?
A.AND
B.OR
C.NOT
D.NULL
24、在PostgresSQL的数值类型中,以下属于整数类型的是?
A.smallint
B.int
C.bigint
D.tinyint
25、在PostgreSQL中显示命令执行的sql的方法有()
A.psql连接时添加-E参数
B.在psql中执行\set ECHO_HIDDEN ON
C.psql连接时添加-F参数
D.在psql中执行\set ECHO_HIDDEN OFF
26、PostgreSQL中的字符类型包含哪三种()
A.varchar(n)
B.char(n)
C.text
D.varchar2(n)
27、PostgreSQL中boolean类型的表示方法正确的有()
A.TRUE
B.FALSE
C.'true'
D.'false'
28、PostgewSQL中的几何数据类型可以支持()
A.点
B.线段
C.直线
D.圆
E.矩形
29、PostgreSQL中表和索引分别叫()
A.table
B.relation
C.row
D.tuple
30、下列语法正确的有()
A.alter database db_name rename to newname;
B.alter database db_name owner to newname;
C.alter database db_name set tablespace new_tbspace;
D.alter database db_name reset all;
31、下列依据模板创建表的方式中,不包含数据的有()
A.create table testd (like test) including all;
B.create table testc as select * from test with no data;
C.create table testb (like test); 
D.create table testd (like test including all);
32、PostgreSQL中的约束有以下几类()
A.检查约束
B.非空约束
C.唯一约束
D.主键约束
E.外键约束
33、有关^@运算符的描述,下面正确的有
A.^@运算符不支持B-Tree索引,支持SP-GiST索引
B.该运算符的作用与like '查找关键字%'相同
C.该运算符的作用与like '%查找关键字'相同
D.该运算符的作用与like '%查找关键字%'相同

pg11新增了^@运算符
^@运算符的作用见下:
select *from pg_user where usename like 'pg%';
select *from pg_user where usename ^@'pg';
注意点:
^@运算符不支持B-Tree索引,支持SP-GiST索引,
like运算符是支持B-Tree索引的
34、下列Procedure说法正确的是
A.PG12新加了Procedure这个数据库对象
B.在procedure中允许出现commit 或者rollback
C.procedure可以返回value

PG11中新加的procedure对象,其实就是存储过程(stored procedure),大家知道,pg10及更老版本中只有function。那么procedure和function的区别如下:

在function中不允许执行事务,也就是在function中不允许出现commit 或者rollback
在procedure中可以执行事务,也就是在procedure中允许出现commit 或者rollback

function不能返回value
procedure可以返回value,通过output parameter的形式。
35、下面关于分区表在pg12下说法正确的是
A.在pg12的psql中可以使用\dP和\dP+显示分区的relation(table和index)
B.针对分区表,在pg12的\d命令可以明确显示是分区表
C.pg12的pg_upgrade命令的--clone选项仅仅针对某些特定版本的文件系统才支持
36、有关pg12的pg_checksums命令,下面描述正确的是
A.本命令是对pg11中pg_verify_checksums命令的改进
B.检查checksum的完整性以及启用与禁用PGDATA的checksum
C.必须先正常关闭才能正常使用pg_checksums命令
D.当$PGDATA没有启用checksums时,可以使用pg_checksums 命令去启用checksum
E.可以在PG instance运行时去正常使用pg_checksums命令

本命令是对pg11的pg_verify_checksums命令的改名,
作用是检查checksum的完整性以及启用与禁用PGDATA的checksum

必须先正常关闭才能使用pg_checksums命令
37、有关pg_ctl的logrotate选项,下面描述正确的是
A.该选项的作用是新生成一个运行日志
B.可以带-s运行,即:pg_ctl logrotate -s
C.可以不带-s运行,即:pg_ctl logrotate
38、pg12中pg_basebackup命令的-R选项的描述正确的是
A.带-R选项后,备份文件中带有standby.signal文件
B.带-R选项后,postgresql.auto.conf文件中含有primary_conninfo参数
C.-R选项已经没有任何意义,因为recovery.conf文件在pg12中已经废弃

在pg12中pg_basebackup命令的-R选项与PG11有所不同
第一:备份文件中带有standby.signal文件
第二:postgresql.auto.conf文件中含有primary_conninfo参数
39、关于pg12下面说法正确的是
A.在pg12中,可以在每个connection上设置wal_sender_timeout参数
B.在pg12中Log_connections设置为on时,会将application_name输出到pg的运行日志中
C.ssl_library参数用于指示提供SSL特性的library name

在pg12中,可以在每个connection上设置wal_sender_timeout参数
Allow the streaming replication timeout (wal_sender_timeout) to be set per connection (Takayuki Tsunakawa)
wal_sender_timeout参数默认值是60秒,不带单位时,默认的单位是milliseconds

在pg12中Log_connections设置为on时,会将application_name输出到pg的运行日志中

在pg12中ssl_library参数用于指示提供SSL特性的library name
40、有关pg_ls_archive_statusdir函数描述正确的是
A.用于获得归档wal文件的状态
B.本函数查找${PGDATA}/pg_wal/archive_status目录并输出filename、size、modification date
C.本函数需要superuser或者赋予pg_monitor角色之后才能使用

在pg12中新增了pg_ls_archive_statusdir函数用于获得归档wal文件的状态
本函数查找${PGDATA}/pg_wal/archive_status目录并输出filename、size、modification date
pg_ls_archive_statusdir函数需要superuser或者赋予pg_monitor角色之后才能使用。
41、下面对index_cleanup描述正确的是
A.在pg12中,vacuum 可以通过index_cleanup选项跳过对index的清理
B.在pg12中可以在create table语句中定义存储参数vacuum_index_cleanup是否对本表的index进行清理
C.启用index_cleanup的副作用是会引起index的膨胀
D.如果vacuum不带INDEX_CLEANUP选项,vacuum会参考该表的VACUUM_INDEX_CLEANUP属性

在pg12中vacuum带有INDEX_CLEANUP选项

通过指定INDEX_CLEANUP选项,可以禁止vacuum处理index,如果vacuum不带INDEX_CLEANUP选项,vacuum会参考该表的VACUUM_INDEX_CLEANUP属性。
42、对pg12中alter type add value语句的相关描述正确的是
A.在pg12中可以在一个事务内执行alter type add value语句
B.在pg12中不能在一个事务内执行alter type add value语句
C.在一个事务中新加的type无法在该事务内使用

在pg12中可以在一个事务内执行alter type add value语句,但是用该语句新加的type无法在该事务内使用
43、下面有关对column_column_usage系统表的描述,正确的是
A.该系统表是pg12新引入的
B.该系统表存储了生成列的相关信息
C.该系统表在pg_catalog这个schema下
D.该系统表在information_schema这个schema下

column_column_usage系统表存储了生成列的有关信息
44、对PG11的pg_basebackup,下面描述正确的是
A.pg_basebackup备份TEMPORARY table和 UNLOGGED table
B.pg_basebackup不备份TEMPORARY table
C.pg_basebackup备份UNLOGGED table
D.pg_basebackup备份TEMPORARY table
E.pg_basebackup不备份UNLOGGED table

在pg11中,pg_basebackup的备份文件中不包括TEMPORARY table和 UNLOGGED table
45、关于pg11下面说法正确的是
A.pg11的pg_basebackup命令新增了--create-slot选项,用于备份完成后将复制槽保留下来
B.pg11的pg_dump命令新增了--no-comments选项,用于不将comments写入dump文件
C.pg11的pg_dumpall命令带有--encoding 选项 (或者-E参数),用于定义导出数据时使用的字符编码

pg11的pg_basebackup命令新增了--create-slot选项(-C选项)
该选项用于创建一个复制槽,--create-slot选项之后会带有一个--slot选项以指定复制槽名称。
当pg_basebackup --create-slot --slot=test_back_1备份完成之后,指定的复制槽还是会保留下来。

pg11的pg_dump命令新增了--no-comments选项
该选项的作用是不将comments写入dump文件中

pg11的pg_dumpall命令带有--encoding 选项 (或者-E参数)
用于定义导出数据时使用的字符编码。
46、对psql中的查询结果不想分页显示,有哪些方法可以实现?
A.设置OS的环境变量PSQL_PAGER,见下:export PSQL_PAGER=''
B.设置OS的环境变量PSQL_PAGER,见下:export PSQL_PAGERS='NO'
C.在psql中执行\pset pager off
D.设置OS的环境变量PAGER,见下:export PAGER=''
E.设置OS的环境变量PAGER,见下:export PAGERS='NO'

在pg11中新增了export PSQL_PAGER环境变量.
该环境变量用于设置psql查询结果的分页符,
export PSQL_PAGER=‘’表示在psql中直接输出结果,不需要分页符
有关分页符生效的先后顺序为先PSQL_PAGER,再PAGER,最后是\pset pager
47、有关存储过程的描述正确的是
A.执行存储过程的方法是:call 存储过程名字('参数');
B.可以使用psql的\sf元命令去查看存储过程的定义
C.可以使用psql的\df元命令去查看存储过程的定义
D.当存储过程中引用的table不存在时,存储依然可以建立,只是会在执行存储过程时报错

体会1:
可以看到,存储过程可以建立,并且建立存储过程时不报错,但是执行报错,因为test1表是不存在的。
这一点是与Oracle不同的,在Oracle中若是test1表不存在,在创建此存储过程时,Oracle会带有编译性的警告。但是PostgreSQL无警告。

体会2:
用\sf命令查看存储过程的定义:

体会3:
执行存储过程的命令是: 
call 存储过程名字('参数');
或者
call 存储过程名字();

体会4:
在create/alter trigger语句中可以带procedure
48、下列哪三个role是在pg11中新增的role
A.pg_execute_server_programs
B.pg_read_server_files
C.pg_write_server_files
D.pg_execute_server_program
E.pg_read_server_file
F.pg_write_server_file
49、下列说法正确的是
A.在pg11中,可以在partitioned table上建立Foreign Key
B.在pg11中引入了partition pruning
C.在pg12开始逻辑复制支持truncate语句的同步
D.在pg11中当含有default值以及not null值的列新增时不实际更新列值

50、下列pg_verify_checksums命令说法正确的是
A.pg_verify_checksums命令用于检查page的checksum值
B.pg_verify_checksums命令可以检查某个表文件的checksum值
C.可以在PG实例打开时运行pg_verify_checksums命令
D.在PG11中,pg_verify_checksums命令使用的前提是initdb建库时带-k或者--data-checksums
51、在PostgresSQL 的预写式配置项参数中,wal_level参数可选择的值有哪些?
A.replica
B.  minimal
C.hot
D.Logical

wal_level支持minimal、replica、hot_standby、logical、archive
52、以下属于pg逻辑备份的有?
A.pg_dump
B.pg_dumpall
C.LVM快照
D.PITR
53、子表会继承父表的哪几类约束?
A.唯一约束
B.检查约束
C.非空约束
D.主键约束
54、PG V10.0中将加入内置分区表的功能,依旧使用了继承的特性,以下相关特性表述正确的是。
A.分区表不支持全局索引,因此无法实现全局的唯一约束
B.更新数据时不能导致数据跨区移动,否则会报错
C.修改主表的字段名、字段类型时,会自动同时修改所有的分区
D.TRUNCATE 主表时,会清除所有继承表分区的记录(如果有多级分区,也会一直级联下去);
E.目前支持分区表的ON CONFLICT .. DO NOTHING ,暂时还不支持ON CONFLICT .. DO UPDATE

注:E选项不知道对不对
55、PG V10.0增加了对后台运行的支持,提供了三个SQL函数,其功能描述正确的是
A.pg_background_launch : 开启后台work进程与会话,执行用户提供的SQL,返回后台会话的PID
B.pg_background_result : 根据提供的PID,返回这个后台会话执行SQL的结果
C.pg_background_detach : 根据提供的PID,返回这个后台会话执行SQL的结果,同时关闭这个后台进程
D.pg_background_result还会返回执行所用的时间
56、在PostgresSQL V10的预写式配置项参数中,wal_level参数可选择的值有哪些?
A.replica
B.minimal
C.hot_standby???
D.logical

V10 没有hot_standby 和archive ???不过也可以写
57、下列哪些不是事务管理命令
A.declare
B.begin
C.fetch
D.end
E.abort
58、PostgreSQL中因流复制造成的主备冲突包括哪几种情况?
A.在主服务器上取得了访问排他锁,包括显式 LOCK 命令和多种 DDL 动作,与后备查询中的表访问冲突
B.在主服务器上删除一个表空间与使用该表空间存储临时工作文件的后备查询冲突
C.在主服务器上删除一个数据库与在后备服务器上连接到该数据库的会话冲突
D.从 WAL 清除记录的应用与快照仍能“看见”任意要被移除的行的后备事务冲突
E.从 WAL 清除记录的应用与在后备服务器上访问该目标页的查询冲突,不管要被移除的数据是否为可见
59、典型的逻辑复制用例包括哪些?
A.增量同步
B.将多个数据库数据同步到一个数据库中
C.不同版本间的PostgreSQL进行同步
D.为不同用户组提供不同的复制数据
60、下列哪些是逻辑复制的限制?
A.不能复制DDL
B.不能复制序列
C.不能复制Truncate???Pg11
D.不能复制大对象
E.不支持视图、物化视图、分区表、外部表
61、分区表中,可以使用什么方法使数据从主表重定位到子表?
A.触发器
B.规则
C.继承
D.直接插入子表
62、关于vacuum与vacuum full的说法,正确的是
A.vacuum和vacuum full均可与dml语句并行运行,但不能与ddl语句并行运行
B.vacuum可以与dml、ddl并行运行,vacuum full不可以
C.vacuum可以与dml并行运行,但不能与ddl并行运行
D.vacuum full不能与dml、ddl并行运行
63、哪些是连续归档和时间恢复点(PITR)的优点
A.不需要一致的文件系统备份作为开始点
B.可以通过简单的归档WAL文件达到连续备份
C.可以在任意点停止重放WAL
D.可以针对支持PostgreSQL数据库中任何一个子集进行重放
64、逻辑复制发布时适用于下列哪类语句
A.insert
B.update
C.truncate???
D.delete
65、关于PG 12内置分区表,以下相关特性表述正确的是。
A.实现了全局的唯一约束
B.更新数据可以实现数据跨区移动
C.修改主表的字段名、字段类型时,会自动同时修改所有的分区
D.TRUNCATE 主表时,会清除所有继承表分区的记录(如果有多级分区,也会一直级联下去);
66、PG11中有关partition的新特性描述正确的是
A.pg11新增了hash partition
B.pg11中可以建立default partition
C.pg11中可以对partition key进行更新
D.pg11中在partitioned table(主表)上建立索引,索引会自动建立在partition(子表)上
E.pg11中可以在partitioned table上建立unique constraints
F.在pg11中attach分区时,会自动给该新分区建立唯一约束和索引
67、有关PG在Windows平台上使用LargePages(即HugePages)的说法正确的是
A.从pg12开始支持在Windows平台使用LargePages
B.使用前提是需要关闭Windows UAC
C.需要将Windows服务中的postgresql数据库服务改为手动
D.需要在windows组策略编辑器,赋予运行PostgreSQL的操作系统用户'锁定内存页'的权力
E.当在Windows平台上开启大页的情况下,只能以管理身份从Windows的cmd启动PG,也就是用类似如下的命令pg_ctl start -D E:\postgresql\data

注:从pg11开始支持在Windows平台使用LargePages
68、有关toast_tuple_target,下面说法正确的
A.toast_tuple_target是在pg11中新增的存储参数
B.toast_tuple_target是在pg12中新增的配置参数
C.当tuple length长度超过toast_tuple_target时就会compress和/或者move字段值
69、想要重新设置PG11数据库的wal大小,下面说法正确的是
A.不用停止数据库运行就可以调整wal的大小
B.需要使用pg_resetwal去调整wal大小
C.必须停止数据库运行才可以调整wal的大小
D.调整后的效果可以从pg_controldata中查询
70、关于pg_internal.init文件的描述,正确的是
A.从pg12开始,在pg_basebackup的备份文件中不包括pg_internal.init文件
B.当PG 实例重启之后,本文件会被重新创建
C.本文件是系统信息的缓存文件
D.本文件存在于$PGDATA/global目录下及$PGDATA/base/<db_oid>目录下
71、下面的描述,正确的有
A.pg_stat_progress_cluster用于显示cluster语句或者vacuum full语句的执行状态
B.pg_stat_progress_create_index用于显示create index语句的执行状态
C.pg_stat_gssapi用于显示connections是否使用GSSAPI authentication与encryption信息
D.可以用普通用户去查询pg_statistic_ext_data系统表
72、下面对pg_stat_database的描述,正确的是
A.pg_stat_database系统表中checksum_failures列的含义是检测到的corrupted blocks的数量
B.当checksum error被检测到之后,checksum_failure的列值就会被更新一次(该列说白了就是检测到checksum error的次数),该列不代表corrupted blocks的数量。
C.pg_stat_database系统表中checksum_last_failure列的含义是:最后一次checksum_error被检测到的时间
D.pg_stat_database系统表中datid=0的行是与数据库无关的全局对象信息
73、对MCV(Multi-Column-Values)统计信息,描述正确的是
A.mcv用于记录出现频率最高的值的组合
B.mcv存储了实际值,因此,可以更为精确的判断where条件的组合的预计返回记录数
C.mcv可以处理非等值的where条件
D.mcv仅仅能处理等值的where条件
74、下面对于生成列的功能,描述正确的是
A.在insert语句和update语句中,不能为GENERATED column(生成列)指定value,除了default关键字
B.B.GENERATED column(生成列)的列值是物理存储在table中的
C.GENERATED column(生成列)不能作为partition key
D.不能定义一个基于其他GENERATED column(生成列)的GENERATED column(生成列)
E.在insert语句和update语句中,能为GENERATED column(生成列)指定value,除了default关键字

75、下面对pg12中的partitioned table描述正确的是
A.partition table的for values子句可以用公式,并且公式的计算是在create table时执行的
B.在pg12中,foreign key仅仅可以参照partitioned table,不可以参照partitioned table中的partition
C.在pg12中,建立partitioned table时支持tablespace关键字
D.在pg12中,foreign key可以参照partitioned table
76、有关REINDEX语句和CONCURRENTLY关键字的描述,正确的是?
A.REINDEX CONCURRENTLY语句的实现原理是通过临时建立一个新索引({index_name}_ccnew)随后用old_index名字替换的方式进行的.
B.REINDEX CONCURRENTLY 语句会消耗额外的cpu、memroy、io资源,
C.REINDEX CONCURRENTLY 语句在执行时,不阻塞写也不阻塞读。
D.针对temporary tables,reindex总是non-concurrent
E.REINDEX SYSTEM命令支持CONCURRENTLY
F.REINDEX CONCURRENTLY可以在事务块内执行
77、有关vacuum命令的TRUNCATE选项,描述正确的是
A.当vacuum(TRUNCATE off)时,vacuum不会对该table中尾部的free area区域进行回收
B.若是vacuum不带truncate选项,那么需要看该table的VACUUM_TRUNCATE属性设置,进而确定是否对该table中尾部的free area区域进行回收
C.从pg11开始,vacuum带有truncate选项
注:从pg12 vacuum带有truncate选项
78、下面有关partition函数的说法正确的是
A.pg_partition_tree函数,返回分区表详细信息,例如分区名称、上一级分区名称、是否叶子结点、层级,层级为零表示顶层主表。
B.Pg_partition_root函数用于查询出分区表顶层主表的名字
C.pg_partition_ancestors返回上层分区名称,包括本层分区名称。
79、有关plan_cache_mode参数,描述正确的是
A.设置prepared statements的执行计划是否cache起来
B.在默认情况下,如果相同的SQL Statement执行到第六次时,执行计划被cache起来
C.当plan_cache_mode配置参数设置为force_custom_plan时,立即启用执行计划缓存
D.当plan_cache_mode配置参数设置为force_generic_plan时,会关闭执行计划缓存
80、有关对Data_sync_retry参数的描述,正确的是
A.本参数默认值是off
B.当Data_sync_retry=off时,如果flush 修改过的data files到文件系统时flush失败,PostgreSQL会抛出一个PANIC级别的error,然后PostgreSQL instance会Crash
C.当Data_sync_retry=on 时,PostgreSQL会报告一个error,但是会继续运行,以便data在后面的checkpoint中进行尝试flushing data
81、下面对pg12的pg_restore的-f选项,描述正确的是
A.该选项的作用是生成restore脚本
B.该选项的作用是与-l参数联合使用,查看dump文件中的内容
C.该选项用于指定备份文件的完整路径和名称
82、在pg12中,想把psql中的查询结果输出为csv格式,有几种方法
A.psql -d postgres --csv
B.使用\pset format csv进行设置
C.使用\pset csv_fieldsep进行设置
83、PG中,在使用like操作符时,分别代表1个和多个字符的符号是()
A.%
B.?
C._
D.-
84、“...FROM ONLY cities…”上面语句中的ONLY关键词可以用在哪些命令中?
A.select
B.delete
C.update
D.drop
E.truncate???
F.merge

85、SQL标识符和关键词可以以哪些符号开始?
A.字母(a-z,也可以是带变音符的字母和非拉丁字母)
B.数字(0-9)
C.下划线(_)
D.美元符号($)
86、子分区可以有自己的?
A.索引
B.约束
C.默认值
D.主键
87、哪些是PostgreSQL分区表的限制?
A.不能创建全局索引,只能在每个子分区上单独创建索引 pg12
B.不支持主外键 pg12
C.唯一或排除约束只能在单个子分区上创建,不支持在整个分区表中创建唯一约束或排除约束
D.分区表不是临时表,子分区也一定不是。
88、在PostgreSQL中,可以加快大量插入数据速度的措施为
A.使用COPY命令
B.移除表上索引和外键
C.增加maintenance_work_mem
D.增加max_wal_size
E.禁用 WAL 归档和流复制
89、事务相关的命令有
A.begin
B.commit
C.savepoint
D.abort
90、下面关于表联结,说法正确的是
A.左外联结和右外联结得到的结果可能不同
B.内联结和外联结得到的结果集可能不同
C.外联结得到的结果集一定比内联结得到的结果集多
D.外联结需要区分主表外表
91、postgresql中采用三值的逻辑系统,三值包括:
A.TRUE
B.FALSE
C.null
D.not null
92、表示不等于的操作符有
A.<>
B.!=
C.><
D.!
93、PG中访问外部数据的方法有()
A.FDW外部数据包装器
B.Server外部数据服务器
C.用户映射
D.外部表
94、上面语句中有几种约束?
CREATE TABLE products (
 order_id         integer PRIMARY KEY,
 product_no       integer REFERENCES products (product_no),
 name             text    NOT NULL,
 price            numeric CHECK (price > 0),
 discounted_price numeric CHECK (discounted_price > 0),
 CHECK (price > discounted_price)
);

A.主键
B.非空约束
C.排他约束
D.检查约束
E.唯一约束
95、下列哪些操作符是对NULL使用的
A.IS NULL
B. IS NOT NULL
C.=
D.<>
96、在PG中的数字类型,可变精度的有
A.decimal
B.numeric
C.real
D.double precision
97、关于索引,以下说法正确的是:
A.正常创建索引会阻塞其他链接对表的写入操作,为了降低影响,我们需要使用CONCURRENTLY
B.hash index仅支持等值查询,所以需要谨慎使用。
C.brin索引适合流式入库,范围查询的场景。
D.在pg11中,可以直接执行reindex CONCURRENTLY,这样不会影响表的数据写入。
98、下列那种测试工具支持pg的性能测试?
A.pgbench
B.benchmarksql
C.sysbench
D.Linux的dd命令
99、下列的哪些架构实现pg的高可用?
A.patroni + zookeeper(etcd) + postgresql + vip
B.repmgr + postgresql + vip
C.pacemaker + corosync + postgresql +vip
D.stolon + etcd +postgresql + vip
100、下列说法正确的
A.work_mem用于内部排序
B.maintenance_work_mem声明在维护性操作时单个维护进程可以使用的最大内存,如vacuum,create index。
C.wal_buffer用于存放wal的磁盘页面缓冲区的共享内存量
D.effective_cache_size对写入数据影响很大,建议调整为内存总数的1/4
101、下列描述,正确的是
A.如果需要搭建流复制集群,必须要配置synchronous_standby_names参数。???
B.如果要备库支持查询,需要启用hot_standby参数。
C.wal sender 进程和wal receiver进程是实现postgresql复制(streaming replication)的进程。
D.流复制集群可以支持表级别的复制。
102、关于下列描述,错误的是:
A.PostgreSQL执行delete操作并没有真正的删除旧行,而是在旧行上打了一个"删除标签",然后插入新行。
B.PostgreSQL执行update操作时会有两个操作,一是会把修改本身写入redo,二是会让这个数据块被记录到undo。
C.PostgreSQL对于这种无回滚段的多版本实现方式做了很多的优化,如HOT(heap only tuple)技术。
D.在频繁更新的表时,应该调整fillfactor参数更高些,这样会提高DB的更新效率。
103、以下哪个选项是pg11的版本新特性?
A.支持hash分区
B.内置逻辑复制
C.新增非空默认值字段不需要重写
D.initdb/Pg_resetwal支持修改WAL文件大小

注:从pg10 开始支持内置逻辑复制
104、关于数据库的目录结构,下列描述正确的是()
A.base目录存放默认的表空间pg_default。模板数据库和其他没有显式赋予表空间的数据库都存放在这个目录中。
B.pg_clog存放事务提交日志数据。这些数据文件主要由VACUUM读取,一旦这些数据文件没用了就会被移除。如果你在禁用文件系统缓存的文件系统上挂载数据库,这个目录会造成PostgreSQL不能正常工作。
C.当你创建新的表空间,符号链接会保存在 pg_tblspc中。
D.事务提交日志数据存放在pg_clog/pg_wal中。

105、关于以下进程的描述,正确的是()
A.postgres常驻进程,也被称作'postmaster',主要负责fork其他后端进程和处理来自前端的连接。
B.Writer process 主要负责把共享内存上的WAL缓存在适当的时间点往磁盘写,通过这样,可以减轻后端进程在写自己的WAL缓存时的压力,提高性能
C.Archiver process 负责把WAL日志转移到归档日志里。
D.autovacuum worker process进程实际执行vacuum的任务。有时候会同时启动多个vacuum进程
注:WalWriter预写式日志写进程
106、pg11支持那些分区类型?
A.hash partitioning
B.list partitioning
C.RANGE partitioning
D.KEY partitioning
注:pg12支持key 分区
107、执行计划的代价是以哪些参数为基础计算的
A.seq_page_cost
B.random_page_cost
C.cpu_tuple_cost
D.vacuum_cost_limit
108、执行计划中不走索引的原因有哪些
A.统计信息不准确
B.random_page_cost设置过大
C.random_page_cost设置过小
D.索引字段上重复值过多选择性不好
109、在生产系统中重建索引的优化方法是
A.先用CREATE INDEX CONCURRENTLY创建一个不同名称的索引,然后再将之前的索引删除
B.使用命令REINDEX重新索引
C.将maintenance_work_mem增大以加快索引的创建
110、关于创建B-Tree索引描述正确的是
A.重复值越多的越适合创建
B.重复值越少越适合创建索引
C.可用于等值查询
D.可用于范围查询
111、查看统计信息相关内容可以查看以下哪些表
A.pg_stats
B.pg_stat_activity
C.pg_analyze
D.pg_class
112、PostgreSQL采用多进程方式的好处是
A.单个进程崩溃不会影响其他进程
B.多进程可提高对CPU的使用率
C.能有效处理长连接问题
113、关于pg_stat_activity系统表说法正确的是
A.可以查看到连接的状态信息
B.可以查看到连接执行的SQL语句文本
C.可以查看到事务的开始时间
114、表中一定存在的系统属性有哪些
A.xmin
B.xmax
C.oid
D.ctid
115、PostgreSQL中行锁是哪两种?
A.共享锁
B.意向锁
C.排它锁
D.间隙锁
116、关于pg_restore恢复命令说法正确的是
A.恢复时可以指定只恢复数据
B.恢复时可以指定创建对象之前先进行删除操作
C.只能恢复全库不能指定恢复单独的表

特别说明:
因水平有限,难免疏漏错误,欢迎大家批评指正
编者邮箱:Sunxin@PostgreSQL.cc
如需引用,请注明来自“ 孙鑫@盘古云课堂 特邀高级讲师”
并请通过邮件: A@PostgreSQL.cc 告知
正确答案请关注“盘古云课堂-考试中心”,仅限内部学员查阅

  了解更多内容,请点击“阅读原文”
继续滑动看下一个

【盘古云课堂&孙鑫联合出品】PostgreSQL能力与水平自测

孙鑫 盘古云课堂
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存