csv导入pgsql不成功_批量导入csv格式数据到postgreSQL

本文介绍了如何使用PostgreSQL的psql命令行工具批量导入CSV数据到数据库。首先创建名为logs的数据库,然后根据CSV文件的结构创建对应的logs表。CSV文件的表头需与数据库字段名匹配。接着,使用COPY命令导入CSV数据,但该操作需要postgres超级管理员权限。导入命令中指定了CSV文件路径及包含表头选项。
摘要由CSDN通过智能技术生成

创建数据库

需要用到postgreSQL自带的psql命令行工具,如图所示:

首先创建数据库:

create database logs;

-- 删除数据库:

-- drop database logs;

创建数据表

创一个表,表结构应该可以完全容纳csv的数据结构。

首先csv文件结构大致如下:

scv表头名应该与数据库字段名一致。

创建数据表如下:

CREATE TABLE public.logs(

id serial NOT NULL,

timestamp character varying(100) NOT NULL,

sip character varying(100) NOT NULL,

sport numeric(6, 0) NOT NULL,

dip character varying(100) NOT NULL,

dport numeric(6, 0) NOT NULL,

protocol character varying(100) NOT NULL,

app_protocol character varying(100) NOT NULL,

app character varying(100) NOT NULL,

direct character varying(100) NOT NULL,

session_duration numeric(11, 0) NOT NULL,

up_packets numeric(11, 0) NOT NULL,

down_packets numeric(11, 0) NOT NULL,

up_flow numeric(11, 0) NOT NULL,

down_flow numeric(11, 0) NOT NULL,

packets numeric(11, 0) NOT NULL,

s_region character varying(100) NOT NULL,

d_region character varying(100) NOT NULL,

CONSTRAINT public_logs_pkey PRIMARY KEY(id)

);

-- 删除一个表:

-- drop table public.logs;

导入csv

## 只能是 postgres 或者其它超级管理员用户才能执行 copy 命令

COPY public.logs(timestamp,sip,sport,dip,dport,protocol,app_protocol,app,direct,session_duration,up_packets,down_packets,up_flow,down_flow,packets,s_region,d_region)

from 'F:\\logs.csv' WITH CSV HEADER;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值