使用 pg_dump 在 PostgreSQL 中创建数据库的备份文件
数据备份是确保在发生数据丢失等事件时预防措施有效的关键过程。我们可以根据大小和环境以不同的形式和方式备份数据。
本文将讨论如何创建 PostgreSQL 数据库的备份并访问文件存储在我们计算机上的不同位置。
在 PostgreSQL 中创建并连接到数据库
处理真实用户数据时,请将备份存储在安全环境中,例如 USB 记忆棒、外部硬盘驱动器、云存储或其他安全位置。
我们将创建一个包含一个实体的数据库,然后创建该数据库的备份。该实体将仅包含一条记录,但你可以添加更多用于测试目的。
然后,我们将使用 pg_dump
命令行工具将单个数据库备份到脚本文件。脚本文件是一个带有 SQL 命令的文本文件,用于将数据库重建到保存时的状态。
要重建数据库,请向 Psql 提供脚本。
使用如下所示的命令登录 PostgreSQL 服务器。
david@david-HP-ProBook-6470b:~$ psql -U postgres
Password for user postgres:
输入用户 postgres
的密码,然后按键盘上的 Enter 按钮。
psql (14.2 (Ubuntu 14.2-1.pgdg18.04+1))
Type "help" for help.
postgres=#
创建一个名为 pg_dump_db
的数据库,其中将包含我们的实体。将以下命令复制并粘贴到你的终端上,然后按键盘上的 Enter 按钮。
postgres=# create database pg_dump_db;
CREATE DATABASE
使用以下命令连接到 pg_dump_db
数据库,以确保我们正在使用正确的数据库。
postgres=# \c pg_dump_db;
You are now connected to database "pg_dump_db" as user "postgres".
使用字段 id
、first_name
、last_name
和 email
创建一个名为 users
的实体。将以下数据定义语言复制并粘贴到你的终端,然后按 Enter。
pg_dump_db=# create table users(
pg_dump_db=# first_name varchar(30),
pg_dump_db=# last_name varchar(30),
pg_dump_db=# email varchar(50),
pg_dump_db=# id SERIAL UNIQUE NOT NULL,
pg_dump_db=# PRIMARY KEY(id));
CREATE TABLE
在 users
实体中插入一条记录。将以下数据操作命令复制并粘贴到你的终端,然后按 Enter。
pg_dump_db=# insert into users(first_name, last_name, email)
pg_dump_db-# values('john','doe','john@gmail.com');
INSERT 0 1
使用 pg_dump
在当前目录中创建数据库的备份文件
由于 pg_dump
是一个命令行工具,请确保你从 PostgreSQL 服务器注销并在登录服务器时执行该命令。
postgres=# exit;
使用以下命令创建 pg_dump_db
数据库的备份。输出文件存储在当前目录中。
david@david-HP-ProBook-6470b:~$ pg_dump -U postgres pg_dump_db > backup.sql
Password:
输出文件是在当前目录中创建的,因为没有指定生成文件的路径。
对于 Linux 用户,当前目录是 /home/
目录,其中存储了所有数据,例如与用户有关的文件夹和文件。
转到 /home/
文件夹后,你将找到一个名为 backup.sql
的文件,其中包含 pg_dump_db
数据库的备份。
使用 pg_dump
在自定义目录中创建数据库的备份文件
如果我们想在计算机上的特定位置备份,我们可以使用相同的命令并添加我们要创建文件的路径。
使用以下命令创建存储在我们桌面上的 pg_dump_db
数据库的备份。
david@david-HP-ProBook-6470b:~$ pg_dump -U postgres pg_dump_db > /home/david/Desktop/backup.sql
Password:
在上面的示例中,我们提供了桌面的绝对路径以及在该位置创建的文件名。
转到 /Desktop/
文件夹。你将找到一个名为 backup.sql
的文件,其中包含 pg_dump_db
数据库的备份。
结论
我们在所涵盖的两个示例中使用了 >
符号。但是,你可以使用 -f
标志告诉 pg_dump
你要将结果写入文件。
如果你不提供要创建文件的路径,则该文件将在 /home/
目录中创建。请注意,这仅适用于 Linux 用户,并且取决于 Linux 发行版。
如果你提供要创建文件的路径,则可以在该位置找到该文件。
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。