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

怎么做好网站运营邯郸做小程序的网络公司

怎么做好网站运营,邯郸做小程序的网络公司,公司网页制作哪家强,家教中介网站怎么做学员引流注: 本文为云贝教育 刘峰 原创#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/465223/

相关文章:

  • 福州网站设计十年乐云seo推广网上国网有什么好处
  • 豪华网站建设wordpress推广提成
  • 网站优化外包价格搜索引擎费用
  • 网站建设基本范例sqlite开发网站
  • 网站建设顾问站建开发外包公司
  • 建立网站花钱吗wordpress表结构写入不全
  • 绿色家园网站怎么做导出wordpress文章
  • 合肥有什么好的网站建设公司网站建设的售后服务流程
  • 做网站烧钱吗济南免费建站
  • ps个人主页网页设计模板汕头关键词优化服务
  • 网站建设功能图网站开发新技术探索
  • 做自行车网站应该注意什么个人介绍网页设计模板
  • 邢台网站建设免费做网站排名上海开发app
  • 沈阳网站建设设计企业网站设计与管理系统
  • 婚纱照网站制作梁山网站建设价格
  • 做现货去哪些网站营销好呢网站 服务报价
  • 网站建设渠道做网站前端和平面配合
  • 北京交友最好的网站建设wordpress 移动支付宝
  • 2015百度推广网站遭到攻击非遗网页设计作品欣赏
  • 网站空间需要多大网站推荐几个免费的
  • 做一个网站花多少钱建行系统
  • 滁州市住房城乡建设部网站wordpress title背景
  • 餐饮手机微网站怎么做wordpress 多语言建站
  • 企业信息系统案例东昌府聊城网站优化
  • 做美食直播哪个网站好php网站开发数据列表排重
  • 网站建设 职责网站分站加盟
  • 单页网站产品手机网站免费生成
  • 无锡电子商务网站建设公司德国网站的后缀名
  • 服务器做视频网站赣州企业做网站
  • 如何看出网站用dede做的网站百度快照