Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Дата создания таблицы / 2 сообщений из 2, страница 1 из 1
06.07.2008, 19:59
    #35413700
Анонимно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата создания таблицы
Я хочу знать, когда была создана та или иная таблица.

Возможно ли это средствами postgreSQL? Если да -- каким запросом эту дату получать?
...
Рейтинг: 0 / 0
07.07.2008, 04:12
    #35413958
ЯЕХХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата создания таблицы
К сожалению в системных таблицах дата не фиксируется. Можно взять дату создания файла, но имейте в виду: файл при TRUNCATE TABLE пересоздается. Вот функция на PL/PerlU которой можно в запросе воспользоваться
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create or replace function get_table_ctime(oid)
returns timestamp language plperlu as $BODY$
use strict;
my $r = spi_exec_query(<<SQL)->{rows}->[ 0 ];
  SELECT
    (SELECT current_setting('data_directory')) as dir,
    (SELECT oid FROM pg_database WHERE datname=current_database()) as db,
    reltablespace as ts,
    relfilenode as file
  FROM pg_class
  WHERE oid=$_[ 0 ]
SQL
my $tsdir = ($r->{ts} ==  0 ) ? 'base' : "pg_tblspc/$r->{ts}";
my $file = "$r->{dir}/$tsdir/$r->{db}/$r->{file}";
my $ctime = (stat $file)[ 10 ] or return undef;
return spi_exec_query(<<SQL)->{rows}->[ 0 ]->{ctime};
  SELECT to_timestamp($ctime) as ctime
SQL
$BODY$;

select get_table_ctime('mytable'::regclass);
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Дата создания таблицы / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]