日期:2014-05-16 浏览次数:20512 次
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
?