客服微信
考试科目:PGCE-E-091
考试题量:44 道单项选择题、29 道多项选择题(每题 2 分)
通过分数:60%
考试时间:60min
本文为云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
PG中创建sequence时指定了owned to table.column,在drop table***cascade时,sequence不会被删除。
A、正确
B、错误
参考答案:B
解析
一、序列字段为int
以下是一个示例:
-- 创建表和序列 CREATE TABLE example_table ( id int PRIMARY KEY, data VARCHAR(100) ); -- 为序列指定所有者 CREATE SEQUENCE example_table_id_seq OWNED BY example_table.id; --查看序列信息 select * from pg_sequence where seqrelid='example_table_id_seq'::regclass::oid; --查看序列当前值 select currval('example_table_id_seq'); --查看下一个序列值 select currval('example_table_id_seq'); -- 删除表及其依赖项,包括序列 DROP TABLE example_table CASCADE; --查看序列信息 select nextval('example_table_id_seq'); 报错:ERROR: relation "example_table_id_seq" does not exist
在这个例子中,使用 CASCADE 删除表时,序列 example_table_id_seq 也会被自动删除。
总体而言,当使用 owned by 子句为序列指定所有者时, CASCADE 删除表会同时删除与表关联的序列,减少了手动管理的工作。
二、序列字段为serial
如果创建表时指定字段为serial,PG会自动在列上创建一个序列,命令格式:表名_字段名_seq
-- 创建表和序列 CREATE TABLE example_table ( id SERIAL PRIMARY KEY, data VARCHAR(100) ); --查看表结构 \d example_table Table "public.example_table" Column | Type | Collation | Nullable | Default --------+------------------------+-----------+----------+------------------------------------------- id | integer | | not null | nextval('example_table_id_seq'::regclass) data | character varying(100) | | | Indexes: "example_table_pkey" PRIMARY KEY, btree (id) -- 插入一些数据 INSERT INTO example_table (data) VALUES ('Example 1'), ('Example 2');
PostgreSQL PGCE考试为理论考试,需通过两门考试才能拿到“PostgreSQL PGCE证书”。
以下是PostgreSQL官网的考试费,可以添加云贝教育的课程顾问老师微信19941464235或者19906632509,咨询有优惠。
PostgreSQL证书如下 合格考生公布:考后不超过 5 个工作日 “开源软件联盟 PostgreSQL 分会”公众号发布 证书寄送:考后统一寄送至培训机构)
云贝教育有专业的PostgreSQL PGCE认证培训课程,想快速通过考试的同学可以扫码联系老师咨询(点击文字转跳至PostgreSQL PGCE大纲)