Версия для печати темы (https://pro1c.org.ua/index.php?s=4b8cd6b9df12d34fed49a13965108e55&showtopic=31485)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Базы данных _ Postgre SQL, размеры таблиц БД

Автор: onsamuy 22.08.16, 11:30

Доброго всем дня. Как можно получить информацию о размере таблиц БД? База занимает много места, тормозит. Под ms sql пользовался скриптом приведенным ниже.

USE [DataBase]
GO
CREATE TABLE #temp (
table_name sysname ,
row_count INT,
reserved_size VARCHAR(50),
data_size VARCHAR(50),
index_size VARCHAR(50),
unused_size VARCHAR(50))
SET NOCOUNT ON
INSERT #temp
EXEC sp_msforeachtable 'sp_spaceused ''?'''
SELECT a.table_name,
a.row_count,
COUNT(*) AS col_count,
a.data_size
FROM #temp a
INNER JOIN information_schema.columns b
ON a.table_name collate database_default
= b.table_name collate database_default
GROUP BY a.table_name, a.row_count, a.data_size
ORDER BY CAST(REPLACE(a.data_size, ' KB', '') AS integer) DESC
DROP TABLE #temp


А есть что то подобное для POSTGRE? Пока нарыл только вот это: SELECT pg_size_pretty(pg_database_size('database_name')); - получение общего размера БД

Автор: Acid 22.08.16, 13:32

http://pro1c.org.ua/redirect.php?https://romantelychko.com/blog/1211/
еще
http://pro1c.org.ua/redirect.php?https://www.opennet.ru/tips/917_postgresql_size_database.shtml

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua