PostgreSQL:表的创建日期

Ada*_*tan 19 schema postgresql

我最近完成了一个项目,在此期间创建了许多数据库表。

这些表中的大多数都包含临时垃圾,我正在寻找一种简单的方法来列出所有这些表。

有没有办法列出根据创建日期排序的所有数据库表?

Qua*_*ary 7

是的,这是可能的 - 有限制。

/sf/ask/1319482951/#18852752

了解更多信息

WITH CTE AS
(
    SELECT 
        table_name 

        ,
        (
            SELECT 
                MAX(pg_ls_dir::int)::text 
            FROM pg_ls_dir('./base') 
            WHERE pg_ls_dir <> 'pgsql_tmp' 
            AND  pg_ls_dir::int  <= (SELECT relfilenode FROM pg_class WHERE relname ILIKE table_name)
        ) as folder 


        ,(SELECT relfilenode FROM pg_class WHERE relname ILIKE table_name) filenode

    FROM information_schema.tables
    WHERE table_type = 'BASE TABLE'
    AND table_schema = 'public'
)

SELECT 
    table_name 
    ,(
        SELECT creation 
        FROM pg_stat_file(
            './base/' || folder || '/' || filenode 
        )
    ) as creation_time
FROM CTE;
Run Code Online (Sandbox Code Playgroud)


小智 5

不,据我所知这是不可能的。

该值不存储在任何系统表中(不过会很好)。