国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情

聚集網(wǎng)(jujiwang.com) - 收錄免費(fèi)分類目錄信息軟文發(fā)布網(wǎng)址提交
免費(fèi)加入

PostgreSQL 9.0精通:解鎖數(shù)據(jù)庫管理和性能優(yōu)化的秘密

文章編號:11735時間:2024-10-01人氣:


9.0精通

引言

PostgreSQL 9.0 是一款強(qiáng)大且流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),以其可靠性、可擴(kuò)展性和高級功能而聞名。對于任何希望掌握數(shù)據(jù)庫管理和性能優(yōu)化的專業(yè)人士來說,精通 PostgreSQL 9.0 至關(guān)重要。

第 1 部分:數(shù)據(jù)庫管理

  • 安裝和配置:了解 PostgreSQL 9.0 的安裝和配置過程,包括系統(tǒng)要求和最佳實踐。
  • 數(shù)據(jù)庫創(chuàng)建和管理:創(chuàng)建、修改和刪除數(shù)據(jù)庫,管理用戶和權(quán)限,并處理備份和恢復(fù)。
  • 表和列:創(chuàng)建、修改和刪除表,定義列、約束和索引,并組織數(shù)據(jù)以提高查詢性能。

第 2 部分:查詢優(yōu)化

  • 查詢分析:使用 EXPLAIN 命令分析查詢并識別瓶頸,以了解查詢執(zhí)行計劃和優(yōu)化策略。
  • 索引:創(chuàng)建和管理索引以加快查詢速度,并理解不同索引類型的優(yōu)缺點。
  • PostgreSQL
  • 查詢調(diào)優(yōu):應(yīng)用優(yōu)化技巧,例如重寫查詢、使用臨時表和索引連接。

第 3 部分:高級功能

  • 觸發(fā)器和存儲過程:創(chuàng)建觸發(fā)器和存儲過程以自動化任務(wù)、增強(qiáng)安全性并提高性能。
  • 全文搜索:配置和使用 PostgreSQL 的全文搜索功能,以快速高效地搜索文本數(shù)據(jù)。
  • 復(fù)制和分片:設(shè)置復(fù)制和分片以提高數(shù)據(jù)庫可用性和可擴(kuò)展性。

第 4 部分:性能監(jiān)視和故障排除

  • 監(jiān)視工具:使用內(nèi)置工具和第三方軟件監(jiān)視數(shù)據(jù)庫性能,例如 pg_stat_activity 和 pg_stat_statements。
  • 日志文件:查看和分析日志文件以診斷問題和識別性能瓶頸。
  • 故障排除:遵循系統(tǒng)化的方法診斷和解決數(shù)據(jù)庫問題,包括連接錯誤、查詢超時和數(shù)據(jù)損壞。
解鎖數(shù)據(jù)庫管理和性能優(yōu)化的秘密

結(jié)論

精通 PostgreSQL 9.0 是提升數(shù)據(jù)庫管理和性能優(yōu)化的關(guān)鍵技能。通過理解本指南中介紹的核心概念和技術(shù),您可以優(yōu)化數(shù)據(jù)庫性能、自動化任務(wù)并確保數(shù)據(jù)庫的高可用性和可靠性。掌握 PostgreSQL 9.0 將為您的職業(yè)道路打開許多機(jī)會,并幫助您在當(dāng)今競爭激烈的 IT 領(lǐng)域脫穎而出。


MySQL與PostgreSQL比較 哪個數(shù)據(jù)庫更好

