日期:2014-05-16  浏览次数:20468 次

GreenPlum AdminGuide 阅读笔记

1、数据库与实例

不同于oracle数据库,一个实例对应一个数据库。GP可以在一个实例上建立多个数据库。

DB2也是一个实例下可以建立多个数据库,而oracle一个实例下通常只有一个数据库,其实可以一个数据库对应多个实例。

?

2、导入和导出

?GP数据加载卸载数据( load unload,其实就是导入和导出) COPY不支持 并行操作 在多个节点上同时进行,copy命令是属于PostgreSQL的命令。

Create External Table Readable External Table 是load数据

Regular Web这种表只能读取 不支持DML Writeable External Table

?

3、根据template创建数据库

建立数据库基于template 每个新建的GP都有一个默认的数据库template1,

如果不指定模板,template1就是你创建数据库的模板。 在template1中不要创建任何数据对象,

除非你要在其他数据库中也要创建该对象。 除了template1还有template0,postgres 2个数据库 template0中没有任何数据对象,只是包含标准的数据对象。

?

4、创建数据库?、Drop数据库

数据库端:CREATE DATABASE dbname

客户端:CREATEDB -h hostname -p 5432 dbname

默认是根据template1来创建,可以指定template创建

create database dbname1 template dbname2

?

Drop database dbname;

DROPDB -h hostname -p 5432 dbname

5、Alter DATABASE dbname

set search_path to mychema

?

6、查询数据库

select datname from pg_database

?

6、表空间

不同的表空间存放在不同的磁盘上,高访问的表空间指定放在高配置的磁盘上。

表空间放置在不同segment的文件位置,收集这些文件系统的位置称为为filespace,

filespace可以被多个表空间所使用。 在一个逻辑文件系统中,你不能控制每一个文件的位置,因此没有必要为一个逻辑文件系统指定filespace

?

7、Create Schema schemaName

create schema schemaName authorization username

?

8、select current_schema();

show search_path;

?

9、DROP SCHEMA myschema CASCADE

?

schema下的所有object

?

10、数据类型

CHAR VARCHAR Text没有性能上的差距,而在其他数据上CHAR VARCHAR有性能差距

?

一般情况下 BIGINT 可以用INT或者SMALLINT代替

?

在join的时候 需要考虑数据类型的一致性

?

11、数据约束

create table AA(

c varchar(20) primary key,

a varchar(20) not null,

b numeric check(price >0)

DISTRIBUTED BY a

?