postgresqltuner
postgresqltuner copied to clipboard
Does it work on windows?
i'm using the script on a windows machine. Everything is ok, but it cannot run OS command.
This is the output:
perl C:\Users\Dario\postgresqltuner.pl --host=[host] --database=[db] --user=[user] --password=[pswd]
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at C:\Users\Dario\postgresqltuner.pl line 73.
postgresqltuner.pl version 1.0.1
[31m[BAD] [0mI CANNOT invoke executables, my report will be incomplete
Connecting to localhost:5432 database postgres as user 'postgres'...
Impossibile trovare il percorso specificato.
[OK] The user acount used by me for reporting has superuser rights on this PostgreSQL instance
===== OS information =====
[UNKNOWN] Unable to run OS commands on localhost. You will obtain no OS-related information
===== General instance informations =====
----- PostgreSQL version -----
[OK] You are using the latest PostreSQL major version (12.1)
----- Uptime -----
[INFO] Service uptime: 13m 50s
[WARN] Uptime less than 1 day. This report may be inaccurate
----- Databases -----
[INFO] Database count (except templates): 1
[INFO] Database list (except templates): postgres
----- Extensions -----
[INFO] Number of activated extensions: 2
[INFO] Activated extensions: plpgsql adminpack
[WARN] Extension pg_stat_statements is disabled in database postgres
----- Users -----
[OK] No user account will expire in less than 7 days
[OK] No user with password=username
[OK] Password encryption enabled
----- Connection information -----
[INFO] max_connections: 100
[INFO] Current used connections: 7 (7.00%)
[INFO] 3 connections are reserved for super user (3.00%)
[INFO] Average connection age: 11m 38s
----- Memory usage -----
[INFO] Configured work_mem: 4.00 MB
[INFO] Using an average ratio of work_mem buffers by connection of 150% (use --wmp to change it)
[INFO] Total work_mem (per connection): 6.00 MB
[INFO] shared_buffers: 128.00 MB
[INFO] Track activity reserved size: 0.00 B
[WARN] maintenance_work_mem is less or equal to its default value. Increase it to reduce maintenance tasks duration
[INFO] Max memory usage:
shared_buffers (128.00 MB)
+ max_connections * work_mem * average_work_mem_buffers_per_connection (100 * 4.00 MB * 150 / 100 = 600.00 MB)
+ autovacuum_max_workers * maintenance_work_mem (3 * 64.00 MB = 192.00 MB)
+ track activity size (0.00 B)
= 920.00 MB
[INFO] effective_cache_size: 4.00 GB
[INFO] Cumulated size of all databases: 22.91 MB
[WARN] shared_buffer is too big for the total databases size, uselessly using memory
[UNKNOWN] OS total mem unknown: unable to analyse PostgreSQL memory usage
----- Huge Pages -----
[UNKNOWN] No Huge Pages on this OS
----- Logs -----
[OK] log_hostname is off: no reverse DNS lookup latency
[WARN] Log of long queries deactivated. It will be more difficult to optimize query performance
[OK] log_statement=none
----- Two-phase commit -----
[OK] Currently there is no two-phase commit transaction
----- Autovacuum -----
[OK] autovacuum is activated
[INFO] autovacuum_max_workers: 3
----- Checkpoint -----
[WARN] checkpoint_completion_target (0.5) is low
[INFO] Given those settings PostgreSQL may (depending on its workload) ask the kernel to write (to the storage) up to 1024.00 MB in a timeframe lasting 150 seconds <=> 6.83 MB bytes/second during this timeframe. You may want to check that your storage is able to cope with this, along with all other I/O (non-writing queries, other software...) operations potentially active during this timeframe. If this seems inadequate check max_wal_size, checkpoint_timeout and checkpoint_completion_target
----- Storage -----
[OK] fsync is on
[OK] synchronize_seqscans is on
----- WAL -----
----- Planner -----
[OK] I/O cost settings are set at their default values
[UNKNOWN] I have no information about the rotational/SSD storage: I'm unable to check random_page_cost and seq_page_cost settings
[BAD] Some plan features are disabled: enable_partitionwise_aggregate,enable_partitionwise_join
===== Database information for database postgres =====
----- Database size -----
[INFO] Database postgres total size: 8.17 MB
[INFO] Database postgres tables size: 5.16 MB (63.19%)
[INFO] Database postgres indexes size: 3.01 MB (36.81%)
----- Tablespace location -----
[OK] No tablespace in PGDATA
----- Shared buffer hit rate -----
[INFO] shared_buffer_heap_hit_rate: 98.69%
[INFO] shared_buffer_toast_hit_rate: 57.14%
[INFO] shared_buffer_tidx_hit_rate: 83.72%
[INFO] shared_buffer_idx_hit_rate: 99.43%
[OK] This is very good (if this PostgreSQL instance was recently used as it usually is, and was not stopped since)
----- Indexes -----
[OK] No invalid index
[OK] No unused indexes
----- Procedures -----
[OK] No procedures with default costs
===== Configuration advice =====
----- checkpoint -----
[MEDIUM] checkpoint_completion_target is low. Some checkpoints may abruptly overload the storage with write commands for a long time, slowing running queries down. To avoid such temporary overload you may balance checkpoint writes using a higher value
----- extension -----
[LOW] Enable pg_stat_statements in database postgres to collect statistics on all queries (not only those longer than log_min_duration_statement)
----- reporting -----
[HIGH] Please configure your .ssh/config to allow postgresqltuner.pl to connect via ssh to localhost without password authentication. This will allow it to collect more system informations