GreenPlum常用命令和SQL


下面总结工作中GreenPlum常用命令及SQL:

gp常用命令:

gpstop
-a:直接停止,不提示终端用户输入确认
-m:只停止master实例,与gpstart -m对应使用
-f:停止数据库,中断所有数据库连接,回滚正在运行的事物
-u:不停止数据库,只加载pg_hba.conf和postgresql.conf中运行时的参数,当改动参数配置时使用
-r:重启数据库
gpstart -a:直接启动,不提示终端用户输入yes确认 -m:只启动master实例,主要在故障处理时使用
gpstate 查看DB状态 -c:primary instance和mirror instance对应关系 -m:只列出mirror实例的状态和配置信息 -f:显示standby master的详细信息 -e:Segment mirroring status report -s:查看细节,如果在同步,可显示数据同步完成百分比 --version:查看数据库version
gpconfig -l:列出所有参数

gprecoverseg 恢复Failuer节点
-F 进行Segment全量恢复 恢复文件丢失的节点
-R 必须停机重启后使用,慎用,易导致镜像双坏 (停库对调primary和mirror,re-balance)

 

在Linux中执行SQL语句: psql -c "SQL语句"

获取down掉节点细节信息:
SELECT * FROM gp_segment_configuration WHERE status = 'd'
查看实例配置和状态: SELECT * FROM gp_segment_configuration ORDER BY content SELECT * FROM pg_filespace_entry
查看表大小: SELECT pg_size_pretty(pg_relation_size('$schema.$table')) ???

查看当前用户的表: SELECT * FROM pg_stat_user_tables

查看当前用户的索引: SELECT * FROM pg_star_user_indexes
查询正在运行的SQL:
SELECT * FROM pg_stat_activity
查看当前存活的查询: SELECT procpid as pid,sess_id as session,usename as user, current_query as query,waiting,date_trunc('second',query_start) as start_time, client_addr as useraddr FROM pg_stat_activity WHERE datname = '此处填写数据库名' AND current_query NOT LIKE '%from pg_stat_activity%where dataname = %' ORDER BY start_time
查看数据分布情况:
SELECT gp_segment_id,count(*) FROM tablename GROUP BY 1; 查询数据库用户表:
select * from pg_roles

Linux操作:

Linux:
ps -ef |grep -i postgres |grep -i con 每个连接进程

pg_ctl:

pg_ctl 是一个PostgreSQL工具,用于初始化PostgreSQL 数据库实例;启动、终止或重启数据库服务,查看数据库状态。

用法: pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"]
 pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
 pg_ctl stop [-W] [-t SECS] [-D DATADIR] [-s] [-m Shutdown-mode] pg_ctl restart [-w] [-t SECS] [-D DATADIR] [-s] [-m Shutdown-mode] [-o "OPTIONS"]
 pg_ctl reload [-D DATADIR] [-s] pg_ctl status [-D DATADIR] pg_ctl promote [-D DATADIR] [-s] pg_ctl kill SIGNALNAME PID 常规选项: -D,--pgdata DATADIR:指定数据库存储目录 -s,--silent:仅打印错误,不输出信息 -t SECS:指定等待秒数 -w:等待直到操作完成 -W:不等待操作完成 若没有指定-D选项则使用环境变量PGDATA start或restart的选项: -c,--core-files:允许postgres产生core文件 -l,--log FILENAME:指定日志文件 -o OPTIONS:指定传递给postgres命令的选项 -p PATH-TO-POSTGRES:指定postgres的路径 stop或restart的选项: -m Shutdown-mode:可能的值为"smart","fast","immediate"
       Shutdown模式:       smart:在所有客户端都断开时退出       fast:直接退出       immediate:不完成shutdown退出,然后重启恢复 SIGNALNAME可能值为: HUP INT QUIT ABRT TERM USR1 USR2

pg_ctl实例:

1.查看postgres的状态信息(是否运行,PID等)   pg_ctl status -D /usr/local/postgres/data 
2.关闭postgres服务器   pg_ctl stop -D /data 3.启动postgres服务器   pg_ctl start -D /data 4.重启postgres服务器   pg_ctl restart -D /data 5.初始化postgres数据   pg_ctl initdb -D /data

6.重新加载pg_hba.conf文件
  pg_ctl reload -D /data

备注:GP中 -D 后的路径为postmaster.pid文件所在的路径

访问控制:

GP的访问控制和PostgreSQL的访问控制相同。

参考官方文档:https://www.postgresql.org/docs/9.4/auth-pg-hba-conf.html

其他记录:

postgresql log文件夹区分
/pg_log(数据库运行日志) /pg_xlog(WAL日志 即重做日志) /pg_clog(事物提交日志,记录事物元数据)

GP Admin操作(state,recoverseg...等操作..)日志location
/home/gpadmin/gpAdminLogs

 

后续继续补充。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM