Loading

×Sorry to interrupt
Uncaught ReferenceError: addCTracking is not defined
throws at https://kb.vmware.com/resource/KM_TealiumTrackingJS?v=0.5:100:1

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

My Subscriptions

Loading

Knowledge Base

vRO PSQL database grows very large (56114)

Last Updated: 2/27/2024Categories: TroubleshootingTotal Views: 6453Language:
English

1 like this article

Subscribe to get an email
newsletter with new updates

1 people found this helpful Please provide article feedback:

Symptoms

The vRealize Orchestrator database is very large and continues to grow unexpectedly.

vmo_workflowtokencontent is inflated to GigaBytes in size.

For example:

Run this query to show the total size of all tables in the embedded postgres database:

SELECT nspname || '.' || relname AS "relationName",
pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
and relname like 'vmo%'
ORDER BY pg_total_relation_size(C.oid) DESC;

The following entries are visible within the postgres log:

canceling autovacuum task error - This indicates that the procedure is reducing the dead rows and reducing the TOASTED data.

checkpoints are occurring too frequently error - Indicates that write-ahead logs (WAL) are too small to accommodate the rate of change of data in the database in 5 minute checkpoint window. The WAL stores a log of committed transactions that update data pages in shared_buffers which are ultimately flushed to disk during checkpoints. When the volume of transactions exceeds max_wal_size before a timed checkpoint runs, back end server processes request a checkpoint to flush changes to disk to free up WAL segments for new transactions.

Inspect the Postgres configuration shared_buffer - must inspect the value of that configuration and increase eventually. The data read and written in the database must first pass through this buffer and in some cases it is 128 MB. This value might be increased in order to handle large I/O volume in the system.

Cause

This issue occurs when the autovacuum process is unable to run, and the table size continues to grow abnormally.

Resolution

To resolve this issue, assign Postgres service more resources:

Secure Shell into the virtual appliance

Edit /storage/db/pgdata/postgresql.conf file:

Find the following lines, uncomment them if necessary, and edit the values to match the below

shared_buffers = 2GB
maintenance_work_mem = 512MB
min_wal_size = 512MB
max_wal_size = 2GB
checkpoint_completion_target = .8

Note: An empiric test must be performed to find the suitable values. These are good starting values, but may need to be adjusted if issues are still seen with autovacuum processes.

Workaround

If providing additional resources does not fully resolve the issue, continue with the workaround below.

Manually VACUUM FULL the table

VACUUM (FULL, VERBOSE, ANALYZE) vmo_workflowtokencontent;
INFO: vacuuming "public.vmo_workflowtokencontent"
INFO: "vmo_workflowtokencontent": found 0 removable, 17 nonremovable row versions in 2 pages
DETAIL: 0 dead row versions cannot be removed yet.
CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s.
INFO: analyzing "public.vmo_workflowtokencontent"
INFO: "vmo_workflowtokencontent": scanned 2 of 2 pages, containing 17 live rows and 0 dead rows; 17 rows in sample, 17 estimated total rows
VACUUM

Update the auto-vacuum configuration to allow more frequent vacuum attempts:

alter table vmo_workflowtokencontent set (autovacuum_vacuum_scale_factor = 0.05);
alter table vmo_workflowtokencontent set (autovacuum_vacuum_threshold = 25);
alter table vmo_workflowtokencontent set (autovacuum_vacuum_cost_delay = 10);
alter table vmo_workflowtokencontent set (autovacuum_analyze_threshold = 25);
alter table vmo_workflowtokencontent set (toast.autovacuum_vacuum_scale_factor = 0.05);
alter table vmo_workflowtokencontent set (toast.autovacuum_vacuum_threshold = 25);
alter table vmo_workflowtokencontent set (toast.autovacuum_vacuum_cost_delay = 10);

Validate the new auto-vacuum scale factor settings

SELECT relname, pg_options_to_table(reloptions) AS reloption
FROM pg_class
WHERE reloptions IS NOT NULL
AND relnamespace = 'public'::regnamespace
ORDER BY relname, reloption;

Verify that manual vacuum full command reduced the vmo_workflowtokencontent table size.

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
English

Attachments

Additional Resources

KB
•
End Of General Availability of the Free vSphere Hypervisor (ESXi 7.x and 8.x) (2107518)

KB
•
vCenter Server Single Sign-On 5.5 ノードをリストアすると、vSphere.local ドメイン内の同期が動作しなくなる (2086001)

KB
•
ESXi 6.0 / 6.5 主机崩溃并出现紫屏：bnx2x_dynamic_alloc_rx_queue_single (2148642)

Results 1-3 of 3

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware Aria Automation Orchestrator

Related Versions:

VMware vRealize Orchestrator 7.x

Take Our Survey

Support Assistant