使用pg_dump,需要安装有postgresql,如果安装的是docker的话需要进入到docker内执行
pg_dump -U postgres -h 127.0.0.1 -p 5432 -c -Fp -t public.mytable -E UTF-8 -f /home/mytable_20210415.sql mydatabase
这里面的参数:
- -h host,指定数据库主机名,或者IP
- -p port,指定端口号
- -U user,指定连接使用的用户名
- -W,按提示输入密码
- dbname,指定连接的数据库名称,实际上也是要备份的数据库名称。
- -a,–data-only,只导出数据,不导出表结构
- -c,–clean,是否生成清理该数据库对象的语句,比如drop table
- -C,–create,是否输出一条创建数据库语句
- -f file,–file=file,输出到指定文件中
- -n schema,–schema=schema,只转存匹配schema的模式内容
- -N schema,–exclude-schema=schema,不转存匹配schema的模式内容
- -O,–no-owner,不设置导出对象的所有权
- -s,–schema-only,只导致对象定义模式,不导出数据
- -t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表
- -T table,–exclude-table=table,不转存匹配到的表。
- -inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。
- -column-inserts,导出的数据,有显式列名
参考:传送门
导入表格就简单多了:
psql -U postgres -W mydatabase -h 127.0.0.1 -p 5432 < /home/mytable_20210415.sql
导出表格使用pg_dump,需要安装有postgresql,如果安装的是docker的话需要进入到docker内执行pg_dump -U postgres -h 127.0.0.1 -p 5432 -c -Fp -t public.mytable -E UTF-8 -f /home/mytable_20210415.sql mydatabase这里面的参数:-h host,指定数据库主机名,或者IP-p port,指定端口号-U user,指定连接使用的用户名-W,按提示输入密码dbn
1.创建临时表
create table test_view as select * from test where date(to_timestamp(endtime))>='2012-09-02';
2.导出临时表数据为文本
copy test_view to '/home/postgres/test_view.txt' with delimiter as '|';
postgresql没有自带的批量导入导出成CSV的指令,但是有一个调用执行文件的指令(\i),这个指令可以执行编写的脚本。例如
一个a.txt文件,里面内容是
#将xxx表数据导出xxx文件
\copy xxx to xxx
需要在客户端的指令界面执行以下指令
\i 路径\a.txt
就可以进行批量导出操作。
postgresql copy命令介绍
注意COPY只能用于表,不能用于视图
copy...
pg_dump -t thr -h 192.168.100.100 one -U postgres -p 5432 -f thr.sql
参数说明:-t 指定导出的表名;-h 数据库地址;-U 数据库用户;-p 访问端口;-f 导出到指定文件;
2.导出所有表和所有数据
例:从ip为xxx的数据库mon导出所有表结构和数据到文件dump2022.sql:
pg_dump -h 192.168.100.100 mon -U postgres -p 5432 -f dump
pg_dump:是一个用于备份PostgreSQL数据库的实用工具,即使当前数据库正在使用,也能够生成一致性的备份,且不会阻塞其他用户访问数据库(包括读、写)。
pg_restore :从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.
1.在命令行中进入pg安装包的bin目录
2.新建一个文件夹,准备从表中导出来的数据
3.明确需要导出的表
4.在命令行中书写:
pg_dump -d test_localhost -h 127.0.0.1 -p 5432 -U post
PostgreSQL 使用 pg_dump 和 pg_dumpall 进行数据库的逻辑备份,使用 pg_restore 导入数据,pg_dumpall 是对整个数据库集群进行备份,pg_dump 可以选择一个数据库或者部分表进行备份。
关于 pg_dump:
pg_dump 将表结构及数据以 SQL 语句的形式导出到 sql 文件或其他格式文件,恢复数据时,将导出的文件作为输入,执行其...
CREATE TABLE test_1(id int4,name text,create_time timestamp without time zone default clock_timestamp());
ALTER TABLE test_1 ADD PRIMARY KEY (id);
INSERT INTO test_1(id,name) SELECT n,n || '_francs' FROM generate_series(1,
\copy dataset to /home/backup/dataset.csv with csv
\copy dataset to /home/backup/dataset.csv with csv header 带字段名
导入CSV
COPY mytable FROM '/myfile.csv'...
Windows PgAdmin 环境变量配置
PG_HOME:D:\Program Files\
PostgreSQL\9.5
Path:%PG_HOME%\bin;%PG_HOME%\lib;%PG_HOME%\data; //最后追加
查看配置是否成功(出现以下显示
表示环境变量配置成功)
C:\>psql -V
psql (
PostgreSQL) 9.5.1
RainyLave: