iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >postgresql dba常用sql查询语句
  • 969
分享到

postgresql dba常用sql查询语句

2024-04-02 19:04:59 969人浏览 独家记忆
摘要

转载自: Http://blog.itpub.net/30126024/viewspace-2655205/ 查看帮助命令 DB=# help --总的帮助 DB=# \h --sql commands级

转载自: Http://blog.itpub.net/30126024/viewspace-2655205/

查看帮助命令

DB=# help --总的帮助

DB=# \h --sql commands级的帮助

DB=# \? --psql commands级的帮助

按列显示,类似Mysql的\G

DB=# \x

Expanded display is on.

查看DB安装目录(最好root用户执行)

find / -name initdb

查看有多少DB实例在运行(最好root用户执行)

find / -name postgresql.conf

查看DB版本

cat $PGDATA/PG_VERSioN

psql --version

DB=# show server_version;

DB=# select version();

查看DB实例运行状态

pg_ctl status

查看所有数据库

psql –l --查看5432端口下面有多少个DB

psql –p XX –l --查看XX端口下面有多少个DB

DB=# \l

DB=# select * from pg_database;

创建数据库

createdb database_name

DB=# \h create database --创建数据库的帮助命令

DB=# create database database_name

进入某个数据库

psql –d dbname

DB=# \c dbname

查看当前数据库

DB=# \c

DB=# select current_database();

查看数据库文件目录

DB=# show data_directory;

cat $PGDATA/postgresql.conf |grep data_directory

cat /etc/init.d/postgresql|grep PGDATA=

lsof |grep 5432得出第二列的PID号再ps –ef|grep PID

查看表空间

select * from pg_tablespace;

查看语言

select * from pg_language;

查询所有schema,必须到指定的数据库下执行

select * from infORMation_schema.schemata;

SELECT nspname FROM pg_namespace;

\dnS

查看表名

DB=# \dt --只能查看到当前数据库下public的表名

DB=# SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg%' AND tablename NOT LIKE 'sql_%' ORDER BY tablename;

DB=# SELECT * FROM information_schema.tables WHERE table_name='ff_v3_ff_basic_af';

查看表结构

DB=# \d tablename

DB=# select * from information_schema.columns where table_schema='public' and table_name='XX';

查看索引

DB=# \di

DB=# select * from pg_index;

查看视图

DB=# \dv

DB=# select * from pg_views where schemaname = 'public';

DB=# select * from information_schema.views where table_schema = 'public';

查看触发器

DB=# select * from information_schema.triggers;

查看序列

DB=# select * from information_schema.sequences where sequence_schema = 'public';

查看约束

DB=# select * from pg_constraint where contype = 'p'

DB=# select a.relname as table_name,b.conname as constraint_name,b.contype as constraint_type from pg_class a,pg_constraint b where a.oid = b.conrelid and a.relname = 'cc';

查看XX数据库的大小

SELECT pg_size_pretty(pg_database_size('XX')) As fulldbsize;

查看所有数据库的大小

select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database;

查看各数据库数据创建时间:

select datname,(pg_stat_file(format('%s/%s/PG_VERSION',case when spcname='pg_default' then 'base' else 'pg_tblspc/'||t2.oid||'/PG_11_201804061/' end, t1.oid))).* from pg_database t1,pg_tablespace t2 where t1.dattablespace=t2.oid;

按占空间大小,顺序查看所有表的大小

select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='public' order by pg_relation_size(relid) desc;

按占空间大小,顺序查看索引大小

select indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='public' order by pg_relation_size(relid) desc;

查看参数文件

DB=# show config_file;

DB=# show hba_file;

DB=# show ident_file;

查看当前会话的参数值

DB=# show all;

查看参数值

select * from pg_file_settings

查看某个参数值,比如参数work_mem

DB=# show work_mem

修改某个参数值,比如参数work_mem

DB=# alter system set work_mem='8MB'

--使用alter system命令将修改postgresql.auto.conf文件,而不是postgresql.conf,这样可以很好的保护postgresql.conf文件,加入你使用很多alter system命令后搞的一团糟,那么你只需要删除postgresql.auto.conf,再执行pg_ctl reload加载postgresql.conf文件即可实现参数的重新加载。

查看是否归档

DB=# show arcHive_mode;

查看运行日志的相关配置,运行日志包括Error信息,定位慢查询SQL,数据库的启动关闭信息,checkpoint过于频繁等的告警信息。

show logging_collector;--启动日志收集

show log_directory;--日志输出路径

