greenplum基本使用操作——笔记

psql -d postgres
psql是greenplum登陆命令,-d选项是指定GP的某个库进行登入,greenplum必须要指定一个库才能登入,postgres是初始化时默认创建的。

gpstart:启动GP
-a,该模式不需要在启动过程中输入Y进行确认,将直接启动数据库。
-m,只启动Master节点,不启动Segment节点,通常在维护的时候使用。
-y,只启动Master的primary节点,不启动standby节点。

gpstop:关闭GP
-F,强制关闭数据库。
-r ,重启GP
-u,重新加载GP配置文件,该方式不重启GP,等于reload

postgres=$ \h
基本SQL语法查看方式,使用帮助

create database data;drop database data
创建数据库;删除数据库

test=# create table hiya (name varchar(10),id int);
NOTICE: Table doesn’t have ‘DISTRIBUTED BY’ clause – Using column named ‘name’ as the Greenplum Database data distribution key for this table.
HINT: The ‘DISTRIBUTED BY’ clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
CREATE TABLE
###这个回显是告诉你如果不指定分部件和分布策略,则默认使用第一个字段作为分布键,并且使用hash分布策略。

——hash分布:指定一个或多个分布键,计算hash值,并且通过hash值路由到特定的segment节点上,语法为distributed by (…)。如果不指定分布键,默认将第一个字段作为分布键。

test=# create table lala2(id int ,name varchar(128)) distributed by(id);
CREATE TABLE
###该语句是指定了以id作为分布键

test=# create table lala3(id int ,name varchar(128)) distributed by(id,name);
CREATE TABLE
###指定了多个分布键

test=# create table hiya1(id int ,name varchar(128)) distributed randomly;
CREATE TABLE
###采用随机分布策略创建表

——随机分布:也叫平均分布。数据随机分散在每一个节点中,这样无论数据时什么内容都可以平均分布在每个节点上,但是在执行SQL的过程中,关联等操作都需要将数据重分布,性能较差。语法为表字段定义的后面加上 distributed randomly。

test=# \dt
查看所有表

test=# \d lala3
查看单个表分布信息

data=# create table test(id int primary key,name varchar(128));
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index “test_pkey” for table “test”
CREATE TABLE
data=# select * from test;
创建表(结构)
查询表数据

data=# \dt
List of relations
Schema | Name | Type | Owner | Storage
--------±-----±------±--------±--------
public | test | table | gpadmin | heap
(1 row)
列出数据库中所有的表

data=# explain select * from test;
查看查询计划

data=# \l
查看当前库情况

\i
备份路径 #进行恢复

\q
退出

select gp_segment_id,count(*) from table_name group by gp_segment_id;
单独查询一个表的节点分布情况

=# CREATE ROLE admin CREATEROLE CREATEDB;
=# GRANT admin TO john, sally;
=# REVOKE admin FROM bob;
可以针对独立对象权限进行授权:
=# GRANT ALL ON TABLE mytable TO admin;
=# GRANT ALL ON SCHEMA myschema TO admin;
=# GRANT ALL ON DATABASE mydb TO admin;
创建用户命令,未完整

member=# create user super superuser password ‘new passwd’;
创建超级用户
member=# alter user super with password ‘super@camel#2018#’;
修改密码

member=# \du
查看所有角色

https://www.cnblogs.com/kingle-study/p/11175914.html
检查 记录网址

你可能感兴趣的:(数据库)