数据库
Postgres
devops
Backup Database

备份数据库

命令行不带密码

要备份一个 PostgreSQL 数据库,可以使用 pg_dump 命令。以下是一般步骤:

  1. 打开命令行(例如 Terminal 或者 CMD),确保 PostgreSQL 的二进制文件目录已经添加到环境变量中,或者直接进入到 PostgreSQL 的二进制文件目录。
  2. 使用 pg_dump 命令备份数据库,语法如下:
pg_dump -U [用户名] -W -F t [数据库名] > [输出文件路径]

其中:

  • [用户名]:用于连接数据库的用户名
  • [数据库名]:要备份的数据库名称
  • [输出文件路径]:指定备份文件保存的路径,通常使用 .tar 文件格式

例如,要备份名为 "mydb" 的数据库,用户名为 "postgres",并将备份文件保存到 "mydb_backup.tar",可以使用以下命令:

pg_dump -U postgres -W -F t mydb > mydb_backup.tar
  1. 当提示输入密码时,输入相应用户的密码。
  2. 等待命令执行完毕。成功完成后,备份文件将保存在指定的路径。

请注意,根据数据库大小,备份过程可能需要一些时间。完成后,可以将备份文件存储在安全的位置,以便在需要时进行恢复。

命令行带密码

PGPASSWORD=[密码] pg_dump -h [主机名] -p [端口] -U [用户名] -W -F t [数据库名] > [输出文件路径]

其中:

  • [密码]:用于连接数据库的密码
  • [主机名]:数据库服务器的主机名或 IP 地址
  • [端口]:数据库服务器上 PostgreSQL 服务所使用的端口号
  • [用户名]:用于连接数据库的用户名
  • [数据库名]:要备份的数据库名称
  • [输出文件路径]:指定备份文件保存的路径,通常使用 .tar 文件格式

例如,要备份名为 "mydb" 的数据库,用户名为 "postgres",密码为 "my_password",主机名为 "localhost",端口为 "5432",并将备份文件保存到 "mydb_backup.tar",可以使用以下命令:

PGPASSWORD=my_password pg_dump -h localhost -p 5432 -U postgres -W -F t mydb > mydb_backup.tar

这个命令将使用提供的用户名、密码、主机名和端口连接到 PostgreSQL 数据库,并将其备份到指定的输出文件路径。注意,在这个示例中,-W 选项已经包含在命令中,但由于我们已经设置了 PGPASSWORD 环境变量,实际上不需要这个选项。您可以根据自己的需要选择保留或删除该选项。