postgresqltuner icon indicating copy to clipboard operation
postgresqltuner copied to clipboard

Does it work on windows?

Open damorosodaragona opened this issue 5 years ago • 0 comments

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

damorosodaragona avatar Dec 01 '19 22:12 damorosodaragona