0%

Postgresql数据导入导出

测试软件导出、Postgresql导入

测试软件导出

连接数据库设置完筛选条件后点击导出到Excel重命名为:表名.csv

测试软件导入

1、打开导出表添加新的数据后,删除第一行表头以及第一列序号
2、删除原数据库已有行后保存
3、打开Postgres找到相应表右键导入
4、文件名选择csv文件路径、格式选csv、字符编码可选
5、点击导入即可

如果主键为自增序列执行6、7
6、将相应表的序列创建脚本后删除
7、更改脚本中的START大于新增数据的主键ID后执行脚本

SQL shell(psql)导入

1、将excel处理好后,另存为csv(Comma Delimited)
2、运行SQL shell(psql) 并登录
3、运行’COPY mytable FROM ‘/myfile.csv’ WITH CSV HEADER

SQL shell(psql)导出

COPY (select * from mytable) to ‘/myfile.csv’ with csv header;

数据库备份脚本

1
2
3
4
5
echo off
set PRJDB=LocalDB
set FileName=%PRJDB%_%date:~0,4%_%date:~5,2%_%date:~8,2%.backup
if not exist "D:\BBK\DBbackup" (md D:\BBK\DBbackup)
D:/“Program Files (x86)“/PostgreSQL/9.5/bin\pg_dump.exe --host localhost --port 5432 --username "postgres" --no-password --format custom --verbose --file "D:\BBK\DBbackup\%FileName%" "LocalDB"

删除表中数据

1
2
// 删除7天以前的数据
D:/“Program Files (x86)“/PostgreSQL/9.5/bin/psql -h 127.0.0.1 -p 5432 -d LocalDB -U postgres --command "delete from 侧滑表 where 测试时间 < (now() - interval '7 day')"

时间扩展

interval ‘2 years’
interval ‘2 year’
interval ‘2 y’
interval ‘2 Y’
interval ‘2Y’

interval ‘1 month’
interval ‘one month’

interval ‘3 week’

说明:interval 可以不写

运行时会提示数据用户名密码
windows系统可在%APPDATA%\postgresql\pgpass.conf中添加服务器信息,实现免密操作。
参考:https://www.postgresql.org/docs/current/libpq-pgpass.html