特性MySQLPostgreSQL實例通過執(zhí)行 MySQL 命令(mysqld)啟動實例。 一個實例可以管理一個或多個數(shù)據(jù)庫。 一臺服務(wù)器可以運(yùn)行多個 mysqld 實例。 一個實例管理器可以監(jiān)視 mysqld 的各個實例。 通過執(zhí)行 Postmaster 進(jìn)程(pg_ctl)啟動實例。 一個實例可以管理一個或多個數(shù)據(jù)庫,這些數(shù)據(jù)庫組成一個集群。 集群是磁盤上的一個區(qū)域,這個區(qū)域在安裝時初始化并由一個目錄組成,所有數(shù)據(jù)都存儲在這個目錄中。 使用 initdb 創(chuàng)建第一個數(shù)據(jù)庫。 一臺機(jī)器上可以啟動多個實例。 數(shù)據(jù)庫數(shù)據(jù)庫是命名的對象集合,是與實例中的其他數(shù)據(jù)庫分離的實體。 一個 MySQL 實例中的所有數(shù)據(jù)庫共享同一個系統(tǒng)編目。 數(shù)據(jù)庫是命名的對象集合,每個數(shù)據(jù)庫是與其他數(shù)據(jù)庫分離的實體。 每個數(shù)據(jù)庫有自己的系統(tǒng)編目,但是所有數(shù)據(jù)庫共享 pg_databases。 數(shù)據(jù)緩沖區(qū)通過 innodb_buffer_pool_size 配置參數(shù)設(shè)置數(shù)據(jù)緩沖區(qū)。 這個參數(shù)是內(nèi)存緩沖區(qū)的字節(jié)數(shù),InnoDB 使用這個緩沖區(qū)來緩存表的數(shù)據(jù)和索引。 在專用的數(shù)據(jù)庫服務(wù)器上,這個參數(shù)最高可以設(shè)置為機(jī)器物理內(nèi)存量的 80%。 Shared_buffers 緩存。 在默認(rèn)情況下分配 64 個緩沖區(qū)。 默認(rèn)的塊大小是 8K。 可以通過設(shè)置 文件中的 shared_buffers 參數(shù)來更新緩沖區(qū)緩存。 數(shù)據(jù)庫連接客戶機(jī)使用 CONNECT 或 USE 語句連接數(shù)據(jù)庫,這時要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 客戶機(jī)使用 connect 語句連接數(shù)據(jù)庫,這時要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 身份驗證MySQL 在數(shù)據(jù)庫級管理身份驗證。 基本只支持密碼認(rèn)證。 PostgreSQL 支持豐富的認(rèn)證方法:信任認(rèn)證、口令認(rèn)證、Kerberos 認(rèn)證、基于 Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證加密可以在表級指定密碼來對數(shù)據(jù)進(jìn)行加密。 還可以使用 AES_ENCRYPT 和 AES_DECRYPT 函數(shù)對列數(shù)據(jù)進(jìn)行加密和解密。 可以通過 SSL 連接實現(xiàn)網(wǎng)絡(luò)加密。 可以使用 pgcrypto 庫中的函數(shù)對列進(jìn)行加密/解密。 可以通過 SSL 連接實現(xiàn)網(wǎng)絡(luò)加密。 審計可以對 querylog 執(zhí)行 grep。 可以在表上使用 PL/pgSQL 觸發(fā)器來進(jìn)行審計。 查詢解釋使用 EXPLAIN 命令查看查詢的解釋計劃。 使用 EXPLAIN 命令查看查詢的解釋計劃。 備份、恢復(fù)和日志InnoDB 使用寫前(write-ahead)日志記錄。 支持在線和離線完全備份以及崩潰和事務(wù)恢復(fù)。 需要第三方軟件才能支持熱備份。 在數(shù)據(jù)目錄的一個子目錄中維護(hù)寫前日志。 支持在線和離線完全備份以及崩潰、時間點和事務(wù)恢復(fù)。 可以支持熱備份。 JDBC 驅(qū)動程序可以從 參考資料 下載 JDBC 驅(qū)動程序。 可以從 參考資料 下載 JDBC 驅(qū)動程序。 表類型取決于存儲引擎。 例如,NDB 存儲引擎支持分區(qū)表,內(nèi)存引擎支持內(nèi)存表。 支持臨時表、常規(guī)表以及范圍和列表類型的分區(qū)表。 不支持哈希分區(qū)表。 由于PostgreSQL的表分區(qū)是通過表繼承和規(guī)則系統(tǒng)完成了,所以可以實現(xiàn)更復(fù)雜的分區(qū)方式。 索引類型取決于存儲引擎。 MyISAM:BTREE,InnoDB:BTREE。 支持 B-樹、哈希、R-樹和 Gist 索引。 約束支持主鍵、外鍵、惟一和非空約束。 對檢查約束進(jìn)行解析,但是不強(qiáng)制實施。 支持主鍵、外鍵、惟一、非空和檢查約束。 存儲過程和用戶定義函數(shù)支持 CREATE PROCEDURE 和 CREATE FUNCTION 語句。 存儲過程可以用 SQL 和 C++ 編寫。 用戶定義函數(shù)可以用 SQL、C 和 C++ 編寫。 沒有單獨的存儲過程,都是通過函數(shù)實現(xiàn)的。 用戶定義函數(shù)可以用 PL/pgSQL(專用的過程語言)、PL/Tcl、PL/Perl、PL/Python 、SQL 和 C 編寫。 觸發(fā)器支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器語句用過程語言復(fù)合語句編寫。 支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器過程用 C 編寫。 系統(tǒng)配置文件數(shù)據(jù)庫配置客戶機(jī)連接文件_ 支持有限的 XML 支持。 有限的 XML 支持。 數(shù)據(jù)訪問和管理服務(wù)器OPTIMIZE TABLE —— 回收未使用的空間并消除數(shù)據(jù)文件的碎片myisamchk -analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計數(shù)據(jù)(MyISAM 存儲引擎)mysql —— 命令行工具M(jìn)ySQL Administrator —— 客戶機(jī) GUI 工具Vacuum —— 回收未使用的空間Analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計數(shù)據(jù)psql —— 命令行工具pgAdmin —— 客戶機(jī) GUI 工具并發(fā)控制支持表級和行級鎖。 InnoDB 存儲引擎支持 READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ 和 SERIALIZABLE。 使用 SET TRANSACTION ISOLATION LEVEL 語句在事務(wù)級設(shè)置隔離級別。 支持表級和行級鎖。 支持的 ANSI 隔離級別是 Read Committed(默認(rèn) —— 能看到查詢啟動時數(shù)據(jù)庫的快照)和 Serialization(與 Repeatable Read 相似 —— 只能看到在事務(wù)啟動之前提交的結(jié)果)。 使用 SET TRANSACTION 語句在事務(wù)級設(shè)置隔離級別。 使用 SET SESSION 在會話級進(jìn)行設(shè)置。 MySQL相對于PostgreSQL的劣勢:MySQLPostgreSQL最重要的引擎InnoDB很早就由Oracle公司控制。 目前整個MySQL數(shù)據(jù)庫都由Oracle控制。 BSD協(xié)議,沒有被大公司壟斷。 對復(fù)雜查詢的處理較弱,查詢優(yōu)化器不夠成熟很強(qiáng)大的查詢優(yōu)化器,支持很復(fù)雜的查詢處理。 只有一種表連接類型:嵌套循環(huán)連接(nested-loop),不支持排序-合并連接(sort-merge join)與散列連接(hash join)。 都支持性能優(yōu)化工具與度量信息不足提供了一些性能視圖,可以方便的看到發(fā)生在一個表和索引上的select、delete、update、insert統(tǒng)計信息,也可以看到cache命中率。 網(wǎng)上有一個開源的pgstatspack工具。 InnoDB的表和索引都是按相同的方式存儲。 也就是說表都是索引組織表。 這一般要求主鍵不能太長而且插入時的主鍵最好是按順序遞增,否則對性能有很大影響。 不存在這個問題。 大部分查詢只能使用表上的單一索引;在某些情況下,會存在使用多個索引的查詢,但是查詢優(yōu)化器通常會低估其成本,它們常常比表掃描還要慢。 不存在這個問題表增加列,基本上是重建表和索引,會花很長時間。 表增加列,只是在數(shù)據(jù)字典中增加表定義,不會重建表存儲過程與觸發(fā)器的功能有限。 可用來編寫存儲過程、觸發(fā)器、計劃事件以及存儲函數(shù)的語言功能較弱除支持pl/pgsql寫存儲過程,還支持perl、python、Tcl類型的存儲過程:pl/perl,pl/python,pl/tcl。 也支持用C語言寫存儲過程。 不支持Sequence。 支持不支持函數(shù)索引,只能在創(chuàng)建基于具體列的索引。 不支持物化視圖。 支持函數(shù)索引,同時還支持部分?jǐn)?shù)據(jù)索引,通過規(guī)則系統(tǒng)可以實現(xiàn)物化視圖的功能。 執(zhí)行計劃并不是全局共享的, 僅僅在連接內(nèi)部是共享的。 執(zhí)行計劃共享MySQL支持的SQL語法(ANSI SQL標(biāo)準(zhǔn))的很小一部分。 不支持遞歸查詢、通用表表達(dá)式(Oracle的with 語句)或者窗口函數(shù)(分析函數(shù))。 都 支持不支持用戶自定義類型或域(domain)支持。 對于時間、日期、間隔等時間類型沒有秒以下級別的存儲類型可以精確到秒以下。 身份驗證功能是完全內(nèi)置的,不支持操作系統(tǒng)認(rèn)證、PAM認(rèn)證,不支持LDAP以及其它類似的外部身份驗證功能。 支持OS認(rèn)證、Kerberos 認(rèn)證 、Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證不支持database link。 有一種叫做Federated的存儲引擎可以作為一個中轉(zhuǎn)將查詢語句傳遞到遠(yuǎn)程服務(wù)器的一個表上,不過,它功能很粗糙并且漏洞很多有dblink,同時還有一個dbi-link的東西,可以連接到oracle和mysql上。 Mysql Cluster可能與你的想象有較大差異。 開源的cluster軟件較少。 復(fù)制(Replication)功能是異步的,并且有很大的局限性.例如,它是單線程的(single-threaded),因此一個處理能力更強(qiáng)的Slave的恢復(fù)速度也很難跟上處理能力相對較慢的Master.有豐富的開源cluster軟件支持。 explain看執(zhí)行計劃的結(jié)果簡單。 explain返回豐富的信息。 類似于ALTER TABLE或CREATE TABLE一類的操作都是非事務(wù)性的.它們會提交未提交的事務(wù),并且不能回滾也不能做災(zāi)難恢復(fù) DDL也是有事務(wù)的。 PostgreSQL主要優(yōu)勢:1. PostgreSQL完全免費(fèi),而且是BSD協(xié)議,如果你把PostgreSQL改一改,然后再拿去賣錢,也沒有人管你,這一點很重要,這表明了PostgreSQL數(shù)據(jù)庫不會被其它公司控制。 oracle數(shù)據(jù)庫不用說了,是商業(yè)數(shù)據(jù)庫,不開放。 而MySQL數(shù)據(jù)庫雖然是開源的,但現(xiàn)在隨著SUN被oracle公司收購,現(xiàn)在基本上被oracle公司控制,其實在SUN被收購之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的數(shù)據(jù)都是放在InnoDB引擎中的,反正我們公司都是這樣的。 所以如果MySQL的市場范圍與oracle數(shù)據(jù)庫的市場范圍沖突時,oracle公司必定會犧牲MySQL,這是毫無疑問的。 2. 與PostgreSQl配合的開源軟件很多,有很多分布式集群軟件,如pgpool、pgcluster、slony、plploxy等等,很容易做讀寫分離、負(fù)載均衡、數(shù)據(jù)水平拆分等方案,而這在MySQL下則比較困難。 3. PostgreSQL源代碼寫的很清晰,易讀性比MySQL強(qiáng)太多了,懷疑MySQL的源代碼被混淆過。 所以很多公司都是基本PostgreSQL做二次開發(fā)的。 4. PostgreSQL在很多方面都比MySQL強(qiáng),如復(fù)雜SQL的執(zhí)行、存儲過程、觸發(fā)器、索引。 同時PostgreSQL是多進(jìn)程的,而MySQL是線程的,雖然并發(fā)不高時,MySQL處理速度快,但當(dāng)并發(fā)高的時候,對于現(xiàn)在多核的單臺機(jī)器上,MySQL的總體處理性能不如PostgreSQL,原因是MySQL的線程無法充分利用CPU的能力。 目前只想到這些,以后想到再添加,歡迎大家拍磚。 PostgreSQL與oracle或InnoDB的多版本實現(xiàn)的差別PostgreSQL與oracle或InnoDB的多版本實現(xiàn)最大的區(qū)別在于最新版本和歷史版本是否分離存儲,PostgreSQL不分,而oracle和InnoDB分,而innodb也只是分離了數(shù)據(jù),索引本身沒有分開。 PostgreSQL的主要優(yōu)勢在于: 1. PostgreSQL沒有回滾段,而oracle與innodb有回滾段,oracle與Innodb都有回滾段。 對于oracle與Innodb來說,回滾段是非常重要的,回滾段損壞,會導(dǎo)致數(shù)據(jù)丟失,甚至數(shù)據(jù)庫無法啟動的嚴(yán)重問題。 另由于PostgreSQL沒有回滾段,舊數(shù)據(jù)都是記錄在原先的文件中,所以當(dāng)數(shù)據(jù)庫異常crash后,恢復(fù)時,不會象oracle與Innodb數(shù)據(jù)庫那樣進(jìn)行那么復(fù)雜的恢復(fù),因為oracle與Innodb恢復(fù)時同步需要redo和undo。 所以PostgreSQL數(shù)據(jù)庫在出現(xiàn)異常crash后,數(shù)據(jù)庫起不來的幾率要比oracle和mysql小一些。 2. 由于舊的數(shù)據(jù)是直接記錄在數(shù)據(jù)文件中,而不是回滾段中,所以不會象oracle那樣經(jīng)常報ora-錯誤。 3. 回滾可以很快完成,因為回滾并不刪除數(shù)據(jù),而oracle與Innodb,回滾時很復(fù)雜,在事務(wù)回滾時必須清理該事務(wù)所進(jìn)行的修改,插入的記錄要刪除,更新的記錄要更新回來(見row_undo函數(shù)),同時回滾的過程也會再次產(chǎn)生大量的redo日志。 4. WAL日志要比oracle和Innodb簡單,對于oracle不僅需要記錄數(shù)據(jù)文件的變化,還要記錄回滾段的變化。 PostgreSQL的多版本的主要劣勢在于: 1、最新版本和歷史版本不分離存儲,導(dǎo)致清理老舊版本需要作更多的掃描,代價比較大,但一般的數(shù)據(jù)庫都有高峰期,如果我們合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進(jìn)一步被加強(qiáng)了。 2、由于索引中完全沒有版本信息,不能實現(xiàn)Coverage index scan,即查詢只掃描索引,直接從索引中返回所需的屬性,還需要訪問表。 而oracle與Innodb則可以;進(jìn)程模式與線程模式的對比PostgreSQL和oracle是進(jìn)程模式,MySQL是線程模式。 進(jìn)程模式對多CPU利用率比較高。 進(jìn)程模式共享數(shù)據(jù)需要用到共享內(nèi)存,而線程模式數(shù)據(jù)本身就是在進(jìn)程空間內(nèi)都是共享的,不同線程訪問只需要控制好線程之間的同步。 線程模式對資源消耗比較少。 所以MySQL能支持遠(yuǎn)比oracle多的更多的連接。 對于PostgreSQL的來說,如果不使用連接池軟件,也存在這個問題,但PostgreSQL中有優(yōu)秀的連接池軟件軟件,如pgbouncer和pgpool,所以通過連接池也可以支持很多的連接。 堆表與索引組織表的的對比Oracle支持堆表,也支持索引組織表PostgreSQL只支持堆表,不支持索引組織表Innodb只支持索引組織表索引組織表的優(yōu)勢:表內(nèi)的數(shù)據(jù)就是按索引的方式組織,數(shù)據(jù)是有序的,如果數(shù)據(jù)都是按主鍵來訪問,那么訪問數(shù)據(jù)比較快。 而堆表,按主鍵訪問數(shù)據(jù)時,是需要先按主鍵索引找到數(shù)據(jù)的物理位置。 索引組織表的劣勢:索引組織表中上再加其它的索引時,其它的索引記錄的數(shù)據(jù)位置不再是物理位置,而是主鍵值,所以對于索引組織表來說,主鍵的值不能太大,否則占用的空間比較大。 對于索引組織表來說,如果每次在中間插入數(shù)據(jù),可能會導(dǎo)致索引分裂,索引分裂會大大降低插入的性能。 所以對于使用innodb來說,我們一般最好讓主鍵是一個無意義的序列,這樣插入每次都發(fā)生在最后,以避免這個問題。 由于索引組織表是按一個索引樹,一般它訪問數(shù)據(jù)塊必須按數(shù)據(jù)塊之間的關(guān)系進(jìn)行訪問,而不是按物理塊的訪問數(shù)據(jù)的,所以當(dāng)做全表掃描時要比堆表慢很多,這可能在OLTP中不明顯,但在數(shù)據(jù)倉庫的應(yīng)用中可能是一個問題。 PostgreSQL9.0中的特色功能: PostgreSQL中的Hot Standby功能也就是standby在應(yīng)用日志同步時,還可以提供只讀服務(wù),這對做讀寫分離很有用。 這個功能是oracle11g才有的功能。 PostgreSQL異步提交(Asynchronous Commit)的功能:這個功能oracle中也是到oracle11g R2才有的功能。 因為在很多應(yīng)用場景中,當(dāng)宕機(jī)時是允許丟失少量數(shù)據(jù)的,這個功能在這樣的場景中就特別合適。 在PostgreSQL9.0中把synchronous_commit設(shè)置為false就打開了這個功能。 需要注意的是,雖然設(shè)置為了異步提交,當(dāng)主機(jī)宕機(jī)時,PostgreSQL只會丟失少量數(shù)據(jù),異步提交并不會導(dǎo)致數(shù)據(jù)損壞而數(shù)據(jù)庫起不來的情況。 MySQL中沒有聽說過有這個功能。 PostgreSQL中索引的特色功能: PostgreSQL中可以有部分索引,也就是只能表中的部分?jǐn)?shù)據(jù)做索引,create index 可以帶where 條件。 同時PostgreSQL中的索引可以反向掃描,所以在PostgreSQL中可以不必建專門的降序索引了。

