`
winie
  • 浏览: 224257 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

PostgreSQL实用SQL

 
阅读更多
--查看数据库
select * from pg_database;


--查看表空间
select * from pg_tablespace;


--查看语言
select * from pg_language;


--查看角色用户
select * from pg_user;
select * from pg_shadow;
select * from pg_roles;


--查看会话进程
select * from pg_stat_activity;


--查看表
SELECT * FROM pg_tables where schemaname = 'public';


--查看表字段
select * from information_schema.columns where table_schema = 'public' and table_name = 'pf_vip_org';


--查看视图
select * from pg_views where schemaname = 'public';
select * from information_schema.views where table_schema = 'public';


--查看触发器
select * from information_schema.triggers;


--查看序列
select * from information_schema.sequences where sequence_schema = 'public';


 --查看约束
select * from pg_constraint where contype = 'p'  
--u unique,p primary,f foreign,c check,t trigger,x exclusion


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';


--查看索引
select * from pg_index ;


--查看表上存在哪些索引以及大小
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


--查看DB大小
select pg_size_pretty(pg_database_size('smiletao'));   --12M


--查看服务器DB运行状态
[postgres@eyar ~]$ pg_ctl status -D $PGDATA
pg_ctl: server is running (PID: 2373)
/home/postgres/bin/postgres "-D" "/database/pgdata" 


--查看每个DB的使用情况(读,写,缓存,更新,事务等)
select * from pg_stat_database


--查看索引的使用情况
select * from pg_stat_user_indexes;


--查看表所对应的数据文件路径与大小
SELECT pg_relation_filepath(oid), relpages FROM pg_class WHERE relname = 'empsalary';


--查看索引与相关字段及大小
 SELECT n.nspname AS schema_name,
        r.rolname as table_owner,
       bc.relname AS table_name,
       ic.relname AS index_name,
       a.attname  AS column_name,
       bc.relpages*8 as index_size_kb     
  FROM pg_namespace n,
       pg_class bc,             -- base class
       pg_class ic,             -- index class
       pg_index i,
       pg_attribute a,           -- att in base
       pg_roles r
  WHERE bc.relnamespace = n.oid
     and i.indrelid = bc.oid
     and i.indexrelid = ic.oid
     and bc.relowner = r.oid
     and i.indkey[0] = a.attnum
     and i.indnatts = 1
     and a.attrelid = bc.oid
     and n.nspname = 'public'
     and bc.relname = 'cc'
  ORDER BY schema_name, table_name, index_name, attname;


--查看PG锁
select * from pg_locks;


备注:relpages*8 是实际所占磁盘大小


--查看表空间大小
select pg_tablespace_size('pg_default');


--查看序列与表的对应关系
  WITH fq_objects AS (SELECT c.oid,c.relname AS fqname ,
                           c.relkind, c.relname AS relation
                    FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace ),


     sequences AS (SELECT oid,fqname FROM fq_objects WHERE relkind = 'S'), 
     tables    AS (SELECT oid, fqname FROM fq_objects WHERE relkind = 'r' ) 
         SELECT
       s.fqname AS sequence,
       '->' as depends,
       t.fqname AS table
      FROM
       pg_depend d JOIN sequences s ON s.oid = d.objid 
                 JOIN tables t ON t.oid = d.refobjid 
          WHERE
       d.deptype = 'a' and t.fqname = 'cc';

分享到:
评论

相关推荐

    SQL工具SqlDbx

    SqlDbx支持多种数据库系统,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL、DB2等,这使得它具有广泛的适用性,无论你是在处理哪种类型的数据库,都能得心应手。它通过直观的用户界面提供对SQL查询的执行,...

    PostgreSQL实用实例参考

    **PostgreSQL实用实例参考** PostgreSQL,又称为PG,是一种开源的关系型数据库管理系统,以其强大的功能、稳定性以及高度的可扩展性而广受开发者欢迎。本文档深入浅出地介绍了PostgreSQL的诸多实用技巧和最佳实践,...

    postgresql的类似sqlserver的isdate方法

    在SQL Server中,`ISDATE`是一个非常实用的函数,用于检查一个字符串是否能被解析为合法的日期格式。而在PostgreSQL数据库系统中,并没有内置与SQL Server完全相同的`ISDATE`功能。然而,我们可以自定义一个类似的...

    实用实例参考+PostgreSQL8.0中文手册

    "PostgreSQL实用实例参考.pdf"可能包含了各种实际应用场景的示例,帮助用户理解如何在项目中有效利用PostgreSQL的功能。 8. **CHM格式文档** "PostgreSQL8.0.005610.chm"是Windows的帮助文件格式,通常包含详尽的...

    PostgreSQL 实用实例参考

    **PostgreSQL 实用实例参考** PostgreSQL,一种强大的开源对象-关系型数据库管理系统(ORDBMS),在全球范围内被广泛应用于各种规模的企业和项目。它的强大之处在于其丰富的特性和高度的可扩展性,使得它能够处理...

    PostgreSQL实用实例参考.pdf

    ### PostgreSQL实用实例参考知识点概述 #### 一、简介 - **文档背景**:该文档由陈景峰(网名:netkiller)编写,历时三个月完成。文档内容基于作者实际工作经验整理而成,旨在提供一系列PostgreSQL数据库的实际...

    实用SQL解决开发难题

    本主题“实用SQL解决开发难题”聚焦于如何利用SQL来解决一些实际开发过程中遇到的问题。下面我们将详细探讨标题和描述中提到的知识点。 首先,我们来看“获取逗号分割的字符串数据中的元素”。在数据库中,有时我们...

    PostgreSQL实用实例

    **PostgreSQL实用实例** 在IT领域,数据库管理系统(DBMS)是支撑各种应用程序运行的核心组件。PostgreSQL,简称Postgres,是一款开源、功能强大的对象关系型数据库系统,它以其高度的稳定性和灵活性著称。本篇文章...

    PostgreSQL修炼之道:从小工到专家

     实用与特色兼顾:书中不仅介绍了与PostgreSQL配套的实用性很强的主流开源软件(如PgBouncer、Slony-I、Bucardo、PL/Proxy、pgpool-II、Postgres-XC),还针对PostgreSQL的特色功能(如规则系统、正则表达式、序列...

    postgresql-8.4.4-1-windows

    PostgreSQL是一种开源关系型数据库管理系统(RDBMS),在IT领域广泛应用,因其强大的功能、高度的稳定性和良好的社区支持而备受赞誉。...对于需要使用或研究PostgreSQL 8.4.4版本的用户来说,这是一个非常实用的资源。

    PostgreSQL实战

    《PostgreSQL实战》是一本专注于数据库管理系统的实用指南,特别针对2018年6月出版的最新版进行了全面的更新和优化。PostgreSQL,作为一个高度成熟且功能强大的开源关系型数据库管理系统(RDBMS),在全球范围内被...

    postgresql 10 high performance PDF、epub电子书和各章节中使用到的SQL语句文件

    通过阅读《PostgreSQL 10 High Performance》,无论是初学者还是经验丰富的DBA,都能获取到大量实用的知识和技巧,提升在PostgreSQL 10环境下构建高性能数据库系统的能力。同时,提供的PDF和epub格式电子书满足了...

    postgresql

    描述中提到“非常实用的数据库开发工具”,意味着PostgreSQL不仅适用于企业级的数据存储,也是开发者学习和实践数据库技术的理想选择。它支持SQL标准,提供事务处理、复杂的查询、以及各种数据类型,包括文本、数字...

    postgresql-cmd-12.0.zip

    "postgresql-cmd-12.0.zip"这个压缩包文件显然包含了PostgreSQL 12.0版本的命令行工具,主要针对Windows操作系统,并且可能包括了用于在命令提示符下管理数据库的实用程序。 首先,让我们深入了解一下PostgreSQL的...

    postgresql9.6.zip

    3. **postgresql96-contrib-9.6.20-1PGDG.rhel6.x86_64.rpm**:这个包包含了一些附加的模块和实用程序,它们不是PostgreSQL服务器的标准部分,但可以扩展其功能。例如,它可能包括哈希函数、聚合函数、数据类型和...

    PostgreSQL Extension扩展实例

    这不仅增强了数据库的实用性,也提高了开发者的效率,特别是在处理大量时间序列数据时。在实际应用中,根据业务需求,还可以进一步定制更复杂的时间操作功能,进一步提升数据分析和处理的能力。

    PostgreSQL从入门到精通

    在 PostgreSQL 中,可以使用扁平文件来存储数据,但是这种方法不太实用,因为它不能支持事务处理和数据安全等功能。 重复单元和其他问题 重复单元是指在数据库中出现的重复数据,这可能会导致数据一致性问题。在 ...

    万年老黄历sql数据文件

    在实际应用中,这样的数据文件可能会被导入到各种SQL数据库管理系统中,如MySQL、PostgreSQL、Oracle或Microsoft SQL Server等。用户可以通过编写SQL查询来检索特定日期的黄历信息,或者进行更复杂的分析,比如找出...

    postgresql-embedded,嵌入式PostgreSQL服务器.zip

    PostgreSQL是一个功能强大的【开源关系型数据库管理系统】,支持SQL标准,并提供了许多高级特性,如事务处理、复杂的查询、多版本并发控制(MVCC)等。其开源属性意味着任何人都可以自由地使用、修改和分发,这极大...

Global site tag (gtag.js) - Google Analytics