04_Greenplum定义数据库对象_创建管理数据库_表空间

一、创建与管理数据库

1、一个GPDB系统可以有多个数据库

关于数据库模板

数据库基于模板创建

缺省数据库模板为template1

GP系统内部使用:template0和postgres

 

2、创建数据库

具备CREATEDB权限或者SUPERUSER身份

通过CREATE DATABASE命令创建:CREATE DATABASE database_demo;

通过CREATEDB客户端程序创建:createdb -h master -p 5432 database_demo;

克隆一个数据库:CREATE DATABASE database_demo_col TEMPLATE database_demo;

\l 可以查看有哪些数据库

代码:

psql -d template1

\l(查看数据库)

\h create database(查看有哪些命令)

create database devdw;(创建好了但是没有权限是创建表,所以需要切换到gpadmin)

\c devdw;(切换到gpadmin)

create table tb_01(id_int);

\d(查看表)

insert into tb_01 values(101);

commit;(提交)

create database col_devdw template devdw;(克隆)

createdb -h master -p 5432 devdw2;(用主机命令来创建数据库)

 

3、查看数据库列表

可以通过查询pg_database系统日志表:SELECT * from gp_database;  或 \l

 

4、变更数据库

Ower或者SUPERUSER权限;

使用ALTER DATABASE命令来改变DB的属性:ALTER DATABASE testdw SET search_path TO public, pg_catalog;(search_path是参数)

代码:

\h alter database;(查看命令)

\c testdw;

show search_path;(查看参数)

create schema sch01;

create schema sch01.tb01(id int);

create table sch01.tb01(id int);

select * from tb01;(不能查询到,报错,需要修改search_path权限)

alter database set search_path TO public, pg_catalog.sch01;(有的参数需要用=)

show search_path;(当前看不到变化,需要重进数据库)

\c testdw

show search_path

 

5、删除数据库

 

 代码:

\h drop database

 

二、创建与管理表空间

表空间建立在文件空间之上,文件空间建立在一系列文件系统之上。

1、创建文件空间

 

2、转移临时文件或事务文件的位置

 

 代码:

在gpadmin上执行

gpfilespace --movetempfilespace test_fs;(如果有连接的会话,可以强制的关闭,关闭后在执行)

gpstop -a;(关闭会话;gpstop是强制关闭数据库)

select * from gp_filespace;(查看数据库的文件空间)

\db(查看表空间)

 

3、创建表空间

 

 

代码:

\db

create tablespace testspace filespace test_fs

\db

grant create on tablespace testspace to admin;(赋给admin这个用户)

\du;(查看用户)

 

4、使用表空间存储DB对象(对象就是:表、索引、视图等等)

 

代码:

\d(查看有那些表)

create table tb03(id int) tablespace test_fs;

set default_tabelspace=testspace;

create table tb04(id int);(默认会使用testspace表空间,因为缺省空间参数)

select tablespace from pg_tables where tablename = 'tb04';(查看表所属的表空间)

 

5、查看现有的表空间和文件空间

 

6、删除表空间和文件空间

 

 注:用来存储临时文件的也不能删除,需要先转移;

 

 

posted @ 2022-10-24 09:07  小王同学学编程  阅读(197)  评论(0编辑  收藏  举报
levels of contents