-
切换到postgres用户
-
su postgres
-
执行psql
-
创建数据库
-
CREATE USER 用户名 WITH PASSWORD '*****';create database [数据库名];或者create database [数据库名] owner [用户名];
-
导入整个数据库
-W 输入密码 -p 指定端口号psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql
-
psql 数据库名 < /data/dum.sql
-
导入出现错误psql: FATAL: Peer authentication failed for user "postgres"
修改 vim /var/lib/pgsql/9.6/data/pg_hba.conf文件中
local all all peer改为local all all trust -
导出整个数据库
-O 忽略所属用户 -p 指定端口号
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) >/data/dum.sql
pg_dump 数据库名 >/data/dum.sql -
导出某个表
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql
-
压缩方法
一般用dump导出数据会比较大,推荐使用xz压缩
压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件
-
xz压缩数据倒数数据库方法
xzcat /data/dum.sql.xz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)
-
使用pg_dumpall
pg_dump只备份数据库集群中的某个数据库的数据,它不会导出角色和表空间相关的信息。pg_dumpall则可以导出整个数据库集群中所有的数据库中的数据,同时也会导出角色、用户和表空间的定义信息。使用pg_dumpall的一般命令格式如下:
pg_dumpall > backup_file
pg_dumpall也支持和pg_dump一样的命令行选项,如-h和-p等。同样可以使用psql来从pg_dumpall创建的备份文件中恢复数据库。应该使用数据库超级用户来进行恢复数据库的操作。命令格式如下:
psql -f backup_file postgres
pg_dumpall在执行的过程中,用postgres作为用户名来连接数据库。系统自动创建的数据库postgres中的内容也会被导出来,数据库template0和template1中的内容不会被导出来。
postgresql数据库的导入和导出,备份/恢复
最新推荐文章于 2024-05-16 07:04:28 发布