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

网站建设晋丰东莞网络营销代运营

网站建设晋丰,东莞网络营销代运营,南阳手机网站建设,中国企业网地址瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:12 文档用途 本文档主要介绍pg_bulkload插件的安装与使用。 详细信息 研发公司:NTT OSS Center DBMS Development and Support Team&…

瀚高数据库
目录
环境
文档用途
详细信息

环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:12
文档用途
本文档主要介绍pg_bulkload插件的安装与使用。

详细信息
研发公司:NTT OSS Center DBMS Development and Support Team,与pg_rman出自相同开发者

license协议:BSD

一、pg_bulkload安装

有从源码安装和rpm安装两种方式,这里仅采用README.md中给出的源码安装。

1.安装前提:提前安装好pg数据库并初始化数据目录。

此外,官方文档还给出了需求库:

PostgreSQL devel package : postgresqlxx-devel(RHEL), postgresql-server-dev-x.x(Ubuntu)PAM devel package : pam-devel(RHEL), libpam-devel(Ubuntu)Readline devel or libedit devel package : readline-devel or libedit-devel(RHEL), libreadline-dev or libedit-dev(Ubuntu)C compiler and build utility : "Development Tools" (RHEL), build-essential(Ubuntu)

2.安装步骤:

1)下载安装包:

git clone https://github.com/ossc-db/pg_bulkload.git[postgres@pg-bulkload opt]$ lltotal 19896drwxr-xr-x 11 postgres postgres     4096 Oct 27 15:28 pg_bulkload

2)进入目录并编译安装:

cd pg_bulkloadmakemake install 

注意:编译时需要读取pg_config来获取pg的环境变量,使用root编译时需要环境变量里配上能找到pg_config的路径,也可以将目录的所有者更改为postgres再进行安装。

3)创建extension:

[postgres@pg-bulkload pg_bulkload]$ psql
psql (12.2)Type "help" for help.postgres=# CREATE EXTENSION pg_bulkload;CREATE EXTENSION

二、pg_bulkload使用

pg_bulkload有两种导入数据的方法,通过参数导入和通过控制文件导入。

创建要导入的测试数据

seq 100000| awk '{print $0"|postgres"}' > tbl_test_output.txt

文件内容

[postgres@pg-bulkload pg_bulkload]$ cat tbl_test_output.txt1|postgres2|postgres3|postgres4|postgres......99998|postgres99999|postgres100000|postgres

1.使用参数方式导入

1)创建测试表

postgres=# create table tbl_test(id int,name text);CREATE TABLE

2)导入命令语法

pg_bulkload -i [源数据] -O [目标表] -l [输出日志] -o [控制文件中的选项] -o [控制文件中的选项]-i 输入从中加载数据的源。与控制文件中的“ INPUT ”相同。-O 输出将数据加载到的目标。与控制文件中的“ OUTPUT ”相同。-l日志文件写入结果日志的路径。与控制文件中的“ LOGFILE ”相同。-P PARSE_BADFILE写入无法正确解析的坏记录的路径。与控制文件中的“ PARSE_BADFILE ”相同。-u DUPLICATE_BADFILE在索引重建期间写入与唯一约束冲突的坏记录的路径。与控制文件中的“ DUPLICATE_BADFILE ”相同。-o "key=val"控制文件中可用的任何选项,可传递多个选项。-d 数据库名指定要连接的数据库的名称。如果未指定,则从环境变量PGDATABASE中读取数据库名称。如果未设置,则使用为连接指定的用户名。-h 主机指定运行服务器的机器的主机名。如果该值以斜杠开头,则它用作Unix域套接字的目录。-p 端口指定服务器正在侦听连接的TCP端口或本地Unix域套接字文件扩展名。-U 用户名要连接的用户名。-W 密码强制pg_bulkload在连接到数据库之前提示输入密码。这个选项不是必需的,因为如果服务器要求密码认证,pg_bulkload会自动提示输入密码。但是,vacuumdb会浪费一次连接尝试服务器是否需要密码。在某些情况下,输入-W可以避免额外的连接尝试。-e发送到服务器的回显命令。-E从 DEBUG、INFO、NOTICE、WARNING、ERROR、LOG、FATAL 和PANIC中选择输出消息级别。默认值为INFO。

3)执行导入命令

[postgres@pg-bulkload pg_bulkload]$ pg_bulkload -i /usr/local/pgsql/data/pg_bulkload/tbl_test_output.txt -O tbl_test -l /usr/local/pgsql/data/pg_bulkload/tbl_test_output.log -o "TYPE=CSV" -o "DELIMITER=|"NOTICE: BULK LOAD STARTNOTICE: BULK LOAD END0 Rows skipped.100000 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)查看日志文件