達(dá)芬奇安裝的時候為什么不能取消PostgreSQL9.0.4.1

達(dá)芬奇的數(shù)據(jù)系統(tǒng)底層是基于數(shù)據(jù)庫管理的(包括工作臨時狀態(tài)的暫存),所以這個數(shù)據(jù)庫系統(tǒng)PostgreSQL9.0.4.1是必備的,不能取消。

PostgreSQL@K8s 性能優(yōu)化記

本文作者蔡松露,作為云猿生數(shù)據(jù)的CTO和聯(lián)合創(chuàng)始人,以及阿里云數(shù)據(jù)庫的資深技術(shù)專家,他分享了在Kubernetes(K8s)環(huán)境中對比ECS(云服務(wù)器)上的PostgreSQL(ECS PG)和KubeBlocks(一個云原生數(shù)據(jù)庫管理系統(tǒng))的性能優(yōu)化經(jīng)驗。 他針對K8s上的數(shù)據(jù)庫性能提出了優(yōu)化策略,以確保在分布式架構(gòu)中數(shù)據(jù)庫能穩(wěn)定并滿足生產(chǎn)需求。 隨著企業(yè)傾向于全K8s架構(gòu),將數(shù)據(jù)庫遷移到Kubernetes面臨挑戰(zhàn)。 KubeBlocks,由曹偉(鳴嵩)團(tuán)隊開發(fā),作為數(shù)據(jù)庫管控平臺,支持多種數(shù)據(jù)庫,如MySQL、PG、Redis等。 蔡松露通過實際操作,首先調(diào)整了PG實例的資源限制,進(jìn)行了Sysbench讀寫壓力測試,以模擬生產(chǎn)環(huán)境。 在一系列的壓測中,他發(fā)現(xiàn)網(wǎng)絡(luò)延遲、磁盤帶寬瓶頸、Checkpoint與鎖競爭以及WAL日志創(chuàng)建過程中的問題對性能有很大影響。 通過調(diào)整臟頁回收比例、WAL日志大小和啟用Huge Page,他逐步縮小了問題范圍,最后將焦點鎖定在PostgreSQL內(nèi)核實現(xiàn)上,特別是WAL日志創(chuàng)建和同步機(jī)制。 在優(yōu)化過程中,蔡松露調(diào)整了wal_init_zero設(shè)置,并考慮了文件系統(tǒng)支持,以減少加鎖頻率。 他還建議根據(jù)存儲機(jī)制關(guān)閉full_page_write以降低IO競爭。 通過引入pgBouncer來處理高并發(fā),最終優(yōu)化后的KubeBlocks在并發(fā)量增加時表現(xiàn)出更好的性能和穩(wěn)定性。 總結(jié)來說,蔡松露的優(yōu)化策略顯示,盡管K8s環(huán)境下運(yùn)行PostgreSQL存在挑戰(zhàn),但通過細(xì)致的性能分析和針對性優(yōu)化,可以顯著提升數(shù)據(jù)庫在Kubernetes環(huán)境下的性能,使其滿足生產(chǎn)級別的要求。

