基本运维管理
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;