首頁 資料庫 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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++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教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1248
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