如何從PostgreSQL9.1.7升級到9.2.4

具體過程如下:步驟1:安裝postgreSQL 9.2.4具體過程參見:如何安裝PostgreSQL 9.2.4 For Windows?步驟2:配置鑒權(quán)口令文件pg_upgrade會在升級過程中多次連接新舊數(shù)據(jù)庫,所以可以在pg_中將鑒權(quán)方式設(shè)為Trust或者在使用MD5鑒權(quán)方式下配置文件(文件位置:%APPDATA%\postgresql\)。 這樣可以避免在升級過程中提示鑒權(quán)失敗而導(dǎo)致升級不能正常進(jìn)行。 待升級成功后可以移除或清空文件內(nèi)容。 步驟3:安裝插件將舊數(shù)據(jù)庫服務(wù)器中使用的插件同樣安裝至新數(shù)據(jù)庫服務(wù)器中。 步驟4:停止新舊數(shù)據(jù)庫服務(wù)通過命令行或服務(wù)管理界面進(jìn)行出現(xiàn)問題:原因:未使用管理員權(quán)限運(yùn)行命令提示符(CMD)步驟5:用非windows系統(tǒng)管理員權(quán)限用戶做升級前準(zhǔn)備RUNAS /USER:postgres SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;步驟6:進(jìn)入postgres用戶目錄,執(zhí)行pg_upgrade(如果環(huán)境變量設(shè)置正確,會使用新版本下的pg_upgrade),會有升級相應(yīng)的日志文件生成于此命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]其中會使用 - r 參數(shù):作用是在系統(tǒng)升級成功后仍然保留日志文件。 如果升級過程中出現(xiàn)問題,可以通過windos事件檢查器及相應(yīng)升級日志文件進(jìn)行分析。 pg_upgrade_ pg_upgrade_ pg_upgrade_ pg_upgrade_server_ pg_upgrade_ 出現(xiàn)問題:(1) 沒有配置或pg_,檢查日志文件有如下錯誤信息could not connect to old postmaster started with the command:D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl -w -l pg_upgrade_ -D D:/Users/lv/Data/PostgreSQL/9.1 -o -p -b startcannot write to log file pg_upgrade_ (2) PATH環(huán)境變量配置錯誤引起的失敗手冊上的示例為:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 這樣舊數(shù)據(jù)庫服務(wù)器環(huán)境變量將會使其路徑優(yōu)先被搜索到,導(dǎo)致提示該版本下的pg_upgrade不支持升級到新數(shù)據(jù)庫版本。 (3) 失敗后根據(jù)提示重新用initdb生成數(shù)據(jù)庫時未創(chuàng)建用戶postgres (4) 創(chuàng)建用戶時未創(chuàng)建口令,檢查pg_upgrade_,有如下錯誤信息connection to database failed: fe_sendauth: no password supplied (5) 升級進(jìn)程未結(jié)束再次運(yùn)行pg_upgrade不成功可以在進(jìn)程管理中停止所有postgresql進(jìn)程,然后重新進(jìn)行升級(6) 升級成功后,日志文件被自動刪除,可以在命令行中用-r參數(shù)指定保留。 步驟7:恢復(fù)對配置文件(pg_,)進(jìn)行的修改主要是將鑒權(quán)方式修改回比較安全的模式步驟8:升級后處理升級完成后,pg_upgrade會提示需要運(yùn)行腳本或批處理文件檢查新數(shù)據(jù)庫服務(wù)器及刪除舊數(shù)據(jù)庫服務(wù)器數(shù)據(jù)。

有用PostgreSQL的嗎,哪個package好用一些