show log_filename;--日志文件名

show log_truncate_on_rotation;--当生成新的文件时如果文件名已存在,是否覆盖同名旧文件名

show log_statement;--设置日志记录内容

show log_min_duration_statement;--运行XX毫秒的语句会被记录到日志中,-1表示禁用这个功能,0表示记录所有语句,类似mysql的慢查询配置

查看wal日志的配置,wal日志就是redo重做日志

存放在data_directory/pg_wal目录

查看当前用户

DB=# \c

DB=# select current_user;

查看所有用户

DB=# select * from pg_user;

DB=# select * from pg_shadow;

查看所有角色

DB=# \du

DB=# select * from pg_roles;

查询用户XX的权限,必须到指定的数据库下执行

select * from information_schema.table_privileges where grantee='XX';

创建用户XX,并授予超级管理员权限

create user XXX SUPERUSER PASSWord '123456'

创建角色,赋予了login权限,则相当于创建了用户,在pg_user可以看到这个角色

create role "user1" superuser;--pg_roles有user1,pg_user和pg_shadow没有user1

alter role "user1" login;--pg_user和pg_shadow也有user1了

授权

DB=# \h grant

GRANT ALL PRIVILEGES ON schema schemaname TO dbuser;

grant ALL PRIVILEGES on all tables in schema fds to dbuser;

GRANT ALL ON tablename TO user;

GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;

grant select on all tables in schema public to dbuser;--给用户读取public这个schema下的所有表

GRANT create ON schema schemaname TO dbuser;--给用户授予在schema上的create权限,比如create table、create view等

GRANT USAGE ON schema schemaname TO dbuser;

grant select on schema public to dbuser;--报错ERROR: invalid privilege type SELECT for schema

--USAGE:对于程序语言来说,允许使用指定的程序语言创建函数;对于Schema来说,允许查找该Schema下的对象;对于序列来说,允许使用currval和nextval函数;对于外部封装器来说,允许使用外部封装器来创建外部服务器;对于外部服务器来说,允许创建外部表。

查看表上存在哪些索引以及大小

select relname,n.amname as index_type from pg_class m,pg_am n where m.relam = n.oid and m.oid in

(select b.indexrelid from pg_class a,pg_index b where a.oid = b.indrelid and a.relname = 'cc');

SELECT c.relname,c2.relname, c2.relpages*8 as size_kb FROM pg_class c, pg_class c2, pg_index i

WHERE c.relname ='cc' AND c.oid =i.indrelid AND c2.oid =i.indexrelid ORDER BY c2.relname;

查看索引定义

select b.indexrelid from pg_class a,pg_index b where a.oid = b.indrelid and a.relname = 'cc';

select pg_get_indexdef(b.indexrelid);

查看过程函数定义

select oid,* from pg_proc where proname = 'insert_platform_action_exist'; --oid = 24610

select * from pg_get_functiondef(24610);

查看表大小(不含索引等信息)

select pg_relation_size('cc'); --368640 byte

select pg_size_pretty(pg_relation_size('cc')) --360 kB

查看表所对应的数据文件路径与大小

SELECT pg_relation_filepath(oid), relpages FROM pg_class WHERE relname = 'empsalary';

posegresql查询当前lsn

1、用到哪些方法:

apple=# select proname from pg_proc where proname like 'pg_%_lsn';

proname

---------------------------------

pg_current_wal_flush_lsn

pg_current_wal_insert_lsn

pg_current_wal_lsn

pg_last_wal_receive_lsn

pg_last_wal_replay_lsn

2、查询当前的lsn值:

apple=# select pg_current_wal_lsn();

pg_current_wal_lsn

--------------------------

0/45000098

3、查询当前lsn对应的日志文件

select pg_walfile_name('0/1732DE8');

4、查询当前lsn在日志文件中的偏移量

SELECT * FROM pg_walfile_name_offset(pg_current_wal_lsn());

切换pg_wal日志

select pg_switch_wal();

清理pg_wal日志

pg_archivecleanup /postgresql/pgsql/data/pg_wal 000000010000000000000005

表示删除000000010000000000000005之前的所有日志

--pg_wal日志没有设置保留周期的参数,即没有类似mysql的参数expire_logs_days,pg_wal日志永久保留,除非shell脚步删除几天前或pg-rman备份时候设置保留策略

查询有哪些slot,任意一个数据库下都可以查,查询的结果都一样

select * from pg_replication_slots;

您可能感兴趣的文档:

--结束END--

