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