特性MySQLPostgreSQL實例通過執(zhí)行 MySQL 命令(mysqld)啟動實例。 一個實例可以管理一個或多個數(shù)據(jù)庫。 一臺服務(wù)器可以運(yùn)行多個 mysqld 實例。 一個實例管理器可以監(jiān)視 mysqld 的各個實例。 通過執(zhí)行 Postmaster 進(jìn)程(pg_ctl)啟動實例。 一個實例可以管理一個或多個數(shù)據(jù)庫,這些數(shù)據(jù)庫組成一個集群。 集群是磁盤上的一個區(qū)域,這個區(qū)域在安裝時初始化并由一個目錄組成,所有數(shù)據(jù)都存儲在這個目錄中。 使用 initdb 創(chuàng)建第一個數(shù)據(jù)庫。 一臺機(jī)器上可以啟動多個實例。 數(shù)據(jù)庫數(shù)據(jù)庫是命名的對象集合,是與實例中的其他數(shù)據(jù)庫分離的實體。 一個 MySQL 實例中的所有數(shù)據(jù)庫共享同一個系統(tǒng)編目。 數(shù)據(jù)庫是命名的對象集合,每個數(shù)據(jù)庫是與其他數(shù)據(jù)庫分離的實體。 每個數(shù)據(jù)庫有自己的系統(tǒng)編目,但是所有數(shù)據(jù)庫共享 pg_databases。 數(shù)據(jù)緩沖區(qū)通過 innodb_buffer_pool_size 配置參數(shù)設(shè)置數(shù)據(jù)緩沖區(qū)。 這個參數(shù)是內(nèi)存緩沖區(qū)的字節(jié)數(shù),InnoDB 使用這個緩沖區(qū)來緩存表的數(shù)據(jù)和索引。 在專用的數(shù)據(jù)庫服務(wù)器上,這個參數(shù)最高可以設(shè)置為機(jī)器物理內(nèi)存量的 80%。 Shared_buffers 緩存。 在默認(rèn)情況下分配 64 個緩沖區(qū)。 默認(rèn)的塊大小是 8K。 可以通過設(shè)置 文件中的 shared_buffers 參數(shù)來更新緩沖區(qū)緩存。 數(shù)據(jù)庫連接客戶機(jī)使用 CONNECT 或 USE 語句連接數(shù)據(jù)庫,這時要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 客戶機(jī)使用 connect 語句連接數(shù)據(jù)庫,這時要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 身份驗證MySQL 在數(shù)據(jù)庫級管理身份驗證。 基本只支持密碼認(rèn)證。 PostgreSQL 支持豐富的認(rèn)證方法:信任認(rèn)證、口令認(rèn)證、Kerberos 認(rèn)證、基于 Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證加密可以在表級指定密碼來對數(shù)據(jù)進(jìn)行加密。 還可以使用 AES_ENCRYPT 和 AES_DECRYPT 函數(shù)對列數(shù)據(jù)進(jìn)行加密和解密。 可以通過 SSL 連接實現(xiàn)網(wǎng)絡(luò)加密。 可以使用 pgcrypto 庫中的函數(shù)對列進(jìn)行加密/解密。 可以通過 SSL 連接實現(xiàn)網(wǎng)絡(luò)加密。 審計可以對 querylog 執(zhí)行 grep。 可以在表上使用 PL/pgSQL 觸發(fā)器來進(jìn)行審計。 查詢解釋使用 EXPLAIN 命令查看查詢的解釋計劃。 使用 EXPLAIN 命令查看查詢的解釋計劃。 備份、恢復(fù)和日志InnoDB 使用寫前(write-ahead)日志記錄。 支持在線和離線完全備份以及崩潰和事務(wù)恢復(fù)。 需要第三方軟件才能支持熱備份。 在數(shù)據(jù)目錄的一個子目錄中維護(hù)寫前日志。 支持在線和離線完全備份以及崩潰、時間點和事務(wù)恢復(fù)。 可以支持熱備份。 JDBC 驅(qū)動程序可以從 參考資料 下載 JDBC 驅(qū)動程序。 可以從 參考資料 下載 JDBC 驅(qū)動程序。 表類型取決于存儲引擎。 例如,NDB 存儲引擎支持分區(qū)表,內(nèi)存引擎支持內(nèi)存表。 支持臨時表、常規(guī)表以及范圍和列表類型的分區(qū)表。 不支持哈希分區(qū)表。 由于PostgreSQL的表分區(qū)是通過表繼承和規(guī)則系統(tǒng)完成了,所以可以實現(xiàn)更復(fù)雜的分區(qū)方式。 索引類型取決于存儲引擎。 MyISAM:BTREE,InnoDB:BTREE。 支持 B-樹、哈希、R-樹和 Gist 索引。 約束支持主鍵、外鍵、惟一和非空約束。 對檢查約束進(jìn)行解析,但是不強(qiáng)制實施。 支持主鍵、外鍵、惟一、非空和檢查約束。 存儲過程和用戶定義函數(shù)支持 CREATE PROCEDURE 和 CREATE FUNCTION 語句。 存儲過程可以用 SQL 和 C++ 編寫。 用戶定義函數(shù)可以用 SQL、C 和 C++ 編寫。 沒有單獨的存儲過程,都是通過函數(shù)實現(xiàn)的。 用戶定義函數(shù)可以用 PL/pgSQL(專用的過程語言)、PL/Tcl、PL/Perl、PL/Python 、SQL 和 C 編寫。 觸發(fā)器支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器語句用過程語言復(fù)合語句編寫。 支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器過程用 C 編寫。 系統(tǒng)配置文件數(shù)據(jù)庫配置客戶機(jī)連接文件_ 支持有限的 XML 支持。 有限的 XML 支持。 數(shù)據(jù)訪問和管理服務(wù)器OPTIMIZE TABLE —— 回收未使用的空間并消除數(shù)據(jù)文件的碎片myisamchk -analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計數(shù)據(jù)(MyISAM 存儲引擎)mysql —— 命令行工具M(jìn)ySQL Administrator —— 客戶機(jī) GUI 工具Vacuum —— 回收未使用的空間Analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計數(shù)據(jù)psql —— 命令行工具pgAdmin —— 客戶機(jī) GUI 工具并發(fā)控制支持表級和行級鎖。 InnoDB 存儲引擎支持 READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ 和 SERIALIZABLE。 使用 SET TRANSACTION ISOLATION LEVEL 語句在事務(wù)級設(shè)置隔離級別。 支持表級和行級鎖。 支持的 ANSI 隔離級別是 Read Committed(默認(rèn) —— 能看到查詢啟動時數(shù)據(jù)庫的快照)和 Serialization(與 Repeatable Read 相似 —— 只能看到在事務(wù)啟動之前提交的結(jié)果)。 使用 SET TRANSACTION 語句在事務(wù)級設(shè)置隔離級別。 使用 SET SESSION 在會話級進(jìn)行設(shè)置。 MySQL相對于PostgreSQL的劣勢:MySQLPostgreSQL最重要的引擎InnoDB很早就由Oracle公司控制。 目前整個MySQL數(shù)據(jù)庫都由Oracle控制。 BSD協(xié)議,沒有被大公司壟斷。 對復(fù)雜查詢的處理較弱,查詢優(yōu)化器不夠成熟很強(qiáng)大的查詢優(yōu)化器,支持很復(fù)雜的查詢處理。 只有一種表連接類型:嵌套循環(huán)連接(nested-loop),不支持排序-合并連接(sort-merge join)與散列連接(hash join)。 都支持性能優(yōu)化工具與度量信息不足提供了一些性能視圖,可以方便的看到發(fā)生在一個表和索引上的select、delete、update、insert統(tǒng)計信息,也可以看到cache命中率。 網(wǎng)上有一個開源的pgstatspack工具。 InnoDB的表和索引都是按相同的方式存儲。 也就是說表都是索引組織表。 這一般要求主鍵不能太長而且插入時的主鍵最好是按順序遞增,否則對性能有很大影響。 不存在這個問題。 大部分查詢只能使用表上的單一索引;在某些情況下,會存在使用多個索引的查詢,但是查詢優(yōu)化器通常會低估其成本,它們常常比表掃描還要慢。 不存在這個問題表增加列,基本上是重建表和索引,會花很長時間。 表增加列,只是在數(shù)據(jù)字典中增加表定義,不會重建表存儲過程與觸發(fā)器的功能有限。 可用來編寫存儲過程、觸發(fā)器、計劃事件以及存儲函數(shù)的語言功能較弱除支持pl/pgsql寫存儲過程,還支持perl、python、Tcl類型的存儲過程:pl/perl,pl/python,pl/tcl。 也支持用C語言寫存儲過程。 不支持Sequence。 支持不支持函數(shù)索引,只能在創(chuàng)建基于具體列的索引。 不支持物化視圖。 支持函數(shù)索引,同時還支持部分?jǐn)?shù)據(jù)索引,通過規(guī)則系統(tǒng)可以實現(xiàn)物化視圖的功能。 執(zhí)行計劃并不是全局共享的, 僅僅在連接內(nèi)部是共享的。 執(zhí)行計劃共享MySQL支持的SQL語法(ANSI SQL標(biāo)準(zhǔn))的很小一部分。 不支持遞歸查詢、通用表表達(dá)式(Oracle的with 語句)或者窗口函數(shù)(分析函數(shù))。 都 支持不支持用戶自定義類型或域(domain)支持。 對于時間、日期、間隔等時間類型沒有秒以下級別的存儲類型可以精確到秒以下。 身份驗證功能是完全內(nèi)置的,不支持操作系統(tǒng)認(rèn)證、PAM認(rèn)證,不支持LDAP以及其它類似的外部身份驗證功能。 支持OS認(rèn)證、Kerberos 認(rèn)證 、Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證不支持database link。 有一種叫做Federated的存儲引擎可以作為一個中轉(zhuǎn)將查詢語句傳遞到遠(yuǎn)程服務(wù)器的一個表上,不過,它功能很粗糙并且漏洞很多有dblink,同時還有一個dbi-link的東西,可以連接到oracle和mysql上。 Mysql Cluster可能與你的想象有較大差異。 開源的cluster軟件較少。 復(fù)制(Replication)功能是異步的,并且有很大的局限性.例如,它是單線程的(single-threaded),因此一個處理能力更強(qiáng)的Slave的恢復(fù)速度也很難跟上處理能力相對較慢的Master.有豐富的開源cluster軟件支持。 explain看執(zhí)行計劃的結(jié)果簡單。 explain返回豐富的信息。 類似于ALTER TABLE或CREATE TABLE一類的操作都是非事務(wù)性的.它們會提交未提交的事務(wù),并且不能回滾也不能做災(zāi)難恢復(fù) DDL也是有事務(wù)的。 PostgreSQL主要優(yōu)勢:1. PostgreSQL完全免費(fèi),而且是BSD協(xié)議,如果你把PostgreSQL改一改,然后再拿去賣錢,也沒有人管你,這一點很重要,這表明了PostgreSQL數(shù)據(jù)庫不會被其它公司控制。 oracle數(shù)據(jù)庫不用說了,是商業(yè)數(shù)據(jù)庫,不開放。 而MySQL數(shù)據(jù)庫雖然是開源的,但現(xiàn)在隨著SUN被oracle公司收購,現(xiàn)在基本上被oracle公司控制,其實在SUN被收購之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的數(shù)據(jù)都是放在InnoDB引擎中的,反正我們公司都是這樣的。 所以如果MySQL的市場范圍與oracle數(shù)據(jù)庫的市場范圍沖突時,oracle公司必定會犧牲MySQL,這是毫無疑問的。 2. 與PostgreSQl配合的開源軟件很多,有很多分布式集群軟件,如pgpool、pgcluster、slony、plploxy等等,很容易做讀寫分離、負(fù)載均衡、數(shù)據(jù)水平拆分等方案,而這在MySQL下則比較困難。 3. PostgreSQL源代碼寫的很清晰,易讀性比MySQL強(qiáng)太多了,懷疑MySQL的源代碼被混淆過。 所以很多公司都是基本PostgreSQL做二次開發(fā)的。 4. PostgreSQL在很多方面都比MySQL強(qiáng),如復(fù)雜SQL的執(zhí)行、存儲過程、觸發(fā)器、索引。 同時PostgreSQL是多進(jìn)程的,而MySQL是線程的,雖然并發(fā)不高時,MySQL處理速度快,但當(dāng)并發(fā)高的時候,對于現(xiàn)在多核的單臺機(jī)器上,MySQL的總體處理性能不如PostgreSQL,原因是MySQL的線程無法充分利用CPU的能力。 目前只想到這些,以后想到再添加,歡迎大家拍磚。 PostgreSQL與oracle或InnoDB的多版本實現(xiàn)的差別PostgreSQL與oracle或InnoDB的多版本實現(xiàn)最大的區(qū)別在于最新版本和歷史版本是否分離存儲,PostgreSQL不分,而oracle和InnoDB分,而innodb也只是分離了數(shù)據(jù),索引本身沒有分開。 PostgreSQL的主要優(yōu)勢在于: 1. PostgreSQL沒有回滾段,而oracle與innodb有回滾段,oracle與Innodb都有回滾段。 對于oracle與Innodb來說,回滾段是非常重要的,回滾段損壞,會導(dǎo)致數(shù)據(jù)丟失,甚至數(shù)據(jù)庫無法啟動的嚴(yán)重問題。 另由于PostgreSQL沒有回滾段,舊數(shù)據(jù)都是記錄在原先的文件中,所以當(dāng)數(shù)據(jù)庫異常crash后,恢復(fù)時,不會象oracle與Innodb數(shù)據(jù)庫那樣進(jìn)行那么復(fù)雜的恢復(fù),因為oracle與Innodb恢復(fù)時同步需要redo和undo。 所以PostgreSQL數(shù)據(jù)庫在出現(xiàn)異常crash后,數(shù)據(jù)庫起不來的幾率要比oracle和mysql小一些。 2. 由于舊的數(shù)據(jù)是直接記錄在數(shù)據(jù)文件中,而不是回滾段中,所以不會象oracle那樣經(jīng)常報ora-錯誤。 3. 回滾可以很快完成,因為回滾并不刪除數(shù)據(jù),而oracle與Innodb,回滾時很復(fù)雜,在事務(wù)回滾時必須清理該事務(wù)所進(jìn)行的修改,插入的記錄要刪除,更新的記錄要更新回來(見row_undo函數(shù)),同時回滾的過程也會再次產(chǎn)生大量的redo日志。 4. WAL日志要比oracle和Innodb簡單,對于oracle不僅需要記錄數(shù)據(jù)文件的變化,還要記錄回滾段的變化。 PostgreSQL的多版本的主要劣勢在于: 1、最新版本和歷史版本不分離存儲,導(dǎo)致清理老舊版本需要作更多的掃描,代價比較大,但一般的數(shù)據(jù)庫都有高峰期,如果我們合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進(jìn)一步被加強(qiáng)了。 2、由于索引中完全沒有版本信息,不能實現(xiàn)Coverage index scan,即查詢只掃描索引,直接從索引中返回所需的屬性,還需要訪問表。 而oracle與Innodb則可以;進(jìn)程模式與線程模式的對比PostgreSQL和oracle是進(jìn)程模式,MySQL是線程模式。 進(jìn)程模式對多CPU利用率比較高。 進(jìn)程模式共享數(shù)據(jù)需要用到共享內(nèi)存,而線程模式數(shù)據(jù)本身就是在進(jìn)程空間內(nèi)都是共享的,不同線程訪問只需要控制好線程之間的同步。 線程模式對資源消耗比較少。 所以MySQL能支持遠(yuǎn)比oracle多的更多的連接。 對于PostgreSQL的來說,如果不使用連接池軟件,也存在這個問題,但PostgreSQL中有優(yōu)秀的連接池軟件軟件,如pgbouncer和pgpool,所以通過連接池也可以支持很多的連接。 堆表與索引組織表的的對比Oracle支持堆表,也支持索引組織表PostgreSQL只支持堆表,不支持索引組織表Innodb只支持索引組織表索引組織表的優(yōu)勢:表內(nèi)的數(shù)據(jù)就是按索引的方式組織,數(shù)據(jù)是有序的,如果數(shù)據(jù)都是按主鍵來訪問,那么訪問數(shù)據(jù)比較快。 而堆表,按主鍵訪問數(shù)據(jù)時,是需要先按主鍵索引找到數(shù)據(jù)的物理位置。 索引組織表的劣勢:索引組織表中上再加其它的索引時,其它的索引記錄的數(shù)據(jù)位置不再是物理位置,而是主鍵值,所以對于索引組織表來說,主鍵的值不能太大,否則占用的空間比較大。 對于索引組織表來說,如果每次在中間插入數(shù)據(jù),可能會導(dǎo)致索引分裂,索引分裂會大大降低插入的性能。 所以對于使用innodb來說,我們一般最好讓主鍵是一個無意義的序列,這樣插入每次都發(fā)生在最后,以避免這個問題。 由于索引組織表是按一個索引樹,一般它訪問數(shù)據(jù)塊必須按數(shù)據(jù)塊之間的關(guān)系進(jìn)行訪問,而不是按物理塊的訪問數(shù)據(jù)的,所以當(dāng)做全表掃描時要比堆表慢很多,這可能在OLTP中不明顯,但在數(shù)據(jù)倉庫的應(yīng)用中可能是一個問題。 PostgreSQL9.0中的特色功能: PostgreSQL中的Hot Standby功能也就是standby在應(yīng)用日志同步時,還可以提供只讀服務(wù),這對做讀寫分離很有用。 這個功能是oracle11g才有的功能。 PostgreSQL異步提交(Asynchronous Commit)的功能:這個功能oracle中也是到oracle11g R2才有的功能。 因為在很多應(yīng)用場景中,當(dāng)宕機(jī)時是允許丟失少量數(shù)據(jù)的,這個功能在這樣的場景中就特別合適。 在PostgreSQL9.0中把synchronous_commit設(shè)置為false就打開了這個功能。 需要注意的是,雖然設(shè)置為了異步提交,當(dāng)主機(jī)宕機(jī)時,PostgreSQL只會丟失少量數(shù)據(jù),異步提交并不會導(dǎo)致數(shù)據(jù)損壞而數(shù)據(jù)庫起不來的情況。 MySQL中沒有聽說過有這個功能。 PostgreSQL中索引的特色功能: PostgreSQL中可以有部分索引,也就是只能表中的部分?jǐn)?shù)據(jù)做索引,create index 可以帶where 條件。 同時PostgreSQL中的索引可以反向掃描,所以在PostgreSQL中可以不必建專門的降序索引了。



