pg經常使用命令

在網上看到的PG命令,很是齊全,作個筆記平時本身用的時候方便查,也分享給你們。 1.createdb 數據庫名稱 產生數據庫linux

2.dropdb  數據庫名稱  刪除數據庫sql

3.CREATE USER 建立用戶數據庫

4.drop User 刪除用戶服務器

5.SELECT usename FROM pg_user; 查看系統用戶信息session

7.SELECT version(); 查看版本信息ide

8.psql 數據庫名 打開psql交互工具函數

9.mydb=> \i basics.sql \i 命令從指定的文件中讀取命令。工具

10.COPY weather FROM '/home/user/weather.txt'; 批量將文本文件中內容導入到wether表post

11.SHOW search_path; 顯示搜索路徑編碼

12.建立用戶    CREATE USER 用戶名 WITH PASSWORD '密碼'

13.建立模式    CREATE SCHEMA myschema;

14.刪除模式    DROP SCHEMA myschema;

15.查看搜索模式    SHOW search_path;

16.設置搜索模式    SET search_path TO myschema,public;

17.建立表空間   create tablespace 表空間名稱 location '文件路徑';

18.顯示默認表空間   show default_tablespace;

19.設置默認表空間   set default_tablespace=表空間名稱;

20.指定用戶登陸     psql MTPS  -u

21.顯示當前系統時間、    now()

22.配置plpgsql語言 CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler

23.刪除規則 DROP RULE name ON relation [ CASCADE | RESTRICT ] name 要刪除的現存的規則. relation 該規則應用的關係名字(能夠是索引和). CASCADE 自動刪除依賴於此規則的對象。 RESTRICT 若是有任何依賴對象,則拒絕刪除此規則。這個是缺省。

24.日期格式函數   select 'P'||to_char(current_date,'YYYYMMDD')||'01'

25.產生組   Create Group 組名稱

26.修改用戶歸屬組   Alter Group 組名稱 add user 用戶名稱

26.爲組賦值權限   grant 操做 On 表名稱  to group 組名稱:

27.建立角色   Create Role 角色名稱

28.刪除角色   Drop Role 角色名稱

29.得到當前postgresql版本   SELECT version();

30.在linux中執行計劃任務    經過crontab執行    su root -c "psql -p 5433 -U developer MTPS -c'select test()'"    developer用戶的密碼存儲於環境變量PGPASSWORD中。

31.查詢表是否存在   select * from pg_statio_user_tables where relname='你的表名';

32.爲用戶複製SCHEMA權限   grant all on SCHEMA 做用域名稱 to 用戶名稱

33.整個數據庫導出   pg_dumpall -D -p 端口號 -h 服務器IP -U postgres(用戶名) > /home/xiaop/all.bak

34.數據庫備份恢復   psql -h 192.168.0.48 -p 5433  -U postgres

35.當前日期函數   current_date

36.返回第十條開始的5條記錄 select   *   from   tabname   limit   5   offset   10;

37.爲用戶賦模式權限 Grant   on schema developer  to UDataHouse

38.將字符轉換爲日期時間   select  to_timestamp('2010-10-21 12:31:22', 'YYYY-MM-DD hh24:mi:ss')

39.數據庫備份   pg_dumpall   -h 192.168.0.4 -p 5433 -U

40.\dn 查看schema

41.刪除schema   drop schema _clustertest cascade;

42.導出表   ./pg_dump -p 端口號 -U 用戶 -t 表名稱 -f 備份文件位置 數據庫;

43.字符串操做函數 select distinct(split_part(ip,'.',1)||'.'||split_part(ip,'.',2)) from t_t_userip order by (split_part(ip,'.',1)||'.'||split_part(ip,'.',2));

44.刪除表主鍵 alter table 表名 drop CONSTRAINT 主鍵名稱;

45.建立表空間 create tablespace 空間名稱 location '路徑';

46.查看錶結構 \d 表名

47.查看數據庫大小 SELECT pg_size_pretty(pg_database_size('MTPS')) As fulldbsize;

48.查看數據庫表大小 SELECT pg_size_pretty(pg_total_relation_size('developer.t_L_collectfile')) As fulltblsize, pg_size_pretty(pg_relation_size('developer.t_L_collectfile')) As justthetblsize

49.設置執行超過指定秒數的sql語句輸出到日誌 log_min_duration_statement = 3

50.超過必定秒數sql自動執行執行計劃 shared_preload_libraries = 'auto_explain' custom_variable_classes = 'auto_explain' auto_explain.log_min_duration = 4s

51.數據庫備份  select pg_start_backup('backup baseline');  select pg_stop_backup();  recovery.conf  restore_command='cp /opt/buxlog/%f %p'

52.重建索引  REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]  INDEX  從新創建聲明瞭的索引。  TABLE  從新創建聲明的表的全部索引。若是表有個從屬的"TOAST"表,那麼這個表也會從新索引。  DATABASE  重建當前數據庫裏的全部索引。 除非在獨立運行模式下,會忽略在共享系統表上的索引(見下文)。  SYSTEM  在當前數據庫上重建全部系統表上的索引。不會處理在用戶表上的索引。 另外,除了是在單主機模式下,共享的系統表也會被忽略(見下文)。  name  須要重建索引的索引,表或者數據庫的名稱。 表和索引名能夠有模式修飾。 目前,REINDEX DATABASE 和 REINDEX SYSTEM 只能重建當前數據庫的索引, 所以其參數必須匹配當前數據庫的名字。  FORCE  這是一個廢棄的選項,若是聲明,會被忽略。

54.數據字典查看錶結構 SELECT column_name, data_type from information_schema.columns where table_name = 'blog_sina_content_train';

52.查看被鎖定表 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;

53.查看客戶端鏈接狀況 SELECT client_addr ,client_port,waiting,query_start,current_query FROM pg_stat_activity;

54.常看數據庫.conf配置 show all

55.修改數據庫postgresql.conf參數 修改postgresql.conf內容 pg_ctl reload

56.回滾日誌強制恢復 pg_resetxlog -f 數據庫文件路徑

 idvalue  | remark ----------+--------  33953557 | inser

57.當前日期屬於一年中第幾周 select EXTRACT(week from TIMESTAMP '2010-10-22');

58.顯示最近執行命令 \s I. SQL 命令

ABORT — 退出當前事務

ALTER AGGREGATE — 修改一個彙集函數的定義

ALTER CONVERSION — 修改一個編碼轉換的定義

ALTER DATABASE — 修改一個數據庫

ALTER DOMAIN — 改變一個域的定義

ALTER FUNCTION — 修改一個函數的定義

ALTER GROUP — 修改一個用戶組

ALTER INDEX — 改變一個索引的定義

ALTER LANGUAGE — 修改一個過程語言的定義

ALTER OPERATOR — 改變一個操做符的定義

ALTER OPERATOR CLASS — 修改一個操做符表的定義

ALTER ROLE — 修改一個數據庫角色

ALTER SCHEMA — 修改一個模式的定義

ALTER SEQUENCE — 更改一個序列生成器的定義

ALTER TABLE — 修改表的定義

ALTER TABLESPACE — 改變一個表空間的定義

ALTER TRIGGER — 改變一個觸發器的定義

ALTER TYPE — 改變一個類型的定義

ALTER USER — 改變數據庫用戶賬號

ANALYZE — 收集與數據庫有關的統計

BEGIN — 開始一個事務塊

CHECKPOINT — 強制一個事務日誌檢查點

CLOSE — 關閉一個遊標

CLUSTER — 根據一個索引對某個表集簇

COMMENT — 定義或者改變一個對象的評註

COMMIT — 提交當前事務

COMMIT PREPARED — 提交一個早先爲兩階段提交準備好的事務

COPY — 在表和文件之間拷貝數據

CREATE AGGREGATE — 定義一個新的彙集函數

CREATE CAST — 定義一個用戶定義的轉換

CREATE CONSTRAINT TRIGGER — 定義一個新的約束觸發器

CREATE CONVERSION — 定義一個新的的編碼轉換

CREATE DATABASE — 建立新數據庫

CREATE DOMAIN — 定義一個新域

CREATE FUNCTION — 定義一個新函數

CREATE GROUP — 定義一個新的用戶組

CREATE INDEX — 定義一個新索引

CREATE LANGUAGE — 定義一種新的過程語言

CREATE OPERATOR — 定義一個新的操做符

CREATE OPERATOR CLASS — 定義一個新的操做符表

CREATE ROLE — define a new database role

CREATE RULE — 定義一個新的重寫規則

CREATE SCHEMA — 定義一個新的模式

CREATE SEQUENCE — 建立一個新的序列發生器

CREATE TABLE — 定義一個新表

CREATE TABLE AS — 從一條查詢的結果中定義一個新表

CREATE TABLESPACE — 定義一個新的表空間

CREATE TRIGGER — 定義一個新的觸發器

CREATE TYPE — 定義一個新的數據類型

CREATE USER — 建立一個新的數據庫用戶賬戶

CREATE VIEW — 定義一個視圖

DEALLOCATE — 刪除一個準備好的查詢

DECLARE — 定義一個遊標

DELETE — 刪除一個表中的行

DROP AGGREGATE — 刪除一個用戶定義的彙集函數

DROP CAST — 刪除一個用戶定義的類型轉換

DROP CONVERSION — 刪除一個用戶定義的編碼轉換

DROP DATABASE — 刪除一個數據庫

DROP DOMAIN — 刪除一個用戶定義的域

DROP FUNCTION — 刪除一個函數

DROP GROUP — 刪除一個用戶組

DROP INDEX — 刪除一個索引

DROP LANGUAGE — 刪除一個過程語言

DROP OPERATOR — 刪除一個操做符

DROP OPERATOR CLASS — 刪除一個操做符表

DROP ROLE — 刪除一個數據庫角色

DROP RULE — 刪除一個重寫規則

DROP SCHEMA — 刪除一個模式

DROP SEQUENCE — 刪除一個序列

DROP TABLE — 刪除一個表

DROP TABLESPACE — 刪除一個表空間

DROP TRIGGER — 刪除一個觸發器定義

