当前位置: 首页 > news >正文

网站功能需求用什么做网站的死链

网站功能需求用什么做,网站的死链,图书网站开发需求文档模板,seo实战培训王乃用注: 本文为云贝教育 刘峰 原创#xff0c;请尊重知识产权#xff0c;转发请注明出处#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。 pg_bulkload 是一个高性能的数据加载工具#xff0c;专门为PostgreSQL数据库设计#xff0c;用于大批量数据的快速导入。pg_bulk…注: 本文为云贝教育 刘峰 原创请尊重知识产权转发请注明出处不接受任何抄袭、演绎和未经注明出处的转载。 pg_bulkload 是一个高性能的数据加载工具专门为PostgreSQL数据库设计用于大批量数据的快速导入。pg_bulkload的工作原理是绕过传统的SQL INSERT语句通过直接写入底层数据文件和WAL日志显著提升了数据加载速度和效率。 下面是pg_bulkload的一些核心特性和使用方法 1.设计理念 pg_bulkload旨在实现批量数据加载的高性能和高吞吐量特别适合大数据导入、历史数据迁移和数据分析场景。 2. 工作流程 控制文件pg_bulkload通过一个控制文件control file来配置导入过程包括数据源、目标表字段映射、错误处理策略等。数据文件原始数据通常以CSV、TXT或其他格式存储在数据文件中。日志文件加载过程中产生的错误记录会写入到错误日志文件中。并行导入pg_bulkload可以利用多核处理器并行加载数据进一步提升导入速度。 3. 主要特性 快速导入通过直接写入数据文件和WAL日志而非逐行插入极大地减少了数据库的IO负担和事务开销。错误处理支持错误记录重试、跳过或记录到特定文件允许在导入过程中灵活处理错误数据。并行处理通过多线程和多进程的方式并行加载数据充分利用硬件资源。过滤和转换支持在导入过程中对数据进行简单的过滤和转换操作。 一、功能测试 1、创建目标表并初始化插件 psql testdb testdb# create table test2 (id int,name text); CREATE TABLEtestdb# create extension pg_bulkload; #创建扩展以生成pgbulkload.pg_bulkload() 函数 CREATE EXTENSION testdb# \dxList of installed extensionsName | Version | Schema | Description ---------------------------------------------------------------------------------------------------pg_bulkload | 3.1.21 | public | pg_bulkload is a high speed data loading utility for PostgreSQLplpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (2 rows) 2、准备导入数据 seq 100| awk {print $0|test$0} bulk_test2.txt 3、加载数据到目标表 [postgresora19c ~]$ pg_bulkload -i /home/postgres/bulk_test2.txt -O test2 -l /home/postgres/test2.log -P /home/postgres/test2.txt -o TYPECSV -o DELIMITER| -d testdb -U postgres -h 127.0.0.1 NOTICE: BULK LOAD START 2024-03-24 00:02:14.495 CST [24105] LOG: pg_bulkload: creating missing LSF directory pg_bulkload 2024-03-24 00:02:14.495 CST [24105] STATEMENT: SELECT * FROM pgbulkload.pg_bulkload($1) NOTICE: BULK LOAD END0 Rows skipped.100100 Rows successfully loaded.0 Rows not loaded due to parse errors.0 Rows not loaded due to duplicate errors.0 Rows replaced with new rows. 4、查看对应的日志 [postgresora19c ~]$ cat /home/postgres/test2.logpg_bulkload 3.1.21 on 2024-03-24 00:02:14.49511308INPUT /home/postgres/bulk_test2.txt PARSE_BADFILE /home/postgres/test2.txt LOGFILE /home/postgres/test2.log LIMIT INFINITE PARSE_ERRORS 0 CHECK_CONSTRAINTS NO TYPE CSV SKIP 0 DELIMITER | QUOTE \ ESCAPE \ NULL OUTPUT public.test2 MULTI_PROCESS NO VERBOSE NO WRITER DIRECT DUPLICATE_BADFILE /data/pgdata/data/pg_bulkload/20240324000214_testdb_public_test2.dup.csv DUPLICATE_ERRORS 0 ON_DUPLICATE_KEEP NEW TRUNCATE NO0 Rows skipped.100100 Rows successfully loaded.0 Rows not loaded due to parse errors.0 Rows not loaded due to duplicate errors.0 Rows replaced with new rows.Run began on 2024-03-24 00:02:14.49511308 Run ended on 2024-03-24 00:02:14.63432608CPU 0.03s/0.01u sec elapsed 0.14 sec 5、使用控制文件来加载数据 # 新建控制文件 可以根据之前加载时产生的日志文件test2.log来更改去掉里面没有值的参数 NULL vi test2.ctl INPUT /home/postgres/bulk_test2.txt PARSE_BADFILE /home/postgres/test2r_bad.txt LOGFILE /home/postgres/test2_output.log LIMIT INFINITE PARSE_ERRORS 0 CHECK_CONSTRAINTS NO TYPE CSV SKIP 0 DELIMITER | QUOTE \ ESCAPE \ OUTPUT public.test2 MULTI_PROCESS NO VERBOSE NO WRITER DIRECT DUPLICATE_BADFILE /data/pgdata/data/pg_bulkload/20240324000214_testdb_public_test2.dup.csv DUPLICATE_ERRORS 0 ON_DUPLICATE_KEEP NEW TRUNCATE YES 6、使用控制文件来加载数据 pg_bulkload /home/postgres/test2.ctl -d testdb -U postgres -h 127.0.0.1NOTICE: BULK LOAD START NOTICE: BULK LOAD END0 Rows skipped.100100 Rows successfully loaded.0 Rows not loaded due to parse errors.0 Rows not loaded due to duplicate errors.0 Rows replaced with new rows. 二、关于写WAL日志 pg_bulkload 默认是跳过buffer 直接写文件 如果写的过程出现异常需要wal日志恢复时加载 -o WRITERBUFFERED 参数可以强制让其写wal日志 。 pg_bulkload -i /home/postgres/bulk_test2.txt -O test2  -l /home/postgres/test2.log -P /home/postgres/test2.txt  -o TYPECSV -o DELIMITER| -o TRUNCATEYES -o WRITERBUFFERED -d testdb -U postgres  -h 127.0.0.1 那如何证明其实不难一是可以跟踪pg_bulkload的函数调用写日志的次数二是对比加不加参数WRITERBUFFERED前后日志量 我们先用第二种方法对比日志量 1不加参数WRITERBUFFERED --调用pg_bulkload前 testdb# select pg_current_wal_lsn();pg_current_wal_lsn --------------------0/2DB5000 (1 row)----调用pg_bulkload pg_bulkload -i /home/postgres/bulk_test2.txt -O test2 -l /home/postgres/test2.log -P /home/postgres/test2.txt -o TYPECSV -o DELIMITER| -d testdb -U postgres -h 127.0.0.1--调用pg_bulkload后 testdb# select 0/26CAD68::pg_lsn;pg_lsn -----------0/2DB70C0 (1 row) 查看产生的日志量 testdb# select 0/2DB70C0::pg_lsn-0/2DB5000::pg_lsn;?column? ----------8384 2加参数WRITERBUFFERED testdb# select pg_current_wal_lsn();pg_current_wal_lsn --------------------0/26CAD68 (1 row)pg_bulkload -i /home/postgres/bulk_test2.txt -O test2 -l /home/postgres/test2.log -P /home/postgres/test2.txt -o TYPECSV -o DELIMITER| -o TRUNCATEYES -o WRITERBUFFERED -d testdb -U postgres -h 127.0.0.1testdb# select pg_current_wal_lsn();pg_current_wal_lsn --------------------0/2DB5000 (1 row) 查看产生的日志量 testdb# select 0/2DB5000-0/26CAD68::pg_lsn::pg_lsn;?column? ----------7250584 (1 row) 由此可见日志产生量巨大从侧面也可以验证pg_bulkload默认情况下只会产生少量的wal日志。
http://www.pierceye.com/news/588027/

