PostgreSQL: Ngày tạo của một bảng


12

Gần đây tôi đã hoàn thành một dự án, trong đó nhiều bảng DB đã được tạo.

Hầu hết các bảng này chứa rác tạm thời và tôi đang tìm kiếm một cách đơn giản để liệt kê tất cả các bảng này.

Có cách nào để liệt kê tất cả các bảng DB được sắp xếp theo ngày tạo của chúng không?

Câu trả lời:



5

Vâng, điều đó là có thể - với những hạn chế.

Xem

/programming/18849756/automatically-drop-tables-and-indexes-older-than-90-days/18852752#18852752

để biết thêm thông tin

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;

3

Không, đó là điều không thể theo như tôi biết.

Giá trị đó không được lưu trữ trong bất kỳ bảng hệ thống nào (mặc dù sẽ rất tốt).


1

Truy vấn này

select pslo.stasubtype, pc.relname, pslo.statime
from pg_stat_last_operation pslo
join pg_class pc on(pc.relfilenode = pslo.objid)
and pslo.staactionname = 'CREATE'
order by pslo.statime desc 

sẽ giúp chắc chắn

NB: Nó chỉ hoạt động trên greenplum.


0

Không thể có thời gian tạo bảng, nhưng bạn thực sự có thể lấy danh sách các bảng được tạo gần đây nếu bạn hút bụi cơ sở dữ liệu thường xuyên. Bạn có thể sử dụng truy vấn này: select * từ pg_stat_user_tables trong đó last_vacuum> now () - khoảng '3 ngày'; bạn có thể thay đổi khoảng thời gian theo nhu cầu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.