将大量数据导入 PostgreSQL 数据库

Hom*_*lli 6 postgresql import

我正在将大量数据导入 PostgreSQL 服务器(跨服务器上的多个数据库)。

当我上次尝试导入数据时,它有效地“崩溃”了我的机器(Ubuntu 10.0.4),因为 /var/log/postgres 包含超过360G的文件(而我只进行了大约 1 个导入的一半)。

我不确定日志文件的用途(我猜它必须是为了符合 ACID 等)。但是我想知道是否有办法减少导入大量数据时生成的日志文件的大小。

Erw*_*ter 6

在日志文件中/var/log/postgres为您的信息(在标准安装),不服务于系统本身,尤其不能“ACID合规性”。它们需要在配置后可写,这就是服务器所需要的。

有许多设置postgresql.conf管理记录的内容。它们中的大多数也可以在命令行中设置以否决配置文件中的设置。我们不是在谈论WAL 文件,它们通常不会放在/var/log/postgres.

在你的情况下,我会大大减少冗长。其中,我会设置(并重新加载服务器):
log_statement = none

根据您导入数据的方式,您可能需要做的不止这些。看着:
log_min_messages

要完全跳过写入日志文件,您可以设置:
log_destination = 'stderr'...

手册中有更多内容。