什么是没有数据的数据库?Postgres 提供了多种从文件导入数据的选项。您可以使用该COPY命令、从备份还原或使用 SQL GUI 工具加载 CSV。最快和最简单的方法将取决于您的设置以及数据现在的存在方式。
方法一:对 Postgres 使用 COPY 命令
如果访问文本、CSV 或二进制格式数据,COPY 命令可以将数据导入 Postgres。例如,该COPY TO命令将表的内容输出到文件。您还可以使用该COPY FROM命令将数据从文件加载到表中。命令中提到的文件COPY必须可以被 Postgres 用户访问,并且应该从 Postgres 服务器的角度来指定。
该命令还可以使用 SELECT 查询将数据加载到表中。它还允许您指定要插入数据的列列表,而不是整个表。成功完成后,COPY 命令以 COPY count 格式输出结果,表示该命令插入的行数。
文本和 CSV 文件格式都允许您指定分隔符。但是如果您的输入是 CSV,最好使用带有 DELIMITER 选项的 CSV 格式而不是TEXT 格式,因为 CSV 格式遵循普遍接受的 CSV 转义机制。相比之下,TEXT 格式遵循 Postgres 特定的转义规则。
想查看实际的COPY命令吗?请按照以下步骤操作。第一步是使用CREATE TABLE命令创建表。
CREATE TABLE customer(
id serial,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50)
);上面的命令生成一个customer包含四列的表。现在,创建以下格式的 CSV 文件。您可以在 Excel 或任何其他电子表格类型的程序中执行此操作。
| 串行 | 名 | 姓 | 电子邮件 |
|---|---|---|---|
| 1 | 约翰 | 迈克尔 | john@gmail.com |
| 2 | 玛丽 | 库珀 | mcooper@gmail.com |
| 3 | 谢尔顿 | 库珀 | scooper@gmail.com |
另存为customers.csv并退出。我们现在可以使用 COPY 命令将数据插入到customer表中。
COPY customer FROM '/home/data/customer.csv' DELIMITER ',' CSV HEADER;如果您想跳过加载序列列并且只想加载first_name, last_name, 和email您可以使用下面的命令。
COPY customer(first_name,last_name,email) FROM '/home/data/customers1.csv' DELIMITER ',' CSV HEADER;该COPY命令有许多可选参数,您可以使用它们来自定义其行为。下面列出了一些重要的:
- QUOTE: 指定用于引用数据值的字符。
- NULL: 指定用于表示 NULL 值的字符。
- ESCAPE: 指定用于转义用作 QUOTE 字符的字符的字符。
- ENCODING: 用于描述文件的编码。如果没有提及,则默认为客户端编码。
此文档链接可让您了解有关 COPY 命令参数的更多信息。
方法 2:使用 Psql 从备份文件恢复
将数据导入 Postgres 的另一种方法是使用psql命令。当输入文件是 .sql 格式的纯文本文件时,应使用此方法。此命令对于恢复数据备份最有用。
让我们试试看。首先,我们将通过执行以下命令对刚刚创建的表进行备份:
pg_dump -d postgres -t customer > /tmp/customer.sql确保 Postgres 有权访问您用于进行备份的文件夹。现在,要恢复此表,请使用以下命令。
psql -d postgres < /tmp/customer.sql如果备份文件格式不是.sql,而是另一种格式(如.tar),则必须使用pg_restore命令恢复备份。在这种情况下,请使用以下命令创建备份:
pg_dump -d postgres -t customer -F t > /tmp/customer.tar要恢复备份:
pg_restore -d postgres -t customer /tmp/customer.tarViola - 您的数据现已导入!现在我们已经清楚使用 shell 命令将数据导入 Postgres 表,让我们看看第三个选项 - 使用 Arctype UI 创建和加载表。
方法 3:使用 Postgres 客户端创建表和导入 CSV
使用 Arctype UI 创建表和导入数据只需单击几下。首先,下载Arctype并连接您的数据库。您可以按照数据库连接指南获取有关如何将 Arctype 连接到 Postgres 数据库的分步说明。您还可以按照此处发布的文档获取快速入门教程。
完成所有设置后,在左侧导航窗格中选择“表格”,然后单击靠近搜索栏的三个点。

选择将CSV 导入表并验证 CSV 文件中的数据。点击“接受”。

输入表的名称和要在其中创建表的架构。点击“导入 CSV”。

而已!您现在已成功将 CSV 文件导入 Arctype。
结论
您现在已经了解了将数据导入 Postgres 的一些方法。作为一个健壮的 DBMS,Postgres 提供了选项。例如,您可以使用COPY命令或pg_restore在没有 GUI 的情况下导入数据。您还可以使用 Arctype 通过其用户界面只需单击几下即可导入表格。有了所有这些选项可供选择,您只需要决定哪个最适合您。祝你好运!




