基本运维管理

1. 操作集群

1.1 启动

gpstart -a  #启动集群

1.2 关闭

gpstop -a   #停止集群(此模式下,如果有session链接,关闭数据库会卡住)
gpstop -a -M fast  #快速关闭集群

1.3 重启

gpstop -ar # 重启集群,等待当前正在执行的SQL结束(此模式下,如果有session链接,关闭数据库会卡住)
gpstop -ar -M fast #快速重启集群

1.4 重新加载配置

gpstop -u  #重新加载配置文件

1.5 查看集群状态

gpstate     #查看集群状态
gpstate -s  #查看整个Matrixdb群集的状态
gpstate -e  #查看mirror的状态
gpstate -m  #查看mirror的list
gpstate -f  #查看standby master的信息

1.6 查看与修改配置参数

显示配置值:

gpconfig -s {GUC}

# 例:查看允许最大连接数
gpconfig -s max_connections

修改配置值:

gpconfig -c {GUC} -v {Value} -m {Value} #-m 指定master节点参数值,-v 指定segment节点参数值
gpconfig -c {GUC} -v {Value} #当不指定-m时,master节点的参数修改和segment节点一致

# 例:
gpconfig -c max_connections -v 1000 -m 300
gpconfig -c shared_buffers -v 2GB

2. 登录集群

2.1 psql登录数据库

psql -d ${db_name} -U ${user_name} -h ${ip_addr} -p ${port}

修改环境变量,添加psql的默认值:

#可以通过修改环境变量来修改默认值
vi ~/.bash_profile  #使用mxadmin用户,编辑配置文件,将下面的几个变量添加到文件里面

export PGPORT=5432   #默认端口
export PGUSER=mxadmin #默认用户名
export PGDATABASE=postgres  #默认数据库

使环境变量立即生效:

source ~/.bash_profile

再次使用sql登录数据库:

#执行psql就可以登录到数据库
psql
#此时的默认值为
psql -d postgres -U mxadmin -h localhost -p 5432

2.2 psql元命令

\l 列出所有数据库。 
\d 列出当前数据库的所有表、视图、序列 
\d [table_name] 列出某一张表格的结构
\dt 只显示匹配的表。
\di 只显示索引。
\dt+ table_name 查看表的大小。
\di+ index_name 查看索引的大小。
\ds 只显示序列。
\dv 只显示视图。
\dm 查看物化视图列表。
\df 只显示函数。
\dn 列出所有schema(模式)。
\du 或者\dg 列出所有角色或用户。
\dp 表名称 \z 表名称 列出表的权限分配情况。
\dx 查看插件信息。
\sf function_name 查看函数代码。
\h 查看SQL命令的解释,比如\h select。 
\? 查看psql命令列表。 
\c 列出当前数据库和连接的信息。
\c [database_name] 连接其他数据库。 
\e 打开文本编辑器。 
\x 设置查询结果输出
\! 操作系统命令 调取操作系统命令
\o /home/postgres/test.txt 将执行的结果保存到文件 关闭使用 \o
\drds 列出库或用户定义的配置
\s 查看历史记录
\watch 1 执行上一条命令,每1秒执行一次

3. 建库与删库

3.1 建库

方法一,使用createdb工具创建:

createdb test

方法二,使用CREATE DATABASE SQL语句创建:

psql postgres
postgres=# create database test;

3.2 删库

方法一,使用dropdb工具删除:

dropdb test

方法二,使用DROP DATABASE SQL语句创建:

psql postgres
postgres=# drop database test;