[postgres@pg-bulkload pg_bulkload]$ cat tbl_test_output.logpg_bulkload 3.1.19 on 2021-10-27 16:25:42.045267+08INPUT = /usr/local/pgsql/data/pg_bulkload/tbl_test_output.txtPARSE_BADFILE = /usr/local/pgsql/data/pg_bulkload/20211027162542_postgres_public_tbl_test.prs.txtLOGFILE = /usr/local/pgsql/data/pg_bulkload/tbl_test_output.logLIMIT = INFINITEPARSE_ERRORS = 0CHECK_CONSTRAINTS = NOTYPE = CSVSKIP = 0DELIMITER = |QUOTE = "\""ESCAPE = "\""NULL =OUTPUT = public.tbl_testMULTI_PROCESS = NOVERBOSE = NOWRITER = DIRECTDUPLICATE_BADFILE = /usr/local/pgsql/data/pg_bulkload/20211027162542_postgres_public_tbl_test.dup.csvDUPLICATE_ERRORS = 0ON_DUPLICATE_KEEP = NEWTRUNCATE = NO0 Rows skipped.100000 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 2021-10-27 16:25:42.045267+08Run ended on 2021-10-27 16:25:42.098395+08CPU 0.00s/0.04u sec elapsed 0.05 sec

2.使用控制文件方式导入(csv格式)

1)创建控制文件

[postgres@pg-bulkload pg_bulkload]$ touch test1.ctl

2)控制文件内容

INPUT = /usr/local/pgsql/data/pg_bulkload/tbl_test_output.txt#要从中加载数据的源PARSE_BADFILE = /usr/local/pgsql/data/pg_bulkload/test1_bad.txt#写入无法正确解析的坏记录的路径LOGFILE = /usr/local/pgsql/data/pg_bulkload/test1_output.log#写入结果日志的路径LIMIT = INFINITE#要加载的行数PARSE_ERRORS = 0#在分析、编码检查、编码转换、筛选函数、检查约束检查、非空检查或数据类型转换期间引发错误的传入元组数。CHECK_CONSTRAINTS = NO#指定在加载过程中是否检查CHECK约束TYPE = CSV#输入数据的类型SKIP = 1000#跳过的输入行数DELIMITER = |#分隔文件每行中的列的单ASCII字符QUOTE = "\""#指定ASCII引号字符ESCAPE = "\""#指定应出现在QUOTE数据字符值之前的ASCII字符OUTPUT = public.tbl_test1#要将数据加载到的目标MULTI_PROCESS = NO#是否使用多线程并行对数据进行读取、解析和写入WRITER = DIRECT#加载数据的方法DUPLICATE_BADFILE = /usr/local/pgsql/data/pg_bulkload/test1.dup.csv#在索引重建期间写入与唯一约束冲突的坏记录的路径DUPLICATE_ERRORS = 0#违反唯一约束的传入元组数ON_DUPLICATE_KEEP = NEW#指定如何处理违反唯一约束的元组TRUNCATE = YES#指定是否清除目标表中的所有行

3)导入命令语法

pg_bulkload + 控制文件名称

4)新建表并插入一条数据

[postgres@pg-bulkload pg_bulkload]$ psql
psql (12.2)Type "help" for help.postgres=# create table tbl_test1(id int,name text);CREATE TABLEpostgres=# insert into tbl_test1 values (2021,'test');INSERT 0 1postgres=# select * from tbl_test1 ;id  | name------+------2021 | test(1 row)

5)执行控制文件

[postgres@pg-bulkload pg_bulkload]$ vim test1.ctl
[postgres@pg-bulkload pg_bulkload]$ pg_bulkload ./test1.ctlNOTICE: BULK LOAD STARTNOTICE: BULK LOAD END1000 Rows skipped.99000 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.

6)查询验证

postgres=# select * from tbl_test1 ;id   |   name--------+----------1001 | postgres1002 | postgres1003 | postgres1004 | postgres1005 | postgres1006 | postgres......postgres=# select * from tbl_test1 where id = 2021;id  |   name------+----------2021 | postgres(1 row)

通过上述结果可以看到,在控制文件中配置参数跳过前1000行并对表先进行truncate操作,导入数据时执行了文件中的配置。

有关具体的参数信息和控制文件可配内容选项,查阅官方文档

http://ossc-db.github.io/pg_bulkload/pg_bulkload.html

http://www.hkea.cn/news/704245/

相关文章:

  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广
  • 网站建站哪个公司好一点营销咨询服务
  • 值得玩的网页游戏北京seo营销培训
  • 中国建设银行网站分期通百度推广登录平台网址
  • 公司内部网站源码新闻软文推广案例
  • vf建设银行网站谷歌seo排名
  • 如何申请商业服务器武汉seo工厂
  • 祥云平台英文网站微博指数查询入口
  • 公司网站建设准备资料今日重大财经新闻
  • 发布网站后备案免费网站建站页面
  • 浙江建设职业技术学院迎新网站做一个网站要多少钱
  • axure做网站好不好手机百度问一问
  • 开发微信小程序的流程广州seo优化电话
  • 小企业网站建设和管理全能搜
  • 无棣县建设局网站游戏优化大师下载安装
  • 小额贷款 网站模板品牌推广软文
  • 网站建设开发成本天津百度搜索网站排名
  • 做的好的营销型网站有哪些内容外贸网站外链平台
  • 东营网站建设预算价格百度网盘网页版入口官网
  • 网站建设中标公告18款禁用看奶app入口
  • 网站运营人员岗位职责长沙正规seo优化价格
  • cnzz统计代码放在后台网站为什么没显示seo的英文全称是什么
  • 杭州企业网站建设方案广告门
  • 自己免费做网站(二)seo优化公司信
  • 广州外贸b2b网站建设刷钻业务推广网站
  • 做企业网站用什么怎样宣传自己的品牌
  • 濮阳做网站的公司我的百度账号