人大金仓分析型数据库COPY装载数据

目录

文件装载

STDIN装载

\copy装载数据

输入格式

错误隔离

优化性能


        COPY FROM将文件或标准输入中的数据复制到表中,并将数据附加到表内容中。 COPY是非并行的:使用master实例在单个进程中加载数据。建议仅对非常小的数据文件使用COPY。主机上的后端进程必须可以访问COPY 源文件。指定相对于机上的数据目录的COPY 源文件名,或指定绝对路径。客户端和master服务器之间的连接从STDINSTDOUT复制数据。

文件装载

        COPY 命令要求postgres后端打开指定的文件,读取文件并将其附加到表中。为了能够读取文件,后端需要具有对文件的可读权限,并且必须使用master主机上的绝对路径或master数据目录的相对路径来指定文件名。

COPY table_name FROM /path/to/filename;

STDIN装载

        为避免在加载数据之前将数据文件复制到master主机的问题,COPY FROM STDIN使用标准输入通道并将数据直接提供给postgres后端。 COPY FROM STDIN命令启动后,后端将接受数据行,直到一行只包含反斜杠句点(\.)。

COPY table_name FROM STDIN;

\copy装载数据

        不要将\copy命令与COPY SQL命令混淆。 \copy调用常规COPY FROM STDIN并将数据从客户端发送到后端。 因此,任何文件都必须驻留在运行客户端的主机上,并且必须可由运行客户端的用户访问。 为避免在加载数据之前将数据文件复制到master主机的问题,COPY FROM STDIN使用标准输入通道并将数据直接提供给数据库后端。 COPY FROM STDIN命令启动后,后端将接受数据行,直到一行只包含反斜杠句点(\.)。

\copy table_name FROM filename;

输入格式

        COPY FROM接受FORMAT参数,该参数指定输入数据的格式。可能的值为TEXTCSV(逗号分隔值)和BINARY

COPY table_name FROM /path/to/filename WITH (FORMAT csv);
        FORMAT csv将读取逗号分隔值。默认情况下, FORMAT text 使用制表符来分隔值,DELIMITER 选项将不同的字符指定为值分隔符。
COPY table_name FROM /path/to/filename WITH (FORMAT text, DELIMITER '|');

        默认情况下,使用默认客户端编码,可以使用ENCODING选项更改此编码。这对于来自其他操作系统的数据会非常有用。

COPY table_name FROM /path/to/filename WITH (ENCODING 'latin1');

错误隔离

        默认情况下,COPY会在第一个错误处停止操作:如果数据包含一个错误,该操作失败并且没有数据被装载。如果用户在单行错误隔离模式中运行COPY FROM数据库会跳过包含格式错误的行并且装载正确格式化的行。单行错误隔离模式只适用于包含格式错误的输入文件中的行。如果数据包含的是约束错误,例如违背NOT NULLCHECK,或者 UNIQUE约束,操作还是会失败并且不会有数据被装载。指定SEGMENT REJECT LIMIT 会把COPY操作运行在单行错误隔离模式中。指定每一个实例上可接受的错误行数,在达到这个行数后整个COPY FROM操作失败并且不会有数据被装载。这个错误行计数是针对每个数据库的实例,而不是针对整个装载操作。

        如果COPY操作没有达到操作限制,数据库会装载所有正确格式化的行并且丢弃错误行。使用LOG ERRORS子句可以捕获数据库内部的数据格式化错误。例如:

=> COPY country FROM '/data/gpdb/country_data'
WITH DELIMITER '|' LOG ERRORS
SEGMENT REJECT LIMIT 10 ROWS;

优化性能

        使用下列技巧优化数据装载和后续的查询性能。

  • 在装载数据到现有表中之前删掉索引。在现有数据上创建一个数据比随着每个行被装载而增量更新索引更快。用户可以临时增加maintenance_work_mem服务器配置参数来帮助加速CREATE INDEX命令,不过装载性能会被影响。只有在系统中没有活动用户时才删除并重建索引
  • 在装载数据到新表中时,最后创建索引。创建表,装载数据,然后才创建任何需要的索引
  • 在装载数据后运行ANALYZE。如果一个表中的数据受到了显著的更改,运ANALYZE或者VACUUM ANALYZE来为查询优化器更新表统计信息。当前的统计信息能确保优化器在查询规划时做出最好的决定并且避免由于不准确或者不存在的统计信息造成的糟糕性能
  • 在装载错误后运行 VACUUM 。如果装载错误没有运行在单行错误隔离模式中,操作会在第一个错误处停止。目标表会包含在错误发生前已经装载的行。用户无法访问这些行,但是它们仍占据磁盘空间。使用VACUUM 命令来恢复被浪费的空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion 动画animatediff-cli-prompt-travel

基于 sd-webui-animatediff 生成动画或者动态图的基础功能,animatediff-cli-prompt-travel突破了部分限制,能让视频生成的时间更长,并且能加入controlnet和提示词信息控制每个片段,并不像之前 sd-webui-animatediff 的一套关键词控制全部画面。 动图太大传不上来,凑合看每…

python 并发请求,转发

python 并发请求,转发 http://t.csdnimg.cn/snSm5 另外:如果想要随机入参,可以参考加入随机数 #codingutf-8 import requests import json import threading import time import uuid import random class postrequests(): def init(self):…

css 块元素、行内元素、行内块元素相互转换

