gp数据库(工具端使用)

17、GP终端工具的使用
(1)、psql中常用命令
psql是gp自带的终端工具,使用psql登录数据的命令:
psql -ddatabaseName -Uusername 

shell命令行连接数据库免密
用户dchuoth登录shell,则在用户dchuoth的家目录下创建文件.pgpass,内容格式如下:
hostname:port:database:username:password
如:
10.130.153.18:5432:db_rtgp:dchuoth:12345
此时shell命令行即可免密登录gp数据库:
psql -Udchuoth -db_rtgp

注:
(1)、hostname一般可以用通配符*代替
    *:5432:db_rtgp:dchuoth:12345
(2)、username必须是当前登录shell的同名用户dchuoth,否则无效。
(3)、如果是postgresql的gpadmin登录的shell,则username为任意数据库用户均可。




(2)、切换数据库(登录之后的操作)
\c databaseName

(3)、查看数据库
select databaseName from pg_database;
也可以使用  \l
注:pg_database是gp的系统日志表,必须是superuser用户才能使用

(4)、查看当前数据库中的所有对象
\d

(5)、查看当前库中的所有表
\dt

(6)、克隆数据库,包括源库中的表
create database 新库名 template 旧库名

(7)、查看gp版本信息
select version();

(8)、退出登录状态
\q

(9)、查看gp支持的所有语法
\h

(10)、查看创建视图的语法
\h create view

(11)、创建数据库表语句
--不指定分布键
create table 表名(id int,name text,sex varchar(20));

--使用分布键创建表
create table 表名(id int,name text,sex varchar(20)) distributed by(id);


(12)、查询语句
select name,sex from 表名;
select可以不用指定表名进行科学计算等:
select 2+3^2-9*(1+4)

(13)、快速建表
create table 新表名 as select * from 表2;
select * into 新表名 from 表2;


(14)、insert插入语句
insert into 表名 values(value1,value2),(value1,value2),(value1,value2)...;
注:在执行insert语句的时候,要留意分布键不能为空,否则分布键默认会变成null,数据都被存储在一个节点上,造成数据分布不均匀


(15)、update语句
update 表名 set 列名=value where 条件;


(16)、delete语句
delete from 表名;
delete from 表名 where 条件;

(17)、truncate语句
truncate 表名;

你可能感兴趣的:(gp数据库(工具端使用))