小编qui*_*lur的帖子

如何限制 pg_dump 使用的资源?

是否可以限制 所使用的系统资源pg_dump

我有一个使用PostgreSQL数据库的资源相当密集的服务器。它正在运行FreeBSD 10.2。服务器有 8 GB 内存。

我使用以下命令运行备份。

pg_dump -h <address> -U <user> -Fc <database> -f <location>
Run Code Online (Sandbox Code Playgroud)

当备份完成时,相关的 postgres 进程的内存使用量不断上升。仅该进程就达到了 2.2 GB。此时内存几乎已用完并FreeBSD开始杀死进程。

我尝试更改备份的完成方式。例如,我尝试使用多个作业(因此将格式更改为目录)。

pg_dump -j 4 -h <address> -U <user> -Fd <database> -f <location>
Run Code Online (Sandbox Code Playgroud)

没有差异。最终,内存使用量将达到上限并FreeBSD终止数据库备份(以及其他进程)。

我还尝试调整一些系统变量。有管理内核资源资源消耗。这些影响了服务器使用的正在运行的 postgres 进程,但对进程使用没有影响pg_dump。在 FreeBSD 开始终止进程​​之前,它仍然上升到 2.2 GB。

我已经通读了pg_dump手册,除了多项作业之外,没有真正看到任何有帮助的内容。

此时我不太确定该怎么办。pg_dump有没有办法限制允许使用的资源?我不介意备份是否慢一些。只是不要在系统资源耗尽时操作系统必须开始终止进程​​。

postgresql memory pg-dump postgresql-9.4

6
推荐指数
1
解决办法
7221
查看次数

在 Postgresql 中,如何将本地时间作为时区以在 FreeBSD 上工作?

PostgreSQL: 9.4
FreeBSD: 11.2

当我将TimeZone参数设置为postgresql.conf时,localtime在尝试启动 PostgreSQL 时收到以下错误。

service postgresql restart
<2022-06-02 11:18:27.612 EDT> LOG:  invalid value for parameter "TimeZone": "localtime"
<2022-06-02 11:18:27.613 EDT> FATAL:  configuration file "/usr/local/pgsql/data/postgresql.conf" contains errors
pg_ctl: could not start server
Examine the log output.
Run Code Online (Sandbox Code Playgroud)

在我的搜索过程中,我发现了这个对应关系,这似乎表明 /etc/localtime 应该是一个符号链接。我的不是,所以我尝试将其更改为符号链接,但它仍然不起作用,因为我得到了与上面相同的错误。

mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/America/Yellowknife
shutdown -r now
ls -la /etc/localtime
lrwxr-xr-x  1 root  wheel  35 Jun  2 11:04 /etc/localtime -> /usr/share/zoneinfo/America/Yellowknife
Run Code Online (Sandbox Code Playgroud)

可以开始TimeZone工作localtimeFreeBSD …

postgresql postgresql-9.4

0
推荐指数
1
解决办法
318
查看次数

标签 统计

postgresql ×2

postgresql-9.4 ×2

memory ×1

pg-dump ×1