• How to get the free disk space in PostgreSQL (PostgreSQL获取磁盘空间)


    Get the current free disk space in PostgreSQL

    PostgreSQL获取磁盘空间

    from eshizhan

    Here has a simple way to get free disk space without any extended language, just define a function using pgsql.

    CREATE OR REPLACE FUNCTION sys_df() RETURNS SETOF text[]
    LANGUAGE plpgsql $$
    BEGIN
        CREATE TEMP TABLE IF NOT EXISTS tmp_sys_df (content text) ON COMMIT DROP;
        COPY tmp_sys_df FROM PROGRAM 'df | tail -n +2';
        RETURN QUERY SELECT regexp_split_to_array(content, 's+') FROM tmp_sys_df;
    END;
    $$;
    

    Usage:

    select * from sys_df();
                          sys_df                               
    -------------------------------------------------------------------
     {overlay,15148428,6660248,7695656,46%,/}
     {overlay,15148428,6660248,7695656,46%,/}
     {tmpfs,65536,0,65536,0%,/dev}
     {tmpfs,768284,0,768284,0%,/sys/fs/cgroup}
     {/dev/sda2,15148428,6660248,7695656,46%,/etc/resolv.conf}
     {/dev/sda2,15148428,6660248,7695656,46%,/etc/hostname}
     {/dev/sda2,15148428,6660248,7695656,46%,/etc/hosts}
     {shm,65536,8,65528,0%,/dev/shm}
     {/dev/sda2,15148428,6660248,7695656,46%,/var/lib/postgresql/data}
     {tmpfs,65536,0,65536,0%,/proc/kcore}
     {tmpfs,65536,0,65536,0%,/proc/timer_list}
     {tmpfs,65536,0,65536,0%,/proc/sched_debug}
     {tmpfs,768284,0,768284,0%,/sys/firmware}
    (13 rows)
    

    Using df $PGDATA | tail -n +2 instead of df | tail -n +2 while you saving all data in same path on disk. In this case, the function only return one row disk usage for $PGDATA path.

    NOTE FOR SECURITY

    PROGRAM can run any command by shell, it like two-edged sword. it is best to use a fixed command string, or at least avoid passing any user input in it. See detail on document.

    PROGRAM可以运行任意的命令,所以最好是用固定字符串命令,尽量避免通过参数传入。

  • 相关阅读:
    jmeter接口测试--循环获取网页中的html链接
    jmeter接口测试--文件下载
    jmeter接口测试--文件上传
    微信群发消息小工具 v1.0-可定时发送
    xmrig 源码转为vs2015项目--总结
    nginx---max_connections、meme.type、default_type
    字典 dict
    元祖 tuple
    列表list
    字符串常用方法
  • 原文地址:https://www.cnblogs.com/eshizhan/p/11444001.html
Copyright © 2020-2023  润新知