相關(guān)標(biāo)簽: PostgreSQL9.0精通解鎖數(shù)據(jù)庫管理和性能優(yōu)化的秘密

上一篇:深入淺出PostgreSQL90適用于初學(xué)者和高級用

下一篇:PostgreSQL90開創(chuàng)數(shù)據(jù)庫新時代的全面指南PO

內(nèi)容聲明:

1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請聯(lián)系我們進(jìn)行舉報處理!
4、本文地址:http://www.hudongshop.com/article/3856942fe0b6126ce6c1.html,復(fù)制請保留版權(quán)鏈接!


溫馨小提示:在您的網(wǎng)站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
隨機(jī)文章
從 JPEG 到 PNG:convert 命令的強(qiáng)大圖像格式轉(zhuǎn)換 (圖片怎么從jpeg到j(luò)pg)

從 JPEG 到 PNG:convert 命令的強(qiáng)大圖像格式轉(zhuǎn)換 (圖片怎么從jpeg到j(luò)pg)

圖像格式轉(zhuǎn)換在圖像處理中是很常見的一種操作,不同的圖像格式具有不同的特點,在不同的場景下有不同的適用性,其中JPEG和PNG是兩種最常用的圖像格式,JPEG,JointPhotographicExpertsGroup,是一種有損壓縮格式,可以大幅度壓縮圖像文件大小,同時保持較高的圖像質(zhì)量,JPEG的優(yōu)點是壓縮效率高,適用于存儲照片和圖...。

本站公告 2024-09-28 21:20:40

深入探討存儲過程:從基礎(chǔ)到高級概念 (深入探討存儲安全問題)

