macos - Postgres : After importing production database (with replication) to my local machine, 我注意到正在从 macbook 发送和接收网络数据包

标签 macos postgresql

我一直是一个 MySQL 专家,现在我正在使用 Postgres,所以我正在学习。想知道是否有人可以告诉我为什么我的 macbook 上的 postgres 进程通过我的网络发送和接收数据。我只是注意到这是第一次发生这种情况 - 所以也许在此之前它一直在发生,我只是从未注意到 postgres 会这样做。

让我有点紧张的是,我从设置了复制的服务器中提取了一个生产数据转储,并将其导入到我的本地 postgres 数据库中。我的 postgresql.conf 中的设置并不表示复制已打开。所以它不应该流出任何东西,对吧?

如果有人对可能发生的事情有一些了解,或者为什么 postgres 正在发送/接收数据包,我很乐意听到简单的答案(如果发生的事情还有更多,则可以是复杂的答案)。

这是在 MacOSX 上通过 Homebrew 安装的 postgres。

提前致谢!

一些最后的想法:我猜,Mac 的事件监视器完全有可能还显示本地“网络”流量统计信息。也许这不会传到互联网上......

最佳答案

简而言之,我不会期望为从拥有它的服务器转储的数据库启用复制,如果它被恢复到的服务器没有复制 完全配置。

更多细节:

通常,要在 Postgres 中获取数据库的本地副本,可以对远程数据库执行 pg_dump(这可以在您的笔记本电脑上完成,指向您的服务器),然后在您的笔记本电脑上执行 createdb 以创建数据库 stub ,然后是指向转储的 pg_restore 以填充其内容。 [编辑:重新阅读您的帖子,您似乎可能已经这样做了,但这意味着您使用的转储启用了复制。)]

这将完全是本地的(假设没有从机外连接到数据库),只要您没有明确设置任何复制或任何其他可以开箱即用的东西。您能否详细说明导入复制的确切含义?

此外,如果您担心来自 Postgres 的远程流量,请尝试在一两分钟内运行此命令几次(当您看到流量时):

netstat | grep postgres

一般来说,Postgres 中的replication 在服务器级别配置,并且与诸如主服务器将 WAL 文件传送到备用服务器(用于流式复制)。您几乎肯定必须在 postgresql.confpg_hba.conf 中设置条目以确保 备用服务器 具有访问权限(例如后一个 conf 文件中的 replication 条目)。假设您没有执行这样的步骤,我认为可以非常有把握地得出结论,没有复制正在进行(尤其是结合通过 netstat 进行双重检查)。

您还可以仔细检查 Postgres 日志,看看它是否在做任何与复制相关的事情。在默认安装中,它可能在/var/log/postgresql 中(尽管我不是 100% 确定 Homebrew 安装是否将它放在其他地方)。

关于macos - Postgres : After importing production database (with replication) to my local machine, 我注意到正在从 macbook 发送和接收网络数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24196396/

相关文章:

postgresql - 如何在 pgAdmin 4 中显示错误?

sql - PostgreSQL 中表达式索引的实际限制

python - 如何在 OSX 10.8 上安装 SimpleCV

macos - Qt 4.8.5 Mac 处理拖放到扩展坞图标上的文件

php - 如何确保使用 PHP 的 Postgres 中的 DELETE SQL 语句成功?

perl - PostgreSQL 阻塞太多插入

python - 导入错误 : No module named PyQt5 - OSX Mavericks

html - Mac os 上有什么强大的html 编辑器吗?

objective-c - Cocoa Accessibility API 消耗鼠标点击

postgresql - Postgres : how to detect out of space condition in query?