導航:首頁 > 編程大全 > postgre資料庫

postgre資料庫

發布時間:2021-02-26 00:21:10

㈠ 如何查PostgreSQL 資料庫中所有的表

這個也是從 oid2name 中扒出來的:

[postgres@localhost bin]$ ./oid2name -d postgres
From database "postgres":
now:
SELECT pg_catalog.pg_relation_filenode(c.oid) as "Filenode", relname as "Table Name" FROM pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_database d ON d.datname = pg_catalog.current_database(),pg_catalog.pg_tablespace t WHERE relkind IN ('r') AND n.nspname NOT IN ('pg_catalog', 'information_schema') AND n.nspname !~ '^pg_toast' AND t.oid = CASE WHEN reltablespace <> 0 THEN reltablespace ELSE dattablespace END ORDER BY relname
Filenode Table Name
----------------------
24608 gaotab
24604 testtab
[postgres@localhost bin]$

執行結果就是這樣,這里沒有用我給出的 postgres 資料庫名 ,而是用了 pg_catalog.current_database()

我把格式整理一下,並且把資料庫名換成我想要的 』postgres『,當然,如果有其他資料庫,換其他的名字就可以了。

SELECT
pg_catalog.pg_relation_filenode(c.oid) as "Filenode",
relname as "Table Name"

FROM
pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_catalog.pg_database d ON d.datname = 'postgres',
pg_catalog.pg_tablespace t
WHERE
relkind IN ('r')
AND n.nspname NOT IN ('pg_catalog', 'information_schema')
AND n.nspname !~ '^pg_toast'
AND t.oid = CASE WHEN reltablespace <> 0 THEN reltablespace ELSE dattablespace END

ORDER BY
relname

其實 t 是沒有必要的,還可以再簡化:

SELECT
pg_catalog.pg_relation_filenode(c.oid) as "Filenode",
relname as "Table Name"

FROM
pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_catalog.pg_database d ON d.datname = 'postgres'

WHERE
relkind IN ('r')
AND n.nspname NOT IN ('pg_catalog', 'information_schema')
AND n.nspname !~ '^pg_toast'

ORDER BY
relname

㈡ sql資料庫與postgre資料庫的區別

access是中小型資料庫,sql是大型的,當存儲容量達到一定程度的時候,就會明顯的感覺到他們存取速度上的區別.
access資料庫和sql可以互轉

㈢ MySQL與PostgreSQL比較 哪個資料庫更好

如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫呢?

在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL

MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括 Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如 WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之 後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存 儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版 本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一 些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一 Michael "Monty" Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的 MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL

PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了 多個不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲 明即可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。PostgreSQL的文檔非 常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來自於獨立廠商的商業支持。
數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性的,它對於資料庫訪問提供了強大的安全性 保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規則確保數據質量。在眾多的管理特性 中,point-in-time recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是 PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能 了。
平台
MySQL與PostgreSQL都出現在一些高流量的Web站點上:
MySQL:Slashdot、Twitter、Facebook與Wikipedia
PostgreSQL:Yahoo使用了一個修改的PostgreSQL資料庫來處理每天數以億計的事件,還有Reddit和Disqus
MySQL與PostgreSQL都能運行在多個操作系統上,如Linux、Unix、Mac OS X與Windows。他們都是開源、免費的,因此測試他們時的唯一代價就是你的時間與硬體。他們都很靈活且具有可伸縮性,可用在小型系統和大型分布式系統 上。MySQL在一個領域上要比PostgreSQL更進一步,那就是它的觸角延伸到了嵌入式領域,這是通過libmysqld實現的。 PostgreSQL不支持嵌入式應用,依然堅守在傳統的客戶端/伺服器架構上。
MySQL通常被認為是針對網站與應用的快速資料庫後端,能夠進行快速的讀取和大量的查詢操作,不過在復雜特性與數據完整性檢查方面不太盡如人意。 PostgreSQL是針對事務型企業應用的嚴肅、功能完善的資料庫,支持強ACID特性和很多數據完整性檢查。他們二者都在某些任務上具有很快的速 度,MySQL不同存儲引擎的行為有較大差別。MyISAM引擎是最快的,因為它只執行很少的數據完整性檢查,適合於後端讀操作較多的站點,不過對於包含 敏感數據的讀/寫資料庫來說就是個災難了,因為MyISAM表最終可能會損壞。MySQL提供了修復MySQL表的工具,不過對於敏感數據來說,支持 ACID特性的InnoDB則是個更好的選擇。
與之相反,PostgreSQL則是個只有單一存儲引擎的完全集成的資料庫。你可以通過調整postgresql.conf文件的參數來改進性能,也可以調整查詢與事務。PostgreSQL文檔對於性能調優提供了非常詳盡的介紹。
MySQL與PostgreSQL都是高可配置的,並且可以針對不同的任務進行相應的優化。他們都支持通過擴展來添加額外的功能。
一個常見的誤解就是MySQL要比PostgreSQL更容易學習。關系資料庫系統都是非常復雜的,這兩個資料庫的學習曲線其實是差不多的。
標准兼容性
PostgreSQL旨在實現SQL兼容性(當前標準是ANSI-SQL:2008)。MySQL則兼容大部分SQL,不過還有自己的擴展,可以支 持NoSQL特性,這在參考手冊中都有介紹。每種方式都有優缺點。兼容標准會讓資料庫管理員、資料庫開發者與應用開發者更舒服一些,因為這意味著他們只需 學習一套標准、一套特性和命令即可。這會節省時間,提升效率,也不會被鎖定在特定的廠商上。
支持使用非標準的自定義功能的人們認為這樣可以快速採用新的特性,而不必等待標准進程完成。ANSI/ISO標准在不斷演化,因此標准兼容性也是個 變化的目標:知名的關系型資料庫Microsoft SQL Server、Oracle與IBM DB2也只是部分兼容於標准。
結論
雖然有不同的歷史、引擎與工具,不過並沒有明確的參考能夠表明這兩個資料庫哪一個能夠適用於所有情況。很多組織喜歡使用PostgreSQL,因為 它的可靠性好,在保護數據方面很擅長,而且是個社區項目,不會陷入廠商的牢籠之中。MySQL更加靈活,提供了更多選項來針對不同的任務進行裁剪。很多時 候,對於一個組織來說,對某個軟體使用的熟練程度要比特性上的原因更重要。

㈣ postgreSQL資料庫有什麼用啊

優點事實上, PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以說是目前世界上最豐富的數據類型的支持,其中有些數據類型可以說連商業資料庫都不具備, 比如 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟體資料庫,很長時間以來,PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統。直到最近才有 Inprise 的 InterBase 以及 SAP 等廠商將其原先專有軟體開放為自由軟體之後才打破了這個唯一。最後,PostgreSQL擁有一支非常活躍的開發隊伍,而且在許多黑客的努力下,PostgreSQL 的質量日益提高。
從技術角度來講,PostgreSQL 採用的是比較經典的 C/S (client/server)結構,也就是一個客戶端對應一個伺服器端守護進程的模式,這個守護進程分析客戶端來的查詢請求,生成規劃樹,進行數據檢索並最終把結果格式化輸出後返回給客戶端。為了便於客戶端的程序的編寫,由資料庫伺服器提供了統一的客戶端 C 介面。而不同的客戶端介面都是源自這個 C 介面,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C++,ESQL 等, 同時也要指出的是,PostgreSQL 對介面的支持也是非常豐富的,幾乎支持所有類型的資料庫客戶端介面。這一點也可以說是 PostgreSQL 一大優點。
缺點
從 Postgres 開始,PostgreSQL 就經受了多次變化。
首先,早期的 PostgreSQL 繼承了幾乎所有 Ingres, Postgres, Postgres95 的問題:過於學院味,因為首先它的目的是資料庫研究,因此不論在穩定性, 性能還是使用方便方面,長期以來一直沒有得到重視,直到 PostgreSQL 項目開始以後,情況才越來越好,目前,PostgreSQL 已經完全可以勝任任何中上規模範圍內的應用范圍的業務。目前有報道的生產資料庫的大小已經有 TB 級的數據量,已經逼近 32 位計算的極限。不過學院味也給 PostgreSQL 帶來一個意想不到的好處:大概因為各大學的軟硬體環境差異太大的緣故,它是目前支持平台最多的資料庫管理系統的一種,所支持的平台多達十幾種,包括不同的系統,不同的硬體體系。至今,它仍然保持著支持平台最多的資料庫管理系統的稱號。
其次,PostgreSQL 的確還欠缺一些比較高端的資料庫管理系統需要的特性,比如資料庫集群,更優良的管理工具和更加自動化的系統優化功能 等提高資料庫性能的機制等。

㈤ postgresql和mysql的區別

目前關系型資料庫大體分為兩大陣營:一是非開源的商業資料庫系統,內SQL Server就是站在這容個陣營;另一大陣營就是開源資料庫,PostgreSQL就屬於這一陣營。
非開元的商業資料庫系統,他們的商業化程度非常高,因此熟悉掌握的人也比較多,相應的項目機會也比較多;PostgreSQL也是一款很不錯的開源資料庫系統,但相對功能較為復雜,應用的領域也不是很廣泛。

㈥ 如何使用postgresql資料庫

打開軟體,進入界面中。

雙擊「PostgresSQL 9.3」連接伺服器

方法一:專右鍵單擊「postgres」,選擇「新建屬對象」--新建資料庫,設置新的資料庫的參數,所有者一般默認為「postgres」

新建完後,不能立即看到界面上更新的數據,需要點擊界面上的更新按鈕才能夠看到資料庫的變化情況。

方法二:在插件中輸入SQL語言,運行命令

6
方法三:點擊面板上的「執行任意的SQL查詢」

㈦ postgresql是什麼資料庫請詳解一下,謝謝

PostgreSQL 是一種非常復雜的對象-關系型資料庫管理系統(ORDBMS), 也是目前功能最強大,特性最豐內富和最復雜的自由容軟體資料庫系統。有些特性甚至連商業資料庫都不具備。這個起源於伯克利(BSD)的資料庫研究計劃目前已經衍生成一項國際開發項目, 並且有非常廣泛的用戶。
PostgreSQL 可以說是最富特色的自由資料庫管理系統,甚至我們也可以說是最強大的自由軟體資料庫管理系統。事實上, PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以說是目前世界上最豐富的數據類型的支持,其中有些數據類型可以說連商業資料庫都不具備, 比如 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟體資料庫,很長時間以來,PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統。直到最近才有 Inprise 的 InterBase 以及 SAP 等廠商將其原先專有軟體開放為自由軟體之後才打破了這個唯一。

㈧ postgresql資料庫

目前沒有現成的函數可以做到通過鍵值更新json中的值,也無法插入一對鍵值。回

對於這種鍵值對類型的json數據,可答以考慮轉換成text,然後由text進行運算,再轉換成json值。示例如下:

withsas(select'{"a":"Hello","b":"World!"}'::jsonasj1)
selects.j1,j1::textasj2,
replace(j1::text,(s.j1->'b')::text,'"Andy"'::text)::jsonasj2,--替換b鍵值的內容
(replace(s.j1::text,'}','')||','||replace(('{"c":"OK?"}'::json)::text,'{',''))::jsonasj3--添加一個鍵值對,目前未能插入到指定位置
froms;

㈨ postgre資料庫怎麼用存儲過程

1,結構
PL/pgSQL是一種塊結構的語言,比較方便的是用pgAdmin III新建Function,填入一些參數就可以了。基本上是這樣的:
CREATE OR REPLACE FUNCTION 函數名(參數1,[整型 int4, 整型數組 _int4, …])
RETURNS 返回值類型 AS
$BODY$
DECLARE
變數聲明
BEGIN
函數體
END;
$BODY$
LANGUAGE 『plpgsql』 VOLATILE;
2,變數類型 除了postgresql內置的變數類型外,常用的還有 RECORD ,表示一條記錄。
賦值 :「變數 := 表達式;」
連接字元串的是「||」,比如 sql := 『SELECT * FROM』 || table || 『WHERE …』;
3,判斷
IF 條件 THEN

ELSEIF 條件 THEN

ELSE

END IF;
4,循環 循環有好幾種寫法:
WHILE expression LOOP
statements
END LOOP;
還有常用的一種是:(從1循環到9可以寫成FOR i IN 1..9 LOOP)
FOR name IN [ REVERSE ] expression .. expression LOOP
statements
END LOOP;

閱讀全文

與postgre資料庫相關的資料

熱點內容
什麼網站有最清晰的VR視頻 瀏覽:307
flv轉avi用什麼app 瀏覽:999
數控r25外圓角怎麼編程 瀏覽:278
ansyswin10兼容性 瀏覽:595
下載日本電影的軟體 瀏覽:550
國產網站推薦 瀏覽:698
交換的一天女主介紹 瀏覽:219
主角被戴綠帽子的玄幻小說 瀏覽:677
法國大尺度電影1003法國大尺度電影 瀏覽:587
java用ftp做數據傳輸方案 瀏覽:752
手機數據如何挑選 瀏覽:33
途牛大數據 瀏覽:775
免費觀看電影電視劇的網站推薦 瀏覽:310
u盤誤刪文件恢復免費軟體免費版 瀏覽:496
主角能來回穿越的小說 瀏覽:212
linuxphpa 瀏覽:70
西域都護觀後感 瀏覽:698
屍香完整版在線免費觀看 瀏覽:63
小電影自拍 瀏覽:424
哪裡有開源文件管理器 瀏覽:502

友情鏈接