在HTML和CSS中,元素可以分为三类:块级元素(Block-level Elements)、内联元素(Inline Elements)和内联块级元素(Inline-block Elements)。 块级元素(Block-level Elements…

10月14日,每日信息差

今天是2023年10月14日,以下是为您准备的8条信息差 第一、中国石油摘得日本碳信用实货交易首单。据了解,日本交易所集团旗下的东京证券交易所11日宣布,交易二氧化碳排放量的“碳信用市场”正式开始运营 第二、前三季度全国铁路投产新线1402公…

【C++】哈希对unordered_map和unodered_set的封装

🚀write in front🚀 📜所属专栏: C学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我最大…

Paddle build_cinn_pass_test源码阅读(fluid目录下)

代码位置在 paddle\fluid\framework\paddle2cinn\build_cinn_pass_test.cc &#xff0c;因为paddle CINN和PIR部分依旧在高频更新&#xff0c;所以各位看到的可能和我的不一样 inline bool CheckNodeExisted(const std::unordered_set<Node*>& nodes,const std::str…

Godot 单元测试

前言 单元测试是我们常用的功能&#xff0c;Godot作为一个游戏&#xff0c;单元测试和热重载是我们常用的功能。这里我们讲解最简单的单元测试的情况。 Godot 配置 我们添加一个最简单的节点&#xff0c;挂载一个最简单的脚本。 添加测试方法&#xff08;只能是静态方法&…

【Python】Python语言基础(中)

第十章 Python的数据类型 基本数据类型 数字 整数 整数就是整数 浮点数 在编程中&#xff0c;小数都称之为浮点数 浮点数的精度问题 print(0.1 0.2) --------------- 0.30000000000000004 ​​1.可以通过round()函数来控制小数点后位数 round(a b)&#xff0c;则表示…

Linux该如何学习,给你支招

如果你已经确定对 Linux 产生了兴趣&#xff0c;那么接下来我们介绍一下学习 Linux 的方法。这只是自己关于学习Linux的建议。 一、如何去学习 学习大多类似庖丁解牛&#xff0c;对事物的认识一般都是由浅入深、由表及里的过程&#xff0c;循序才能渐进。学习 Linux 同样要有一…

关于RNNoise、webrtc_ns、三角带通滤波器、对数能量

语音特征参数MFCC提取过程详解 其中讲解了&#xff1a;三角带通滤波器 、计算每个滤波器组输出的对数能量、对数能量、经离散余弦变换&#xff08;DCT&#xff09;得到MFCC系数 推荐阅读某乎这位大佬的全部文章&#xff1a; 下面是几篇出自这位大佬的很好的文章&#xff1a; …

SSH 基础学习使用

什么是SSH 1.SSH SSH&#xff08;Secure Shell&#xff09; 是较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议&#xff0c;利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 实际应用中&#xff0c;主要用于保证远程登录和远程通信的安全&#…

微信小程序入门讲解【超详细】

一. 微信小程序简介 1.1 什么是小程序 2017年度百度百科十大热词之一 微信小程序&#xff08;wei xin xiao cheng xu&#xff09;&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装&#xf…

如何创建自定义前端组件?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

VScode运行C/C++

VScode运行C/C VScode的安装这里不讲 一、mingw64的下载 二、VS code打开文件夹与创建C文件 ----------------这一步给萌新看&#xff0c;有C和VScode的基础可跳过---------------- 1.创建一个文件夹 2.vscode打开刚刚创建的文件夹 3.新建文件&#xff0c;在输入文件名1.c后…

Unity实现摄像机向屏幕中间发射射线射击物体

1.创建一个准星放在屏幕中间 外部找个PNG透明图&#xff0c;拖到Unity文件夹&#xff0c;右上角改成精灵sprite2d 2.添加到UI画布 3.写脚本 首先&#xff0c;我们需要引入一些 "工具"&#xff0c;就像我们在玩游戏时要先下载游戏客户端一样。这里的 "工具&quo…

iOS- flutter flavor 多环境Configurations配置

一、点击PROJECT的Runner&#xff0c;选择Info选项&#xff0c;在Configurations下方的号添加不同环境的配置&#xff0c;如下图&#xff1a; 二、选择TAGETS的Runner项目&#xff0c;选择Build Settings选项&#xff0c;在输入框输入package&#xff0c;为不同环境配置相应的…

QScrollArea设置透明和去除边框

需求&#xff1a;添加QScrollArea时不需要它自己有样式&#xff0c;完全透明显示父窗口样式即可 1、设置透明 QPalette pa palette(); pa.setBrush(QPalette::Window, Qt::transparent); setPalette(pa); 2、设置无边框 setFrameShape(QFrame::NoFrame);

PCL点云处理之Failed to find match for field ‘intensity‘问题的解决方法 (二百一十四)

PCL点云处理之Failed to find match for field intensity问题的解决方法 (二百一十四) 一、问题介绍二、解决方法1.方法12.方法23.方法3三、总结一、问题介绍 问题:在PCL库读取点云文件,例如PCD,PLY格式的文件时,可能会出现Failed to find match for field intensity’的…

UML组件图综合指南:设计清晰、可维护的软件系统

介绍&#xff1a; UML&#xff08;Unified Modeling Language&#xff09;组件图是软件系统设计中的重要工具&#xff0c;用于描绘系统的物理结构和组件之间的关系。在软件工程中&#xff0c;通过创建清晰的组件图&#xff0c;团队能够更好地理解系统的模块化结构和组织关系&a…

二十四、【参考素描三大面和五大调】

文章目录 三种色面(黑白灰)五种色调 这个可以参考素描对物体受光的理解&#xff1a;素描调子的基本规律与素描三大面五大调物体的明暗规律 三种色面(黑白灰) 如下图所示&#xff0c;我们可以看到光源是从亮面所对应的方向射过来的,所以我们去分析图形的时候&#xff0c;首先要…