{%- extends "_layout.html" %} {%- block content %}

{{ _('Event database') }}



{%- if query_status_events %}
{%- for query_data in query_status_events %} {% if 'query_name' in query_data and query_data.query_name %} {% else %} {% endif %} {% if 'query_start' in query_data and query_data.query_start %} {% else %} {% endif %} {% if 'query' in query_data and query_data.query %} {% else %} {% endif %} {% if 'query_name' in query_data and query_data.query_name %} {% else %} {% endif %} {%- endfor %}
{{ _('PID') }} {{ _('Name') }} {{ _('Owner') }} {{ _('State') }} {{ _('Start time') }} {{ _('Duration') }} {{ _('Query') }} {{ get_icon('actions') }}
{{ query_data.pid }} {{ query_data.query_name }} {{ macros_site.render_endpoint_link( 'users.show', params = {'item_id': query_data.user_id, 'item': query_data.user}, label = query_data.user.fullname, with_icon = True ) }} --- --- {{ query_data.state }} {{ babel_format_datetime(query_data.query_start) }} {{ babel_format_timedelta(get_datetime_utc(aware = True) - query_data.query_start) }} --- ---
{{ query_data.query }}
--- {{ macros_page.render_menu_context_actions( query_data, action_menu = context_action_menu_query ) }} ---
{%- else %} {%- call macros_site.render_alert('info', False) %} {{ _('There are currently no running user queries.') }} {%- endcall %} {%- endif %}

{#- Reference for this hack: https://stackoverflow.com/a/11842865 -#}

{{ _('List of available tables:') }}

{%- for table_name, table_data in database_status_events['tables'] | dictsort %} {{ table_name }} {%- endfor %}

{%- for table_name, table_data in database_status_events['tables'] | dictsort %} {#- Reference for this hack: https://stackoverflow.com/a/11842865 -#}

{{ _('Table %(table_name)s', table_name = table_name) }} {{ get_icon('backtotop') }}

{{ _('Estimated number of records:') }} {%- if table_data['row_estimate'] %} {{ babel_format_decimal(table_data['row_estimate']) }} {%- else %} {{ table_data['row_estimate'] }} {%- endif %}
{{ _('Table size:') }} {{ table_data['table_bytes_str'] }} ({{ babel_format_percent(table_data['table_bytes'] / table_data['total_bytes']) }})
{{ _('Index size:') }} {{ table_data['index_bytes_str'] }} ({{ babel_format_percent(table_data['index_bytes'] / table_data['total_bytes']) }})
{{ _('Tablespace size:') }} {{ table_data['toast_bytes_str'] }} ({{ babel_format_percent(table_data['toast_bytes'] / table_data['total_bytes']) }})
{{ _('Total size:') }} {{ table_data['total_bytes_str'] }} ({{ babel_format_percent(table_data['total_bytes'] / table_data['total_bytes']) }})
{{ _('Oldest record:') }} {%- if 'dt_oldest' in table_data and table_data['dt_oldest'] %} {{ babel_format_datetime(table_data['dt_oldest']) }} ({{ _('%(delta)s ago', delta = babel_format_timedelta(current_datetime_utc - table_data['dt_oldest'])) }}) {%- else %} {{ _('unknown') }} {%- endif %}
{{ _('Newest record:') }} {%- if 'dt_newest' in table_data and table_data['dt_newest'] %} {{ babel_format_datetime(table_data['dt_newest']) }} ({{ _('%(delta)s ago', delta = babel_format_timedelta(current_datetime_utc - table_data['dt_newest'])) }}) {%- else %} {{ _('unknown') }} {%- endif %}
{{ _('Record timespan:') }} {%- if 'dt_oldest' in table_data and table_data['dt_oldest'] and 'dt_newest' in table_data and table_data['dt_newest']%} {{ babel_format_timedelta(table_data['dt_newest'] - table_data['dt_oldest']) }} {%- else %} {{ _('unknown') }} {%- endif %}
{{ table_data['table_bytes_str'] }}
{{ table_data['index_bytes_str'] }}
{% if not loop.last %}
{% endif %} {%- endfor %}
{{ macros_chart.render_dashboard_panels( chart_sections, 'dbstatus-events', active_first = False ) }}

{{ _('Configuration') }}


{#- Reference: https://www.postgresql.org/docs/current/view-pg-settings.html -#} {%- for setting in ['autovacuum_vacuum_cost_limit', 'autovacuum_vacuum_delay', 'bytea_output', 'checkpoint_timeout', 'default_statistics_target', 'effective_cache_size', 'effective_io_concurrency', 'maintenance_work_mem', 'min_parallel_index_scan_size', 'max_connections', 'max_parallel_workers', 'max_parallel_workers_per_gather', 'max_wal_size', 'parallel_tuple_cost', 'parallel_setup_cost', 'random_page_cost', 'seq_page_cost', 'shared_buffers', 'wal_buffers', 'work_mem'] | sort %} {%- if setting in database_status_events['pg_settings'] %} {%- endif %} {%- endfor %}
{{ _('Name') }} {{ _('Type') }} {{ _('Value [unit]') }} {{ _('Boot / Reset') }} {{ _('Description') }}
{{ _('version:') }} string {{ sw_versions['postgresql'] }}
{{ setting }}: {{ database_status_events['pg_settings'][setting].vartype }} {%- if database_status_events['pg_settings'][setting].vartype in ['integer', 'real'] %} {{ get_icon('help')}} {%- elif database_status_events['pg_settings'][setting].vartype in ['enum'] %} {{ get_icon('help')}} {%- endif %} {% if database_status_events['pg_settings'][setting].setting != database_status_events['pg_settings'][setting].boot_val %} {%- endif %} {%- if database_status_events['pg_settings'][setting].vartype in ['integer', 'real'] %} {{ babel_format_decimal(database_status_events['pg_settings'][setting].setting) }} {%- else %} {{ database_status_events['pg_settings'][setting].setting }} {%- endif %} {% if database_status_events['pg_settings'][setting].setting != database_status_events['pg_settings'][setting].boot_val %} {%- endif %} [{{ database_status_events['pg_settings'][setting].unit | default('none') }}] {{ get_icon('help')}} {%- if database_status_events['pg_settings'][setting].vartype in ['integer', 'real'] %} {{ babel_format_decimal(database_status_events['pg_settings'][setting].boot_val) }} / {{ babel_format_decimal(database_status_events['pg_settings'][setting].reset_val) }} {%- else %} {{ database_status_events['pg_settings'][setting].boot_val }} / {{ database_status_events['pg_settings'][setting].reset_val }} {%- endif %} {{ database_status_events['pg_settings'][setting].category }} {{ get_icon('help')}}
{%- if permission_can('developer') %}
{{ macros_site.render_raw_var('query_status_events', query_status_events) }} {{ macros_site.render_raw_var('database_status_events', database_status_events) }} {{ macros_site.render_raw_var('database_statistics_events', database_statistics_events) }} {{ macros_site.render_raw_var('sw_versions', sw_versions) }} {%- endif %} {%- endblock content %}