1.切换PostgreSQL bin目录

配置Postgresql环境变量后可以不用切换

pg_dump 、psql都在postgresql bin目录下,所以需要切换到bin目录执行命令

2.备份数据库

方式一

语法

pg_dump -h <ip> -U <pg_username> -p <port> -d <databaseName>   -f  <fileName> 

示例

pg_dump -h 127.0.0.1 -U postgres -p 9993 -d ceshi   -f  E:/tmp/ceshi.sql 

执行完毕后需要手动输入密码

说明

参数 【-t 】是备份某一个表,可以用多个-t参数来导出多张表 -t a -t b -t c

参数【-h】 指定服务器ip

参数【-p】 指定服务器端口号

参数【-U】 指定数据库用户名

参数【-d】指定数据库名称

参数【-f】指定备份文件的路径和文件名

参数 【-c 】--clean 在重新创建之前,先清除(删除)数据库对象

参数 【-s 】只备份数据表结构

方式二

语法

pg_dump  -f <fileName> "host=<ip> port=<port> user=<pg_username> password=<password> dbname=<databaseName> " 

示例

pg_dump  -f E:/tmp/20220411/ceshi.sql "host=127.0.0.1 port=5432 user=postgres password=123456 dbname=ceshi" 

执行完毕后无需手动输入密码

说明: 方式二执行命令后需要输入密码

参数 【-t 】是备份某一个表,可以用多个-t参数来导出多张表 -t a -t b -t c

参数【-h】 指定服务器ip

参数【-p】 指定服务器端口号

参数【-U】 指定数据库用户名

参数【password】制定数据库密码

参数【-d】指定数据库名称

参数【-f】指定备份文件的路径和文件名,可以替换为

参数 【-c 】--clean 在重新创建之前,先清除(删除)数据库对象

参数 【-s 】只备份数据表结构

3. 创建新数据库

  1. 客户端连接postgresql
  2. 删除原来的数据库 drop database testdb;
  3. 创建新的数据库 create database testdb TEMPLATE = template0 ENCODING 'UTF8' ;

4. 还原数据库

切换到PostgreSQL bin目录,打开命令行,执行下面的命令

方式一

语法

psql -h <ip> -U <pg_username> -p =<port> -d <databaseName> -f <fileName> 

示例

psql -h 127.0.0.1 -U postgres -p 9993 -d ceshi -f E:/tmp/ceshi.sql 

执行命令后需要输入密码

说明

参数【-h】 指定服务器ip

参数【-p】 指定服务器端口号

参数【-U】 指定数据库用户名

参数【-d】指定数据库名称

E:/tmp/packbiv5.sql :为备份的数据库目录和备份的文件名称

方式二

语法

psql "host=<ip> port=<port> user=<pg_username>  password=<password> dbname=<databaseName> " -f <fileName>

示例

psql "host=127.0.0.1 port=5432 user=postgres  password=123456 dbname=ceshi " -f E:/tmp/ceshi.sql

psql -h 127.0.0.1 -U postgres -p 9993 -d packbiv5 <E:/tmp/packbiv5.sql

说明: 方式二执行命令后需要输入密码

参数【-h】 指定服务器ip

参数【-p】 指定服务器端口号

参数【-U】 指定数据库用户名

参数【-d】指定数据库名称

参数【-f】指定备份文件的路径和文件名

参数【password】制定数据库密码

5.完毕

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