PostgreSQL 批量COPY導入優化參數配置

💡 場景假設

我們進行的是 頻繁批量導入、對數據持久性容忍較高 的場景,比如日志表、緩存表、臨時數據表等。如果系統崩潰可重導入,那我們就可以犧牲一點寫入安全性來換極致性能。

?? 參數配置推薦(postgresql.conf)

參數推薦值作用
synchronous_commitoff提交不等待 WAL 寫入磁盤,大幅提升寫入速度
wal_writer_delay200ms~500ms延遲 WAL 寫入,合并更多日志減少磁盤 I/O
commit_delay10000(10ms)提交前延遲,讓多個事務聚合一起寫入 WAL
checkpoint_timeout30min延長檢查點周期,降低頻繁 checkpoint 造成的寫入峰值
wal_compressionon壓縮 full-page WAL,提高磁盤使用率和復制效率
checkpoint_completion_target0.9檢查點更平滑進行,避免 I/O 峰值
max_wal_size2GB 或更高減少 checkpoint 觸發頻率(建議視導入總量調整)
maintenance_work_mem512MB 或更高COPY 導入涉及排序/索引構建時提供更多內存

📌 修改 postgresql.conf 后記得 SELECT pg_reload_conf(); 或重啟服務以生效。

Powered by Moshow鄭鍇@zhengkai.blog.csdn.net

? 導入前的會話級配置(可寫入導入腳本)

SET synchronous_commit TO OFF;
SET maintenance_work_mem TO '512MB';

🛠 COPY 導入最佳實踐

  • 事務包裹多個 COPY 操作:減少 commit 次數

  • 禁用約束 & 索引再導入:避免額外開銷

  • 避免觸發器 & 復雜表達式:純數據搬運最快

  • 批次大小控制:比如 10,000 行一批,比單行更高效

  • 導入后手動 CHECKPOINT:確保 WAL 落盤恢復能力

🧠 總結一句話

這套配置是為 COPY 導入而生的「性能爆發模式」,吞吐可提至原來的數倍甚至十倍,尤其適合日志類、可重導數據、臨時分析表等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92748.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BeanDefinition 與 Bean 生命周期(面試高頻考點)

Bean 是 Spring 應用的核心組件,而 BeanDefinition 作為 Bean 的 “元數據描述”,貫穿了 Bean 從定義到銷毀的全生命周期。理解 BeanDefinition 的加載注冊機制,以及 Bean 的完整生命周期,是掌握 Spring 容器管理邏輯的關鍵&#…

node.js 學習筆記2 進程/線程、fs

進程和線程 進程:進行中的程序。比如有一段程序,程序已經載入內存了,CPU正在執行這段程序,這時候就會產生一個進程。進程,也可以看做程序的一次執行過程。 在window中打開任務管理器,可以查看計算機中的所…

【線性代數】其他

上一節:【線性代數】線性方程組與矩陣——(3)線性方程組解的結構 總目錄:【線性代數】目錄 文章目錄11. 向量的內積、長度及正交性12. 方陣的特征值與特征向量13. 相似矩陣14. 對稱矩陣的對角化15. 二次型及其標準形11. 向量的內積…

Spring Cloud LoadBalancer 實現自定義負載均衡策略(基于服務元數據篩選)

💡 Spring Cloud LoadBalancer 實現自定義負載均衡策略(基于服務元數據篩選) 在微服務架構中,我們常常希望對服務實例進行更精細的路由控制,例如: 灰度發布:不同環境訪問不同版本操作系統差異&a…

Javaweb(1)html、css、js

注:圖來自黑馬 一、HTML(超文本標記語言) HTML 是網頁的 “骨架”,負責定義頁面的結構和內容,通過標簽(tag)描述文本、圖片、鏈接等元素。 1. 基礎結構 文檔聲明:<!DOCTYPE html>(告訴瀏覽器這是 HTML5 文檔)。 根標簽:<html> 包裹整個文檔,包含 &l…

MQTT:Dashboard數據集成(待補充)

目錄一、工作原理二、基本使用三、連接器基本使用一、工作原理 數據集成使用sink和source組件與外部數據系統對接。 sink&#xff1a;用于將消息發送到外部數據系統&#xff0c;例如MySQL、Kafka或Http服務等。source&#xff1a;用于從外部數據系統接收消息&#xff0c;例如…

VisionMoE本地部署的創新設計:從架構演進到高效實現

本地部署VisionMoE的時代需求 在人工智能技術飛速發展的今天&#xff0c;視覺語言模型(Vision-Language Models, VLMs)已成為多模態理解的核心工具。然而&#xff0c;傳統的大型視覺語言模型主要依賴云端GPU集群進行部署和推理&#xff0c;這不僅帶來了高昂的運營成本&#xf…

機試備考筆記 8/31

