Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does it work on windows? #68

Open
damorosodaragona opened this issue Dec 1, 2019 · 0 comments
Open

Does it work on windows? #68

damorosodaragona opened this issue Dec 1, 2019 · 0 comments

Comments

@damorosodaragona
Copy link

damorosodaragona commented Dec 1, 2019

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant