• Greenplum常用查询命令

#查看test_bd事务(即数据库)下的所有表名包含 user 的 表信息

SELECT UPPER(A.SCHEMANAME) AS SCHEMANAME, UPPER(A.TABLENAME) AS TABLENAME,
D.ATTRELID,D.ATTRELID :: regclass,UPPER(D.ATTNAME) AS ATTNAME,
REPLACE(REPLACE(REPLACE(FORMAT_TYPE(D.ATTTYPID, D.ATTTYPMOD),'numeric','NUMBER'),
'character varying','VARCHAR2'),'date','DATE') AS DATA_TYPE,E.DESCRIPTION
FROM PG_TABLES AS A
INNER JOIN PG_CLASS AS B ON A.TABLENAME = B.RELNAME
LEFT JOIN PG_CATALOG.PG_DESCRIPTION AS E ON B.OID = E.OBJOID
LEFT JOIN PG_CATALOG.PG_ATTRIBUTE AS D ON D.ATTRELID = E.OBJOID AND D.ATTNUM = E.OBJSUBID
WHERE SCHEMANAME ='test_bd'
AND A.TABLENAME LIKE '%user%'
AND D.ATTNUM > 0
ORDER BY A .TABLENAME,D.ATTNUM

  select pg_size_pretty(pg_database_size('gp_db'));     #查看gp数据库大小

  select gp_segment_id,count(*) from db_name.tb_name group by gp_segment_id;     #查看数据分布情况

1.创建数据库   createdb test_db;
2.删除数据库   dropdb test_db;
3.创建模式    create schema myschema;
4.删除模式    drop schema myschema;
5.创建用户    create user user_name with password '123456' ;
6.删除用户    drop user user_name;
7.查看系统用户信息   select usename from pg_user;
8.查看版本信息     select version();
9.打开psql交互工具   psql name_db;

10.执行sql文件     mydb=> \i basics.sql \i 命令从指定的文件中读取命令。
11.批量将文本文件中内容导入到wether表        copy weather from '/home/user/weather.txt';
12.查看搜索模式     show search_path;
13.设置搜索模式     set search_path to myschema,public;
14.创建表空间      create tablespace spacename_tb location 'file_path';
15.显示默认表空间    show default_tablespace;
16.设置默认表空间    set default_tablespace=表空间名称;
17.指定用户登录      psql mtps -u
18.显示当前系统时间   select now() ;
19.配置plpgsql语言    create language 'plpgsql' handler plpgsql_call_handler;
20.删除规则    drop rule name on relation [ cascade | restrict ];

21.当前日期属于一年中第几周    select extract(week from timestamp '2020-06-14');
22.查询表是否存在    select * from pg_statio_user_tables where relname='test_tb';
23.导出表          ./pg_dump -p 端口号 -u 用户 -t 表名称 -f 备份文件位置 数据库 ;
24.整个数据库导出    pg_dumpall -d -p 端口号 -h 服务器ip -u postgres(用户名) > /home/xiaop/all.bak
25.数据库备份恢复    psql -h 192.168.0.48 -p 5433 -u postgres
26.数据库备份      pg_dumpall -h 192.168.0.4 -p 5433 -u postgres >/databack/postgresql2020061401.dmp
27.当前日期函数     select current_date;
28.返回第十条开始的5条记录    select * from tbname limit 5 offset 10;
29.查看数据库大小    select pg_size_pretty(pg_database_size('mtps')) as fulldbsize;
30.查看数据库表大小   select pg_size_pretty(pg_total_relation_size('test_db.t_l_collectfile')) as fulltblsize,pg_size_pretty(pg_relation_size('test_db.t_l_collectfile')) as justthetblsize;

31.设置执行超过指定秒数的sql语句输出到日志    log_min_duration_statement = 3
32.超过一定秒数sql自动执行执行计划   shared_preload_libraries = 'auto_explain',custom_variable_classes = 'auto_explain',auto_explain.log_min_duration = 4s
33.数据库备份
  select pg_start_backup('backup baseline');
  select pg_stop_backup();
  recovery.conf
  restore_command='cp /opt/buxlog/%f %p'

34.数据字典查看表结构   select column_name, data_type from information_schema.columns where table_name = 'test_tb';
35.查询表结构         select a.attnum,a.attname as field,t.typname as type,a.attlen as length,a.atttypmod as lengthvar,a.attnotnull as notnull from pg_class c,pg_attribute a,pg_type t where c.relname=表名称and a.attnum > 0 and a.attrelid = c.oid and a.atttypid = t.oid
36.将查询结果直接输出到文件,在psql中 \o 文件路径
  select datname,rolname from pg_database a left outer join pg_roles b on a.datdba=b.oid; \o
37.查询数据库所有则    select datname,rolname from pg_database a left outer join pg_roles b on a.datdba=b.oid ;
38.结束正在执行的事务   select * from pg_stat_activity;
39.查看被锁定表
    select pg_class.relname as table, pg_database.datname as database, pid, mode, granted from pg_locks, pg_class, pg_database where pg_locks.relation = pg_class.oid and pg_locks.database = pg_database.oid;
40.查看客户端连接情况     select client_addr ,client_port,waiting,query_start,current_query from pg_stat_activity;
41.常看数据库.conf配置      show all;
  修改数据库postgresql.conf参数
  修改postgresql.conf内容 pg_ctl reload
  回滚日志强制恢复 pg_resetxlog -f 数据库文件路径

  • Greenplum常用命令与MySQL对比

  (1)列出所有的数据库
    mysql: show databases
    psql: \l或\list
  (2)切换数据库
    mysql: use dbname
    psql: \c dbname

  (3)列出当前数据库下的数据表
    mysql: show tables
    psql: \d

  (4)列出指定表的所有字段
    mysql: show columns from table name
    psql: \d tablename

  (5)查看指定表的基本情况
    mysql: describe tablename
    psql: \d+ tablename

  (6)退出登录
    mysql: quit 或者\q
    psql:\q

  • Greenplum常用调优命令

netstat -ano|grep 5432 -wc               #查看连接5432端口线程数
psql -d gpdatabase -h master_host -p 5432 -U gpadmin  #连接数据库
psql gpdb_name                   #连接gpdb_name数据库
vacuum table_name                  #清除数据库碎片

  #查看索引的大小
  select pg_size_pretty(pg_relation_size('ind_t_id'));

  pg_restore -d test_db test_db.dump           #导入dump数据
  pg_dump -U gpadmin -Fc test_db > test.dump       #导入dump数据

  gp数据导入:
  psql -h localhost -p 5432 -d test_db -U gpadmin -c "\\copy tablename FROM '/home/user/test.csv' with DELIMITER as ',' NULL as 'null string'"
  psql -d test_db -h localhost -p dd -c "\copy(select * from ods.ods_dPmytest)to /home/gpadmin/loadout/test_db.csv"

  gp数据备份:
  gp_dump database_name;

  COPY TO  把一个表的所有内容都拷贝到一个文件,COPY只能用于表,不能用于视图。
  COPY FROM  从一个文件里拷贝数据到一个表里(把数据附加到表中已经存在的内容里)。
  COPY user_tb TO '/tmp/data/test.csv' WITH csv; 导出表数据
  COPY user_tb FROM '/tmp/data/test.csv' WITH csv; 导入表数据
  # 使用select命令
  COPY (select * from user_tb create_time > '2019-08-16 00:00:00' and create_time < '2019-08-17 00:00:00') TO '/tmp/data/user_20190816.csv' with csv;

  • Greenplum常用窗口函数

  row_number() over(partition by XXX order by XXX desc);    -- 生成序列号
  max() over(partition by XXX order by XXX);          --取最大值
  avg() over(partition by XXX order by XXX);           --取平均值

