|
Определение таблиц в которых хранятся "большие объекты"
|
|||
---|---|---|---|
#18+
Доброго дня. Помогите разобраться как найти таблицы в которых хранятся "большие объекты". Делаю dump базы с чисткой крупных таблиц которые в этом дампе не важны. Размер таблиц определяю выборкой из базы: Код: plsql 1. 2. 3. 4. 5. 6.
но таким способом возвращается размер таблиц без учета хранящихся в них "больших объектов", хотя в pg_largeobject хранится несколько гигов информации. Хочу определить таблицы в которых эти данных хранятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 07:42 |
|
Определение таблиц в которых хранятся "большие объекты"
|
|||
---|---|---|---|
#18+
D0KX Доброго дня. Помогите разобраться как найти таблицы в которых хранятся "большие объекты". Делаю dump базы с чисткой крупных таблиц которые в этом дампе не важны. Размер таблиц определяю выборкой из базы: Код: plsql 1. 2. 3. 4. 5. 6.
но таким способом возвращается размер таблиц без учета хранящихся в них "больших объектов", хотя в pg_largeobject хранится несколько гигов информации. Хочу определить таблицы в которых эти данных хранятся. LO могут вообще не быть привязаны ни к какой таблице... это независимые объекты вообще. Аналогичным образом один и тот же LO может к нескольким таблицам одновременно привязан. Так что ваша постановка вопроса не совсем корректная именно потому что LO не хранятся "в таблице", в таблице может быть ссылка на какие то LO. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 10:27 |
|
Определение таблиц в которых хранятся "большие объекты"
|
|||
---|---|---|---|
#18+
D0KX, на LOB ссылаются из полей с типом "OID" попробуйте найти таблицы с типом oid, чтото вроде: select table_name,column_name from information_schema.columns where data_type = 'oid' and table_name not like 'pg_%' and table_name not like '_pg%'; ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 11:06 |
|
Определение таблиц в которых хранятся "большие объекты"
|
|||
---|---|---|---|
#18+
D0KX, автор32.1. Введение Все большие объекты хранятся в одной системной таблице с именем pg_largeobject. Для каждого большого объекта также имеется запись в системной таблице pg_largeobject_metadata. Большие объекты можно создавать, изменять и удалять, используя API чтения/записи, подобный стандартному API для работы с файлами. https://postgrespro.ru/docs/postgresql/9.5/lo-intro автор34.1. Introduction All large objects are stored in a single system table named pg_largeobject. Each large object also has an entry in the system table pg_largeobject_metadata. Large objects can be created, modified, and deleted using a read/write API that is similar to standard operations on files. https://www.postgresql.org/docs/10/lo-intro.html ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 16:14 |
|
|
start [/forum/topic.php?fid=53&fpage=31&tid=1994834]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 279ms |
total: | 404ms |
0 / 0 |