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

openGauss每日一练第 8 天

原创 OMGZEXAL 2022-12-01
755

1.创建表空间newtbs1、 ds_location1,查看表空间;

注:我们可以看到location下,newtbs1与ds_location1分别对应我们所指定的tablespace_1与tablespace_2,这里不能一致,每个表空间必须拥有自己的实际路径,否则会报错
ERROR: find conflict linkpath in pg_tblspc, try a different path

2.创建一个数据库newdb1,默认表空间为newtbs1;

3.创建用户user5,并授予SYSADMIN权限,访问数据库newdb1,在表空间ds_location1上,创建一个表newt1(表结构自定义);

4.查看表所在的表空间;

注:\x是为了更改显示格式便于查看,通过结果我们可以看到tablespace为ds_location1

5.查看表空间newtbs1、 ds_location1上的对象;

由于我们只在表空间ds_location1上创建一个表newt1,因此只有ds_location1表空间上存在对象表newt1,但当我们创建一张新表newt2时未指定表空间,它会在默认表空间,且不显示,如下图所示。


可以通过如下命令查找到默认表空间的对象,我们可以找出我们创建的newt2;
select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relowner from pg_class a where a.relkind in ('r', 'i') and reltablespace='0' and relname='newt2' order by a.relpages desc;

由于默认表空间对象太多,因此添加了一个条件relname='newt2',进行对应查询。

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

评论