问题标签 [pgaudit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

postgresql - PostgreSQL 细粒度审计支持

我在生产中使用 postgresql 数据库,我们需要对某些表应用细粒度审计。要求是,敏感数据相关表只能由应用程序用户访问。如果任何其他用户访问这些表,则应创建一个日志条目。

PGAUDIT 扩展可以支持这种功能吗?

0 投票
0 回答
21 浏览

postgresql - Windows 的 Postgresql 12 pgaudit 扩展

谁能帮助我如何为 windows 的 postgres12 生成 pgaudit 扩展。

遵循这个,但仍然无法生成。

0 投票
0 回答
82 浏览

postgresql - PostgreSQL 13 捕获实际 IP 地址的审计日志

我正在我的 PostgreSQL 数据库上配置 PgAudit,因此当我的客户访问我的 PostgreSQL 时,它将捕获他们执行的操作的日志。

我的客户端 PC 有他们的实际 IP 地址和 VPN 连接地址,VPN 连接到我的 PostgreSQL 数据库服务器。问题是如何在我的 pgaudit 日志中捕获实际的 IP 地址?

在我postgresql.conf的,以下是我的configuration

%h%r捕获VPN IP地址,无论如何我可以捕获实际的IP地址,甚至所有的客户端IP地址?

0 投票
1 回答
67 浏览

postgresql - pgAudit 未在 GCP Cloud SQL 中记录任何内容

我希望能深入了解在 GCP Cloud SQL 中将 pgAudit 用于 PostgreSQL 12 托管实例时遇到的问题。

到目前为止,我已经完成了以下设置:

数据库标志:

在启用 cloudsql.enable_pgaudit 标志并重新启动实例后,我发出了 CREATE EXTENSION pgaudit 命令,并确认它是成功的。我还按照 Google 文档中的建议启用了数据访问日志(他们没有指定 IAM 中需要哪些权限,所以我在一切方面都犯了错误)。我还尝试设置 pgaudit.log=all 以查看是否可以捕获任何内容,同样的捕获是没有记录任何内容。

使用 pgaudit.log_client=on,我希望在查看 DBeaver 中的服务器输出时看到返回的审核日志信息,但那里什么也没有。

任何人都知道我可能会错过什么?我的目标最终是通过会话记录来捕获 DDL 操作。我通常通过创建一个删除表来尝试测试以获取这些操作的日志,即

我已经尝试了更多的方法来让它工作,包括在数据库级别另外设置标志。到目前为止,似乎没有任何记录。

更新:从来没有让 pgAudit 正常工作,但是,发现可以通过服务器上的 log_statement=ddl 标志在 pgAudit 之外记录 DDL 操作。设置这个,我现在得到了我需要的东西。

数据库标志

Cloud Logging API 数据访问日志

Cloud SQL 数据访问日志

0 投票
0 回答
81 浏览

postgresql - 如何在 AWS RDS 上启用 pgaudit 的 pgaudit.log_rows 参数

我的用例是使用日志获取 Postgres RDS 的 SQL 查询返回/影响的行数。我阅读了有关pgaudit 扩展的信息,它能够做到这一点。

但是,当我尝试从 AWS 控制台设置时,我没有得到必需的参数“pgaudit.log_rows”。估计是禁用了

有没有办法为我的 Postgres RDS 实例启用此参数?是否有任何替代方法来获取 SQL 查询返回/影响的行数?

注意:我知道提供此信息的 pg_stat_statements。由于它创建了一个新表来存储统计信息,因此我不能使用它来避免开销。

0 投票
0 回答
28 浏览

oracle - 本地 oracle 到云管理的 postgresql 迁移 - 回滚策略

我们计划将我们的本地 oracle 数据库实例迁移到 azure 云托管的 postgresql 实例。在高层次上,迁移步骤包括 -

  1. 使用 Ora2Pg 实用程序进行初始架构和数据迁移。
  2. 为后续本地到云 CDC 设置 Azure 数据迁移服务,直到切换完成。

CDC 是单向的,即所有在本地完成的更改都将与云实例同步,直到完成完全切换为止。但是,如果出现任何问题并且我们希望我们的应用程序连接回本地 oracle 数据库,那么回滚策略应该是什么?

我在想的几个选项包括 -

  1. 如链接https://aws.amazon.com/blogs/database/rolling-back-from-a-migration-with-aws-dms/的“Fall Forward”选项中所述,我们可以设置现有的副本本地 oracle 数据库,将从云 postgresql 实例同步。在回滚的情况下,应用程序可以连接到这个新的“复制”实例。

  2. 在 postgres 中设置“pgaudit”扩展,以便记录所有 DDL、DML 语句。使用这些日志,我们可以手动将这些更改应用到本地 oracle 数据库。

我们可以考虑其他方法吗?

问候,
雅各布