本文标题: postgresql dba常用sql查询语句

本文链接: https://www.lsjlt.com/news/45784.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • postgresql dba常用sql查询语句
    转载自: http://blog.itpub.net/30126024/viewspace-2655205/ 查看帮助命令 DB=# help --总的帮助 DB=# \h --SQL commands级...
    99+
    2022-10-18
  • PostgreSQL DBA常用SQL查询语句有哪些
    本篇内容介绍了“PostgreSQL DBA常用SQL查询语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2022-10-18
  • mysql dba常用的查询语句
    查看帮助命令 mysql> help; --总的帮助 mysql> help show; --查看show的帮助命令 mysql> help create;--查看create的帮助命令 ...
    99+
    2022-10-18
  • postgresql常用查询语句
    1.查找执行较慢的sql:select* from pg_stat_statements; 2.根据操作系统的pid查找回话:select d.query from pg_stat_ac...
    99+
    2022-10-18
  • 常用sql语句查询
    oracle常用经典SQL查询 常用SQL查询:   查看表空间的名称及大小   select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba...
    99+
    2019-10-10
    常用sql语句查询 数据库入门 数据库基础教程 数据库 mysql
  • DBA常用SQL语句有哪些
    DBA常用SQL语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 select tablespace_...
    99+
    2022-10-19
  • DBA巡检常用的SQL语句
    1.查看当前数据库有多少processselect count(1) from v$process;2.查看当前数据库有多少session(session=process*1.1)selec...
    99+
    2022-10-18
  • 常用的SQL查询语句大全
    这篇文章主要讲解了“常用的SQL查询语句大全”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常用的SQL查询语句大全”吧!一、基础1、说明:创建数据库CREA...
    99+
    2022-10-18
  • postgresql 常用SQL语句小结
    目录1、查询链接数2、查看死锁状态3、删除死锁进程4、备份数据库5、还原数据库6、插入数据插入单条数据插入多条数据从一张表查询到的数据插入到另一张表7 、查询pg中单张表的大小(不包含索引)8、查询数据库中所有表的大小9...
    99+
    2022-11-19
    postgresql 常用SQL
  • PostgreSQL查询语句分析
    这篇文章主要介绍“PostgreSQL查询语句分析”,在日常操作中,相信很多人在PostgreSQL查询语句分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreS...
    99+
    2022-10-19
  • sqlserver dba常用的sql语句有哪些
    这篇文章主要讲解了“sqlserver dba常用的sql语句有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sqlserver dba常用的sql语句...
    99+
    2022-10-18
  • postgresql常用的sql语句分享
    这篇文章主要介绍“postgresql常用的sql语句分享”,在日常操作中,相信很多人在postgresql常用的sql语句分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • T-SQL查询语句
        SQL语言中最主要、最核心的部分是它的查询功能。查询语句用来对已经存在于数据库的数据按照特定的组合、条件表达式或次序进行检索,使用SELECT语句来完...
    99+
    2022-10-18
  • 常见的sql查询语句是什么
    小编给大家分享一下常见的sql查询语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常见的sql查询语句有:1、查看表结构...
    99+
    2022-10-18
  • sql的基础语句-sql的查询语句select
     SQL查询语句介绍--select语句1.简单的select查询语句1.1 查行SQL> select * from emp;1.2 查列SQL> select ...
    99+
    2022-10-18
  • redis常用查询语句
    1.查看慢查询:slowlog get [N] 2.添加slave:slaveof <masterip> <masterport>去掉slave:slaveof no one清理已...
    99+
    2022-10-18
  • mongodb 常用查询语句
    查看数据库的连接数:db.serverStatus().connections 查看当前数据库正在执行的语句:db.currentOp() 查看数据库中慢语句:db.system.profile...
    99+
    2022-10-18
  • oracle常用查询语句
    杀会话,必须要时刻背上来:select 'alter system kill session ''' || sid|| ',' || serial# || ''' immediate;' fro...
    99+
    2022-10-18
  • EntityFramework常用查询语句
    方法一:Linq to Entitie var info = from p in entity.Users where p.ID >= 10 orderby p.ID...
    99+
    2022-11-13
  • sql查询语句优化
    sql查询语句优化 1、对查询进行优化,应尽量避免全表扫描 a、 where 及 order by 涉及的列上建立索引 b、 尽量避免在 where 子句中对字段进行 null 值判断,可以将null值设置默认值0等,如...
    99+
    2016-05-19
    sql查询语句优化 数据库入门 数据库基础教程 数据库 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作