深入探討存儲過程:從基礎(chǔ)到高級概念 (深入探討存儲安全問題)

存儲過程基礎(chǔ)存儲過程是預(yù)先編譯的模塊化SQL語句集,存儲在數(shù)據(jù)庫中,它們與函數(shù)類似,但更復(fù)雜,可以執(zhí)行復(fù)雜的事務(wù)處理,包括數(shù)據(jù)操作、條件語句和循環(huán),語法CREATEPROCEDURE[schema,name].[procedure,name],[parameter,name1][data,type][IN,OUT,INOUT],[pa...。

互聯(lián)網(wǎng)資訊 2024-09-26 18:50:22

創(chuàng)建和使用 ResX 文件:開發(fā)人員本地化應(yīng)用程序的終極指南 (數(shù)據(jù)庫觸發(fā)器的創(chuàng)建和使用)

創(chuàng)建和使用 ResX 文件:開發(fā)人員本地化應(yīng)用程序的終極指南 (數(shù)據(jù)庫觸發(fā)器的創(chuàng)建和使用)

在開發(fā)多語言應(yīng)用程序時,本地化是一個至關(guān)重要的方面,它可以確保您的應(yīng)用程序可供全球用戶使用,并為他們提供更完善的用戶體驗,在.NET中,ResX文件是一種有效且廣泛使用的本地化方法,它們允許您將應(yīng)用程序中的字符串與特定語言和區(qū)域設(shè)置相關(guān)聯(lián),本文將深入探討ResX文件,指導(dǎo)您創(chuàng)建和使用它們來有效地本地化您的應(yīng)用程序,什么是ResX文件,...。

最新資訊 2024-09-16 21:59:37

VBScript 和 HTML 結(jié)合:創(chuàng)建交互式 Web 頁面 (vbscript 腳本編程)

VBScript 和 HTML 結(jié)合:創(chuàng)建交互式 Web 頁面 (vbscript 腳本編程)

VBScript是一種腳本語言,可以與HTML集成,以創(chuàng)建交互式的Web頁面,文章將介紹如何使用VBScript和HTML來創(chuàng)建交互式Web頁面,使用VBScript創(chuàng)建交互式Web頁面要使用VBScript創(chuàng)建交互式Web頁面,您需要使用以下步驟,1.創(chuàng)建HTML文件,需要創(chuàng)建一個HTML文件,其中包含VBScript腳本,2.添加...。

互聯(lián)網(wǎng)資訊 2024-09-16 05:58:22

CSS預(yù)處理器:Sass、Less和Stylus的進(jìn)階指南 (css預(yù)處理器有哪些)

CSS預(yù)處理器:Sass、Less和Stylus的進(jìn)階指南 (css預(yù)處理器有哪些)

簡介CSS預(yù)處理器是一種工具,可以幫助我們更輕松、更高效地編寫CSS代碼,它們通過在編譯時添加額外的功能和語法擴(kuò)展,讓CSS開發(fā)變得更加便利,本文將介紹三種最流行的CSS預(yù)處理器,Sass、Less和Stylus,我們將探討它們的語法、特性和進(jìn)階使用方法,SassSass,SyntacticallyAwesomeStyleSheets...。

互聯(lián)網(wǎng)資訊 2024-09-15 09:26:04

精通Roundup函數(shù):輕松四舍五入,提升數(shù)據(jù)精度 (精通RobotStudio可以干嘛)

精通Roundup函數(shù):輕松四舍五入,提升數(shù)據(jù)精度 (精通RobotStudio可以干嘛)

簡介在處理數(shù)據(jù)時,四舍五入是一個重要的操作,可以提高數(shù)據(jù)精度和可用性,在Excel中,Roundup函數(shù)是一個功能強(qiáng)大的工具,可以輕松地四舍五入數(shù)字,本文將深入探討Roundup函數(shù),包括其語法、用法、示例和高級技巧,語法=ROUNDUP,number,num,digits,number,要四舍五入的數(shù)字,num,digits,以小數(shù)...。

最新資訊 2024-09-12 17:56:24

數(shù)據(jù)庫界面設(shè)計中的視覺層次:利用視覺提示引導(dǎo)用戶 (數(shù)據(jù)庫界面設(shè)計簡圖文案)

數(shù)據(jù)庫界面設(shè)計中的視覺層次:利用視覺提示引導(dǎo)用戶 (數(shù)據(jù)庫界面設(shè)計簡圖文案)

視覺層次是數(shù)據(jù)庫界面設(shè)計中一個重要的概念,它指的是利用視覺元素來創(chuàng)建界面的等級結(jié)構(gòu),幫助用戶輕松地找到和理解信息,通過使用顏色、對比度、大小、形狀等視覺提示,設(shè)計師可以將用戶的目光引向最重要的元素,并創(chuàng)建清晰且易于瀏覽的界面,利用視覺層次的優(yōu)點提高用戶體驗,視覺層次可以幫助用戶更快地找到他們需要的信息,從而提高用戶體驗,提高效率,通過...。

最新資訊 2024-09-11 20:28:44

編程中國:探索技術(shù)世界的無限可能 (編程探索)

編程中國:探索技術(shù)世界的無限可能 (編程探索)

編程中國是一個領(lǐng)先的在線編程學(xué)習(xí)平臺,旨在幫助人們探索技術(shù)世界的無限可能,憑借其全面且易于理解的內(nèi)容,編程中國已成為初學(xué)者和有經(jīng)驗的程序員的理想資源,涵蓋廣泛的技術(shù)主題編程中國涵蓋廣泛的技術(shù)主題,包括,編程語言,如Python、Java、C,、JavaScript,數(shù)據(jù)結(jié)構(gòu)和算法云計算人工智能機(jī)器學(xué)習(xí)大數(shù)據(jù)網(wǎng)絡(luò)安全區(qū)塊鏈移動應(yīng)用程序...。

互聯(lián)網(wǎng)資訊 2024-09-09 09:55:52

ASP 安全性指南:保護(hù) Web 應(yīng)用免受威脅和漏洞 (asp安全性問題)

ASP 安全性指南:保護(hù) Web 應(yīng)用免受威脅和漏洞 (asp安全性問題)

ASP,ActiveServerPages,是一種由Microsoft開發(fā)的服務(wù)器端腳本語言,用于創(chuàng)建動態(tài)Web頁面,ASP是一種功能強(qiáng)大的工具,但它也可能成為安全威脅,如果它沒有得到正確保護(hù),本文將提供一份ASP安全指南,以幫助您保護(hù)您的Web應(yīng)用免受威脅和漏洞的影響,ASP安全性威脅ASP應(yīng)用程序可能面臨以下安全威脅,跨站腳本攻擊...。

技術(shù)教程 2024-09-09 05:27:33

遞歸函數(shù)的應(yīng)用實例:從階乘到快速排序的魅力 (遞歸函數(shù)的應(yīng)用)

遞歸函數(shù)的應(yīng)用實例:從階乘到快速排序的魅力 (遞歸函數(shù)的應(yīng)用)

遞歸函數(shù)是一種在函數(shù)內(nèi)部調(diào)用自身的方法,這種技術(shù)在許多算法中都有應(yīng)用,本文將探討兩個經(jīng)典的例子,階乘計算和快速排序,階乘計算階乘是一種數(shù)學(xué)運(yùn)算,它將一個正整數(shù)乘以其所有較小的正整數(shù),例如,5的階乘,記為5,等于120,因為它等于5x4x3x2x1,我們可以使用遞歸函數(shù)來計算階乘,基本情況是當(dāng)n為1時,階乘為1,遞歸情況是當(dāng)n大于1時...。

技術(shù)教程 2024-09-07 11:51:46

深挖織夢網(wǎng)站源碼:掌握動態(tài)內(nèi)容管理系統(tǒng)的魔力 (深挖織夢網(wǎng)站在線觀看)

深挖織夢網(wǎng)站源碼:掌握動態(tài)內(nèi)容管理系統(tǒng)的魔力 (深挖織夢網(wǎng)站在線觀看)

織夢網(wǎng)站管理系統(tǒng),DedeCMS,是中國最流行的內(nèi)容管理系統(tǒng)之一,它以強(qiáng)大的功能和豐富的插件庫而聞名,通過深入了解織夢網(wǎng)站源碼,我們可以掌握動態(tài)內(nèi)容管理系統(tǒng)的魔力,并創(chuàng)建出功能強(qiáng)大的網(wǎng)站,織夢網(wǎng)站源碼結(jié)構(gòu)織夢網(wǎng)站源碼主要由以下部分組成,應(yīng)用程序代碼,包含系統(tǒng)核心功能,如用戶管理、內(nèi)容管理和模板解析,數(shù)據(jù)庫文件,存儲網(wǎng)站數(shù)據(jù),如內(nèi)容、用...。

最新資訊 2024-09-05 13:36:53

深入探索世界未解之謎:宇宙、科學(xué)與人類的奧秘 (深入探索世界未解之謎)

深入探索世界未解之謎:宇宙、科學(xué)與人類的奧秘 (深入探索世界未解之謎)

在浩瀚的宇宙中,存在著無數(shù)未解之謎,激發(fā)著人類的探索欲望,從廣袤無垠的星海到神秘莫測的人體,從科學(xué)前沿的突破到人類文明的起源,這些不解之謎不斷挑戰(zhàn)著我們對世界的認(rèn)知,宇宙的奧秘宇宙的起源與命運(yùn),大爆炸理論解釋了宇宙的誕生,但宇宙最初的形態(tài)和其最終歸宿仍是謎團(tuán),暗物質(zhì)和暗能量,科學(xué)家推測宇宙中存在著大量的暗物質(zhì)和暗能量,但它們的性質(zhì)和作...。

互聯(lián)網(wǎng)資訊 2024-09-05 00:04:46

Copyright ? 2025 聚集網(wǎng) All Rights Reserved
此內(nèi)容系本站根據(jù)來路自動抓取的結(jié)果,不代表本站贊成被顯示網(wǎng)站的內(nèi)容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術(shù)支持:聚集網(wǎng)

国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情
国产精品久久久久久网站| 国产精品久久久久久久久久久久冷 | 日本十八禁视频无遮挡| 亚洲欧美一区二区原创| 国产在线高清精品| 亚洲欧洲免费无码| 天堂v在线视频| 日韩欧美精品一区二区 | 免费拍拍拍网站| 日韩免费观看av| 奇米888一区二区三区| 欧美日韩精品一区| 精品一区二区久久久久久久网站| 青青青免费在线| 免费看又黄又无码的网站| 国产区日韩欧美| 国产精品av在线播放| 国产日韩精品入口| av在线不卡一区| 国产成人av一区二区三区| 久久精品视频免费播放| 欧美乱大交xxxxx| 亚洲国产激情一区二区三区| 色婷婷精品国产一区二区三区| 色噜噜一区二区| 欧美 日韩精品| 国产精品一区二区三区成人| 久久久人成影片一区二区三区| 日韩中文字幕国产精品| 欧美片一区二区三区| 日本一区二区三区www| 精品一区二区三区国产| 91精品国产91久久久| 久久九九精品99国产精品| 最新欧美日韩亚洲| 日韩欧美精品一区二区三区经典| 麻豆精品视频| 久久国产精品久久精品国产| 欧美成aaa人片在线观看蜜臀| 亚洲综合国产精品| 欧美极品日韩| 久久综合伊人77777麻豆| 久久手机精品视频| 午夜精品一区二区三区在线播放| 经典三级在线视频| 久久免费视频这里只有精品| 不卡毛片在线看| 日韩女在线观看| 99精品一级欧美片免费播放| 国产精品久久久久久久久久小说 | 色噜噜国产精品视频一区二区 | 色大师av一区二区三区| 蜜桃91精品入口| 国产成人亚洲综合无码| 在线视频91| 精品一区日韩成人| 久久久精品一区| 亚洲欧美国产一区二区| 蜜桃视频一区二区在线观看| 久久99精品久久久水蜜桃| 久久久久久国产精品久久| 黄色三级中文字幕| 久久精品ww人人做人人爽| 久久久久国产精品免费网站| 男人天堂新网址| 久久久久久免费精品| 亚洲aⅴ日韩av电影在线观看| 国产视频福利一区| 国产精品裸体瑜伽视频| 日韩欧美在线观看强乱免费| 91精品视频播放| 尤物av无码色av无码| 国产欧美一区二区视频| 国产精品视频白浆免费视频| 日韩女优人人人人射在线视频| 99精彩视频| 亚洲一区亚洲二区| 国产精品一区二区三区精品 | 一区二区精品免费视频| 国产在线欧美日韩| 国产精品入口福利| 欧美精品与人动性物交免费看| 国产z一区二区三区| 三年中文高清在线观看第6集| 91久久久久久久一区二区| 一区二区视频在线播放| 国产精品自拍片| 欧美精品一区在线播放| 免费一区二区三区| 国产精品第七影院| 国产在线拍偷自揄拍精品 | 国产精品久久一区二区三区| 欧美自拍视频在线| 国产成人精品国内自产拍免费看| 日韩成人手机在线| 九色综合日本| 日本伊人精品一区二区三区介绍| 2019日韩中文字幕mv| 婷婷四房综合激情五月| 久久精品国产第一区二区三区最新章节 | 亚洲一区三区视频在线观看| 99在线看视频| 午夜一区二区三区| 久久免费99精品久久久久久| 色大师av一区二区三区| 久久久久久久久久婷婷| 欧美亚州在线观看| 国产精品欧美在线| 国产一区二区精品在线| 中文字幕中文字幕在线中心一区| 国产精品一区二区3区| 亚洲中文字幕久久精品无码喷水| 97精品国产97久久久久久免费| 亚洲午夜高清视频| 九九热久久66| 欧美精品一区二区三区免费播放 | 欧美日韩亚洲综合一区二区三区激情在线| 日韩专区中文字幕| 国产在线一区二区三区四区| 一区二区成人国产精品| 国产大尺度在线观看| 欧美久久久久久久久久久久久久| 国产精品区免费视频| 成人精品久久久| 日本亚洲欧洲色α| 国产精品精品软件视频| 国产精品一二三在线| 日本一区美女| 国产精品成人观看视频国产奇米| 国产美女精品在线观看| 日本不卡在线播放| 国产精品加勒比| 91精品国产91久久久久麻豆 主演| 人人澡人人澡人人看欧美| 欧美久久久精品| 久久国产手机看片| 国产日韩在线视频| 日韩高清国产精品| 久久99热精品这里久久精品| 丝袜一区二区三区| 成人黄动漫网站免费| 欧洲精品码一区二区三区免费看| 久久99国产综合精品女同| 久久99精品久久久水蜜桃| 国产一区二区黄色| 青草青草久热精品视频在线网站| 欧美精品videos性欧美| 久久精品福利视频| av无码精品一区二区三区| 欧美激情第一页在线观看| 欧美一区二区三区免费视| 一区二区三区日韩视频| 久久天天躁狠狠躁夜夜av| 国产成人精品久久久| 福利视频久久| 免费看污污视频| 欧美一区三区二区在线观看| 亚洲资源视频| 欧美激情乱人伦一区| 国产成人精品一区二区三区福利| 91免费在线视频| 国产免费成人在线| 精品日本一区二区三区在线观看 | 欧美一级片在线播放| 久久久久国色av免费观看性色| 日韩中文字幕在线精品| 国产精品69久久久| 国产美女在线一区| 国产在线欧美日韩| 欧美精品尤物在线| 欧美中文在线观看国产| 性高湖久久久久久久久aaaaa| 国产999视频| 免费不卡在线观看av| 国产精品啪视频| 日韩视频亚洲视频| 久久久久久有精品国产| 国产成人自拍视频在线观看| 91av网站在线播放| 91九色偷拍| 91九色单男在线观看| 99视频免费观看| 成人免费观看毛片| 成人在线免费观看一区| 国产乱人伦精品一区二区三区| 国产中文欧美精品| 国产视频一视频二| 国产欧美精品日韩| 国产欧美日韩亚洲| 国产毛片久久久久久国产毛片| 精品视频在线观看一区| 免费久久久久久| 国产日韩欧美夫妻视频在线观看| 国产无限制自拍| 国产区一区二区| 国产精品一二区| 国产精品1区2区在线观看| 国产精品99久久久久久白浆小说| 91免费国产视频| 91极品视频在线|