首页 数据库 mysql教程 PostgreSQL实用查询SQL

PostgreSQL实用查询SQL

Jun 07, 2016 pm 02:53 PM
postgresql sql 实用 查询

PostgreSQL实用查询SQL 整理了postgresql的系统表关联的常用SQL,如下: --查看数据库 www.2cto.com select * from pg_database; --查看表空间 select * from pg_tablespace; --查看语言 select * from pg_language; --查看角色用户 select * from pg_user;

PostgreSQL实用查询SQL

 

整理了postgresql的系统表关联的常用SQL,如下:

--查看数据库  www.2cto.com  

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

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
Hibernate 框架中 HQL 和 SQL 的区别是什么? Hibernate 框架中 HQL 和 SQL 的区别是什么? Apr 17, 2024 pm 02:57 PM

HQL和SQL在Hibernate框架中进行比较:HQL(1.面向对象语法,2.数据库无关的查询,3.类型安全),而SQL直接操作数据库(1.与数据库无关的标准,2.可执行复杂查询和数据操作)。

Oracle SQL中除法运算的用法 Oracle SQL中除法运算的用法 Mar 10, 2024 pm 03:06 PM

《OracleSQL中除法运算的用法》在OracleSQL中,除法运算是常见的数学运算之一。在数据查询和处理过程中,除法运算可以帮助我们计算字段之间的比例或者得出特定数值的逻辑关系。本文将介绍OracleSQL中除法运算的用法,并提供具体的代码示例。一、OracleSQL中除法运算的两种方式在OracleSQL中,除法运算可以使用两种不同的方式进行

Oracle和DB2的SQL语法比较与区别 Oracle和DB2的SQL语法比较与区别 Mar 11, 2024 pm 12:09 PM

Oracle和DB2是两个常用的关系型数据库管理系统,它们都有自己独特的SQL语法和特点。本文将针对Oracle和DB2的SQL语法进行比较与区别,并提供具体的代码示例。数据库连接在Oracle中,使用以下语句连接数据库:CONNECTusername/password@database而在DB2中,连接数据库的语句如下:CONNECTTOdataba

全角英文字母转换为半角形式的实用技巧 全角英文字母转换为半角形式的实用技巧 Mar 26, 2024 am 09:54 AM

全角英文字母转换为半角形式的实用技巧在现代生活中,我们经常会接触到英文字母,在使用电脑、手机等设备时也经常需要输入英文字母。然而,有时候我们会遇到全角英文字母的情况,而我们需要使用的是半角形式。那么,如何将全角英文字母转换为半角形式呢?下面就为大家介绍一些实用的技巧。首先,全角英文字母和数字是指在输入法中占据一个全角位置的字符,而半角英文字母和数字则是占据一

12306怎么查询历史购票记录 查看历史购票记录的方法 12306怎么查询历史购票记录 查看历史购票记录的方法 Mar 28, 2024 pm 03:11 PM

  12306订票app下载最新版是一款大家非常满意的出行购票软件,想去哪里就去那里非常方便,软件内提供的票源非常多,只需要通过实名认证就能在线购票,所有用户的出行车票机票都可以轻松买到,享受不同的优惠折扣。还能提前开启预约抢票,预约酒店、专车接送都是可以的,有了它想去哪里就去那里一键购票,出行更加简单方便,让大家的出行体验更舒服,现在小编在线详细为12306用户们带来查看历史购票记录的方法。  1.打开铁路12306,点击右下角我的,点击我的订单  2.在订单页面点击已支付。  3.在已支付页

学信网如何查询自己的学历 学信网如何查询自己的学历 Mar 28, 2024 pm 04:31 PM

学信网如何查询自己的学历?在学信网中是可以查询到自己的学历,很多用户都不知道如何在学信网中查询到自己的学历,接下来就是小编为用户带来的学信网查询自己学历方法图文教程,感兴趣的用户快来一起看看吧!学信网使用教程学信网如何查询自己的学历一、学信网入口:https://www.chsi.com.cn/二、网站查询:第一步:点击上方学信网地址,进入首页点击【学历查询】;第二步:在最新的网页中点击如下图箭头所示的【查询】;第三步:之后在新页面点击【的登陆学信档案】;第四步:在登陆页面输入信息点击【登陆】;

数据库技术大比拼:Oracle和SQL的区别有哪些? 数据库技术大比拼:Oracle和SQL的区别有哪些? Mar 09, 2024 am 08:30 AM

数据库技术大比拼:Oracle和SQL的区别有哪些?在数据库领域中,Oracle和SQLServer是两种备受推崇的关系型数据库管理系统。尽管它们都属于关系型数据库的范畴,但两者之间存在着诸多不同之处。在本文中,我们将深入探讨Oracle和SQLServer之间的区别,以及它们在实际应用中的特点和优势。首先,Oracle和SQLServer在语法方面存

MySQL与PL/SQL的异同比较 MySQL与PL/SQL的异同比较 Mar 16, 2024 am 11:15 AM

MySQL与PL/SQL是两种不同的数据库管理系统,分别代表了关系型数据库和过程化语言的特点。本文将比较MySQL和PL/SQL的异同点,并附带具体的代码示例进行说明。MySQL是一种流行的关系型数据库管理系统,采用结构化查询语言(SQL)来管理和操作数据库。而PL/SQL是Oracle数据库特有的过程化语言,用于编写存储过程、触发器和函数等数据库对象。相同

See all articles