2025年8月8日 小結&#xff1a;省流&#xff0c;寫了倆道巨簡單的&#xff08;被卡好久的傳參指針和指針的引用的區別&#xff09;&#xff0c;一題遞歸&#xff08;意滿&#xff09;&#xff1b;這筆記還是0809寫的&#xff0c;嘖&#xff0c;今天可能不寫了&#xff0c;明天也…

java9學習筆記-part2

進程 API在 Java 9 之前&#xff0c;Process API 仍然缺乏對使用本地進程的基本支持&#xff0c;例如獲取進程的 PID 和所有者&#xff0c;進程的開始時間&#xff0c;進程使用了多少 CPU 時間&#xff0c;多少本地進程正在運行等。Java 9 向 Process API 添加了一個名為 Proce…

AI智能編程工具匯總

AI智能編程工具匯總 以下是一份關于主流大模型開發工具的綜合介紹&#xff0c;涵蓋 Gemini CLI、Qwen-Code、Kimi K2 等關鍵工具的功能特性、安裝方式與使用建議。 &#x1f31f; Gemini CLI 開發者&#xff1a;Google DeepMind 簡介&#xff1a;命令行工具&#xff0c;用于調…

算法_python_牛客華為機試筆記_01

刷題是必須的&#xff0c;通過刷題以及別人對題目的解析&#xff0c;可以快速理解&#xff0c;提高效率。 00_題庫與參考視頻 華為機試_在線編程_牛客網 HJ3 明明的隨機數_嗶哩嗶哩_bilibili 這套華為機試是華為筆試面試機考在線練習&#xff0c;共138道題&#xff0c;目前…

Java基礎-完成局域網內溝通軟件的開發

目錄 案例要求&#xff1a; 實現思路&#xff1a; itheima-chat-server包 src com.itheima Constant類&#xff1a; Server類: ServerReaderThread類: itheima-chat-system包 src com.itheima.ui ChatEntryFrame類&#xff1a; ClientChatFrame類: ClientReaderTh…

windows內核研究(內存管理-線性地址的管理)

內存管理線性地址的管理 進程空間的地址劃分分區x86 32位Windows空指針賦值區0x00000000 - 0x0000FFFF用戶模式區0x00010000 - 0x7FFEFFFF64KB禁入區0x7FFF0000 - 0x7FFFFFFF內核0x80000000 - 0xFFFFFFFF線性地址有4GB&#xff0c;但是并不是所有的地方都能訪問&#xff08;這里…

【問題解決】使用patch-package修改node-models中的源碼

文章目錄一、應用場景二、patch-package 和 postinstallpatch-packagepostinstall三、操作步驟1、使用yarn安裝patch-package和postinstall-postinstall2、修改package.json3、修改node-model中源碼、保存。4、找到修改文件對應的包名5、使用git將新增的patches文件同步到倉庫6…

當配置項只支持傳入數字,即無法指定單位為rem,需要rem轉px

您好&#xff01;針對您 Vue 3 Element Plus 的技術棧&#xff0c;要優雅且符合大廠規范地解決這個問題&#xff0c;最佳實踐是創建一個響應式的 Composition API (組合式函數)。 這個方法完全遵循 Vue 3 的設計哲學&#xff0c;具有高內聚、低耦合、可復用、類型安全&#xf…

谷歌搜索 sg_ss 逆向分析

聲明: 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包內容、敏感網址、數據接口等均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01;部分python代碼sg_ss cp.call(get_sg_…

一個“加鎖無效“的詭異現象

加鎖了還出問題&#xff1f;從"點擊過快"到"狀態可控"&#xff1a;多線程共享變量的并發陷阱與實戰對策詳情如下&#xff1a;在服務端開發中&#xff0c;多線程并發處理客戶端請求是提升系統吞吐量的常見手段。最近有位開發者朋友遇到了一個令人費解的問題…

液體泄漏識別誤報率↓76%:陌訊多模態融合算法實戰解析

原創聲明本文為原創技術解析&#xff0c;核心技術參數與架構設計引用自《陌訊技術白皮書》&#xff0c;禁止未經授權的轉載與篡改。一、行業痛點&#xff1a;液體泄漏識別的現實挑戰在化工生產、食品加工、倉儲物流等場景中&#xff0c;液體泄漏的實時監測是保障安全生產的關鍵…

Y9000P跑開源模型(未完成)

環境信息 1、Y9000筆記本 2、1T空白硬盤 3、ubunut24.04桌面版 一、環境初始化 第一部分&#xff1a;系統初始化 1、安裝基礎軟件 apt-get update apt-get -y install openssh-server openssh-client apt-utils freeipmi ipmitool sshpass ethtool zip unzip nano less git ne…

ARM體系結構

ARM體系結構 編程原理 從源代碼到CPU執行過程 #mermaid-svg-M4xemCxDjIQVNNnW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;fill:#333;}#mermaid-svg-M4xemCxDjIQVNNnW .error-icon{fill:hsl(220.5882352941, 100%, 98.3333333333%);}#mer…