=====oid базы===== Для каждой базы данных создается каталог с номером oid базы данных в $ PGDATA / base вместе с набором файлов OID, OID_fsm, OID_vm, PG_VERSION для каждого объекта (Tables / Indexes / View / и т. Д.). \\ Все файлы OID, OID_fsm, OID_vm будут обновляться в соответствии с изменениями, внесенными на уровне базы данных. Однако файл PG_VERSION никогда не будет обновляться при любых изменениях, внесенных в базу данных. parser_wb=# SELECT * from pg_database where datname = 'parser_wb'; oid | datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | datminmxid | dattablespace | datacl -------+-----------+--------+----------+------------+------------+---------------+--------------+--------------+---------------+--------------+------------+---------------+-------- 16384 | parser_wb | 10 | 6 | en_US.utf8 | en_US.utf8 | f | t | -1 | 13394 | 479 | 1 | 1663 | (1 row) ====Как узнать время создания базы данных в PostgreSQL 9.0?==== так, мы собираемся использовать временную метку файла PG_VERSION в качестве времени создания базы данных. Я считаю, что будет возможность изменить временную метку PG_VERSION, но я не уверен, в каком случае эти изменения CREATE OR REPLACE FUNCTION public.get_pg_version_loc(dbname varchar) RETURNS text AS $body$ DECLARE dbname ALIAS FOR $1; data_dir text; db_oid text; os_execute text; BEGIN SELECT INTO db_oid oid from pg_database where datname = dbname; show data_directory into data_dir; os_execute := 'stat -c "%y" '||data_dir||'/base/'||db_oid||'/PG_VERSION'; return os_execute; END; $body$ LANGUAGE 'plpgsql';