相关文章:

  • 网站建设优化公司哪家好兰州做网站公司es5188
  • jsp网站开发工资住建网查询
  • 长沙建网站需要多少钱夹江移动网站建设
  • 淄博网站制作高端网站后台任务
  • 营销型网站源码成都网站建设seo
  • 天津网上商城网站建设专业的猎头公司
  • 西平县住房城乡建设局网站西部数码网站管理助手3.0
  • 承德市网站建设WordPress电影资源分享下载站
  • 专注于网络推广及网站建设wordpress离线发布功能
  • 营销型网站案例提高wordpress打开速度
  • 怎么样做一个网站自己个人网站后台怎么做
  • 源码站免费找客户网站
  • idc空间商网站源码知名的网站建设
  • 什么叫网站降权建设网站租服务器
  • 网站后台模板怎样使用站长平台
  • 写一个app需要多少钱龙岩seo包年系统排行榜
  • 科技公司企业网站建设手机360网站seo优化
  • 做翻译 英文网站黑色时尚橱柜网站源码
  • wordpress 主机要求珠海百度推广优化
  • 台山网站建设哈尔滨网站建设收费
  • 卖主机 服务器的网站wordpress自动标签内联
  • 28创业商机网seo在线优化技术
  • 建设银行网站查询余额世界杯球队最新排名
  • 网站对联广告做戒指网站的logo照片
  • 网站开发 项目计划书网页设计产品介绍页面的制作
  • 专做正品 网站青岛 网站制作
  • wordpress建站镜像杭州网站开发公司排名
  • 网站都需要什么类别网站首页seo关键词布局
  • 泰安千橙网站建设北京活动策划公司黄页
  • 网页网站模板北京市工商注册网上服务系统