在Oracle中,Postgresql与dbms_stats.gather_table_stats的等效性是什么?

在Oracle中,Postgresql与dbms_stats.gather_table_stats的等效性是什么?,oracle,postgresql,performance,optimization,Oracle,Postgresql,Performance,Optimization,我对Postgres有些疑问,我在Oracle中使用了dbms_stats.gather_table_stats进行性能优化。我想将我们的数据库从Oracle切换到Postgres,因此,我也想在Postgres上实现同样的功能。我在网上搜索了一下Postgres中是否存在与Oracle中dbms_stats.gather_table_stats相同的功能。我唯一能找到的就是解释,真空之类的东西。我认为这些都已经存在于甲骨文中了。但是我找不到适合dbms_stats.gather_table_s

我对Postgres有些疑问,我在Oracle中使用了dbms_stats.gather_table_stats进行性能优化。我想将我们的数据库从Oracle切换到Postgres,因此,我也想在Postgres上实现同样的功能。我在网上搜索了一下Postgres中是否存在与Oracle中dbms_stats.gather_table_stats相同的功能。我唯一能找到的就是解释,真空之类的东西。我认为这些都已经存在于甲骨文中了。但是我找不到适合dbms_stats.gather_table_stats的。我在这上面花了很多时间,如果你们有什么建议,我可以得到一些吗?

数据库管理系统统计数据包的
收集表统计数据
过程收集Oracle中指定表的统计数据

在Postgres中,我们使用ANALYZE实现同样的目的

收集数据库中表内容的统计信息,并将结果存储在pg_统计系统目录中。随后,查询计划器使用这些统计信息来帮助确定查询的最有效执行计划


DBMS\u STATS
包的
GATHER\u TABLE\u STATS
过程收集Oracle中指定表的统计信息

在Postgres中,我们使用ANALYZE实现同样的目的

收集数据库中表内容的统计信息,并将结果存储在pg_统计系统目录中。随后,查询计划器使用这些统计信息来帮助确定查询的最有效执行计划


非常感谢,我可以用ANALYZE做一些事情,然后我想检查结果,所以我尝试查看db_统计表,但无法访问。根据db管理员的说法,我可以看到pg_统计数据,它只显示用户特定表的详细信息,而不是pg_统计数据。我的问题是,在没有参数的情况下执行'ANALYZE'时,它会显示一些警告,如下所示。警告:跳过“pg\u authid”-只有超级用户可以分析它警告:跳过“pg\u database”-只有超级用户可以分析它警告:跳过“pg\u db\u role\u setting”-只有超级用户可以分析它。。。。。。。看起来我无法使用我的用户帐户分析某些系统级表。是这样吗?实际上,我的第二个问题是,如何准确地检查“ANALYZE”的执行是否成功。当执行“分析”时,我得到如下结果。警告:跳过“pg_authid”-只有超级用户可以分析警告:跳过“pg_数据库”-只有超级用户可以分析警告:跳过“pg_db_角色设置”-只有超级用户可以分析警告:跳过“pg_表空间”-只有超级用户可以分析警告:跳过“pg_pltemplate”--只有超级用户可以分析它警告:跳过“pg_auth_成员”--只有超级用户可以分析它警告:跳过“pg_shDependent”--只有超级用户可以分析它警告:跳过“pg_shdescription”--只有超级用户可以分析它警告:跳过“pg_replication_origin”“---只有超级用户可以分析它警告:跳过“pg_shseclabel”-只有超级用户可以分析它查询OK,受影响的0行(执行时间:702毫秒;总时间:702毫秒)有没有办法检查pg_统计数据更新的时间?分析emp;——分析非常感谢,我可以用ANALYZE做一些事情,然后我想检查结果,所以我尝试查看db_统计表,但无法访问。根据db管理员的说法,我可以看到pg_统计数据,它只显示用户特定表的详细信息,而不是pg_统计数据。我的问题是,在没有参数的情况下执行'ANALYZE'时,它会显示一些警告,如下所示。警告:跳过“pg\u authid”-只有超级用户可以分析它警告:跳过“pg\u database”-只有超级用户可以分析它警告:跳过“pg\u db\u role\u setting”-只有超级用户可以分析它。。。。。。。看起来我无法使用我的用户帐户分析某些系统级表。是这样吗?实际上,我的第二个问题是,如何准确地检查“ANALYZE”的执行是否成功。当执行“分析”时,我得到如下结果。警告:跳过“pg_authid”-只有超级用户可以分析警告:跳过“pg_数据库”-只有超级用户可以分析警告:跳过“pg_db_角色设置”-只有超级用户可以分析警告:跳过“pg_表空间”-只有超级用户可以分析警告:跳过“pg_pltemplate”--只有超级用户可以分析它警告:跳过“pg_auth_成员”--只有超级用户可以分析它警告:跳过“pg_shDependent”--只有超级用户可以分析它警告:跳过“pg_shdescription”--只有超级用户可以分析它警告:跳过“pg_replication_origin”“---只有超级用户可以分析它警告:跳过“pg_shseclabel”-只有超级用户可以分析它查询OK,受影响的0行(执行时间:702毫秒;总时间:702毫秒)有没有办法检查pg_统计数据更新的时间?分析emp;——分析