千家信息网

管理使用Greenplum集群

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,1. 管理使用Greenplum集群1.1 启动Greenplum数据库$ gpstart -a1.2 对于要求重启数据库生效$ gpstop -r1.3 仅重新载入更改配置文件生效$ gpstop
千家信息网最后更新 2024年11月24日管理使用Greenplum集群

1. 管理使用Greenplum集群

1.1 启动Greenplum数据库

$ gpstart -a

1.2 对于要求重启数据库生效

$ gpstop -r

1.3 仅重新载入更改配置文件生效

$ gpstop -u

1.4 维护模式启动Master

使用-m模式运行gpstart:$ gpstart -m以维护模式连接到Master进行目录维护。例如:$ PGOPTIONS='-c gp_session_role=utility' psql postgres在完成管理任务后,停止处于维护模式的额Master。然后以生产模式重启它。$ gpstop -mr

1.5 停止Greenplum数据库

### 停止Greenplum数据库$ gpstop### 快速模式停止Greenplum数据库$ gpstop -M fast

激活备库流程

$ gpactivatestandby -d $MASTER_DATA_DIRECTORY

用-f 选项运行gpstate来检查状态:

$ gpstate -f

在后备Master主机上,移动或者移除数据目录gpseg-1。这个例子移动该目录:

$ mv /data/master/gpseg-1 /data/master/backup_gpseg-1

在新主库上,初始化一个后备Maste

$ gpinitstandby -s smdw

2. 访问数据库

表 1. 最常用的客户端应用

名称用法
createdb创建一个新数据库
createlang定义一种新的过程语言
createuser定义一个新的数据库角色
dropdb移除一个数据库
droplang移除一种过程语言
dropuser移除一个角色
psqlPostgreSQL交互式终端
reindexdb对一个数据库重建索引
vacuumdb对一个数据库进行垃圾收集和分析

创建用户

CREATE USER 用户名 WITH PASSWORD '密码'alter user gpadmin encrypted password 'gpadmin';

创建模式

CREATE SCHEMA myschema;

删除模式

DROP SCHEMA myschema;

查询当前连接

psql -c "select * from pg_stat_activity;"

查看数据库

psql -c "select pg_size_pretty(pg_database_size('test'));"

表占用空间

psql -c "select pg_size_pretty(pg_relation_size('schema.test'));"

表统计

select relname from pg_class t where t.relname like 'ods%';select relname from pg_class t where t.relname like 'kn%';

统计资源

select gp_segment_id,count(*) from test group by 1 ;

查看实例配置和状态

select * from gp_segment_configuration order by 1;

收集统计信息,回收空间

定期使用回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要

Vacuum analyze tablename

进程监控:

select * from pg_stat_activity  where waiting ='t' ORDER BY current_query;    select * from pg_stat_activity  where waiting ='t' ORDER BY sess_id;select * from pg_stat_activity  where waiting ='f' ORDER BY current_query;    select * from pg_stat_activity  where waiting ='f' ORDER BY sess_id;

select from pg_tablespace;
select
from pg_filespace;

查看数据分布

select * from pg_filespace_entry;SELECT spcname, fsname,fsedbid,fselocation FROM pg_tablespace pgts, pg_filespace pgfs,pg_filespace_entry pgfse WHERE pgts.spcfsoid=pgfse.fsefsoid AND pgfse.fsefsoid=pgfs.oid ORDER BY 1,3;

查看日志级别

控制写到服务器日志里的信息的详细程度。有效值是 DEBUG5, DEBUG4,DEBUG3,DEBUG2, DEBUG1,INFO,NOTICE, WARNING ,ERROR,LOG, FATAL,和 PANIC。 每个级别都包含它后面的级别。越靠后的数值发往服务器日志的信息越少。 缺省是 NOTICE。请注意 LOG 和 client_min_messages 里面的同名级别优先级不同。 只有超级用户可以修改这个设置。
show log_min_messages;
这个选项控制那些信息发送到客户端。 有效的数值是 DEBUG5,DEBUG4, DEBUG3,DEBUG2, DEBUG1,LOG,NOTICE, WARNING 和 ERROR。 每个级别包含所有它后面的级别,级别越靠后,发送的信息越少。 缺省是 NOTICE。这里的 LOG 和 log_min_messages 里面的有不同的级别。
show client_min_messages;

查看数据库备份

select pg_start_backup('backup baseline');select pg_stop_backup();

常看数据库.conf配置

show all

查看当前日期属于一年中第几周

select EXTRACT(week from TIMESTAMP '2018-05-11');
0