Greenplum常用命令、函数的更多相关文章

  1. GreenPlum 常用命令

    gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定数据目录(默认值:$MASTE ...

  2. GreenPlum 集群常用命令

    GreenPlum 常用命令 gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定 ...

  3. (三)Linux Shell编程——Shell常用命令(输出、判断、循环、函数、包含)

    3. 常用命令 3.1 输出 3.1.1 echo命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg name="coding" ...

  4. mysql数据库管理、常用命令及函数(10.10 第十八天)

    数据库管理: MYSQL 轻量级数据库,适用于中小型企业,性能好,开源的(免费的) MSSQL 微软开发的,需要安装在NT系统中,不支持跨平台,适用于中大型企业 ACCESS 小巧方便,适用于小型企业 ...

  5. Greenplum常用的gp_toolkit & pg_catalog监控语句

    gp_toolkit 说明 Greenplum数据库提供了一个名为gp_tooikit的管理schema,该schema下有关于查询系统目录,日志文件, 用户创建(databases,schema,t ...

  6. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  7. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  8. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  9. 分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  10. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

随机推荐

  1. layui table表格单元格动态合并,并设置隔行变色

    layui table表格单元格动态合并,并设置隔行变色,此代码只针对嵌套数组只有一层的时候有效,多个数组嵌套还在冥想当中!! 需求描述 我们知道在layui插件官方平台有个可以无限极单元格合并的模块 ...

  2. 接口的应用:代理模式(Proxy)

    应用场景: 安全代理:屏蔽对真实角色的直接访问. 远程代理:通过代理类处理远程方法调用(RMI) 延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象比如你要开发一个大文档查看软件,大文档中 ...

  3. Permutation Swaps

    Permutation Swaps 传送门 题目理解 第一个操作:把第i个数移到位置p[i](1<=i<=n) ​发现:这个操作其实就是循环移位,有Teleporter的经验在前,此操作可 ...

  4. 玩转云端|天翼云边缘安全加速平台AccessOne实用窍门之让办公访问安全、高效又稳定

    本文分享自天翼云开发者社区<玩转云端|天翼云边缘安全加速平台AccessOne实用窍门之让办公访问安全.高效又稳定>,作者:天翼云社区官方账号 随着社会信息化程度不断提高,远程办公已经成为 ...

  5. 一种提升SQL改写效率的方法

    本文分享自天翼云开发者社区<一种提升SQL改写效率的方法>,作者:唐****律 一.背景 SQL改写是数据库产品中使用比较频繁的一个技术,在大多数产品中的调用频率也非常高,通常对性能的需求 ...

  6. 天翼云加速落地紫金DPU实践应用,让算力供给更高效!

    近日,以"智驱创新·芯动未来"为主题的第三届DPU峰会在北京成功举办.会上,天翼云凭借紫金DPU在架构革新.算力释放.场景落地等多方面的成果,荣膺"2023芯星品牌奖&q ...

  7. Linux下安装jdk的两种方法

    Linux下安装jdk的两种方式和安装mvn 有网的环境 yum方式下载安装1.查找java相关的列表   1 yum -y list java* 或者   1 yum search jdk 2.安装 ...

  8. Layer子域名挖掘机

    Layer子域名挖掘机 Layer子域名挖掘机是一款功能强大的域名查询工具,主要用于提供网站子域名的查询服务. 域名与子域名 域名 域名,又称网域,是互联网上用于标识特定计算机或计算机组的一串由点分隔 ...

  9. I2C死锁产生机理与解决方法

    在I2C实际使用过程中,最容易出现的一个问题就是死锁 ,其主要表现为:SCL持续为高,SDA持续为低. 产生机理 I2C死锁产生的机理是:当Slave输出应答信号或者输出数据0时,Master发生异常 ...

  10. Springboot 3.x 集成Knife4j [踩坑日记]

    之前项目用的是SpringBoot2.x 新项目用了SpringBoot3.x版本,引入Knife4j 报错java.lang.TypeNotPresentException: Type javax. ...