DROP TYPE — 刪除一個用戶定義數據類型

DROP USER — 刪除一個數據庫用戶賬號

DROP VIEW — 刪除一個視圖

END — 提交當前的事務

EXECUTE — 執行一個準備好的查詢

EXPLAIN — 顯示語句執行規劃

FETCH — 用遊標從查詢中抓取行

GRANT — 定義訪問權限

INSERT — 在表中建立新行

LISTEN — 監聽一個通知

LOAD — 裝載或重載一個共享庫文件

LOCK — 明確地鎖定一個表

MOVE — 重定位一個遊標

NOTIFY — 生成一個通知

PREPARE — 建立一個準備好的查詢

PREPARE TRANSACTION — 爲當前事務作兩階段提交的準備

REINDEX — 重建索引

RELEASE SAVEPOINT — 刪除一個前面定義的保存點

RESET — 把一個運行時參數值恢復爲缺省值

REVOKE — 刪除訪問權限

ROLLBACK — 退出當前事務

ROLLBACK PREPARED — 取消一個早先爲兩階段提交準備好的事務

ROLLBACK TO — 回滾到一個保存點

SAVEPOINT — 在當前事務裏定義一個新的保存點

SELECT — 從表或視圖中取出若干行

SELECT INTO — 從一個查詢的結果中定義一個新表

SET — 改變運行時參數

SET CONSTRAINTS — 設置當前事務的約束檢查模式

SET ROLE — set the current user identifier of the current session

SET SESSION AUTHORIZATION — 爲當前會話設置會話用戶標識符和當前用戶標識符

SET TRANSACTION — 設置當前事務的特性

SHOW — 顯示運行時參數的數值

START TRANSACTION — 開始一個事務塊

TRUNCATE — 清空一個或者一堆表

UNLISTEN — 中止監聽通知信息

UPDATE — 更新一個表中的行

VACUUM — 垃圾收集以及可選地分析一個數據庫

II. 客戶端應用

clusterdb — 對一個PostgreSQL數據庫進行建簇

createdb — 建立一個新的 PostgreSQL 數據庫

createlang — 定義一種新的 PostgreSQL 過程語言

createuser — 定義一個新的 PostgreSQL 用戶賬戶

dropdb — 刪除一個現有 PostgreSQL 數據庫

droplang — 刪除一種 PostgreSQL 過程語言

dropuser — 刪除一個 PostgreSQL 用戶賬戶

ecpg — 嵌入的 SQL C 預處理器

pg_config — 檢索已安裝版本的 PostgreSQL 的信息

pg_dump — 將一個PostgreSQL數據庫抽出到一個腳本文件或者其它歸檔文件中

pg_dumpall — 抽出一個 PostgreSQL 數據庫集羣到腳本文件中

pg_restore — 從一個由 pg_dump 建立的備份文件中恢復 PostgreSQL 數據庫

psql — PostgreSQL 交互終端

vacuumdb — 收集垃圾而且分析一個PostgreSQL 數據庫

III. PostgreSQL 服務器應用 initdb — 建立一個新的 PostgreSQL數據庫集羣

ipcclean — 從失效的PostgreSQL服務器中刪除共享內存和信號燈

pg_controldata — 顯示一個 PostgreSQL 集羣的控制信息

pg_ctl — 啓動,中止和重起 PostgreSQL

pg_resetxlog — 重置一個 PostgreSQL 數據庫集羣的預寫日誌以及其它控制內容

postgres — 以單用戶模式運行一個 PostgreSQL服務器

postmaster — PostgreSQL多用戶數據庫服務器

59.導出數據庫角色  /data/pgsql/bin/pg_dumpall -p 5432 -U postgres -r >/tmp/postgres_8.3_role.bak

60.修改sequence全部者  grant all on sequence名稱 to 全部者;

61.修改sequence初始值 Alter SEQUENCE  sequencename START  value;

62.查看sequence當前值 SELECT currval('sequencename');

63.查看sequence下一值 SELECT nextval('sequencename');

64.設置sequence當前值  alter SEQUENCE  sequencename  restart with  startvalue; SELECT nextval('sequencename');

65.查詢表結構

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

66.將查詢結果直接輸出到文件 在psql中 \o 文件路徑 select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ; \o

67.查詢數據庫全部則 select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ;

68.結束正在執行的事務 SELECT * from  pg_stat_activity; select pg_cancel_backend('procpid');

60.結束session SELECT * from  pg_stat_activity; select  pg_terminate_backend('procpid'); 61.postgresql取消轉義字符功能  將postgresql.conf文件中的standard_conforming_strings設置爲on

62.查詢正在執行SQL SELECT      procpid,      start,      now() - start AS lap,      current_query  FROM      (SELECT          backendid,          pg_stat_get_backend_pid(S.backendid) AS procpid,          pg_stat_get_backend_activity_start(S.backendid) AS start,         pg_stat_get_backend_activity(S.backendid) AS current_query      FROM          (SELECT pg_stat_get_backend_idset() AS backendid) AS S      ) AS S  WHERE     current_query <> ''  ORDER BY     lap DESC;

相關文章
相關標籤/搜索