Моя база данных postgres (версия 8.2.3) показывает размер 24 ГБ.
To получить эту цифру Я выполняю этот запрос:
SELECT
oid, datname, pg_database_size(datname) as actualsize,
pg_size_pretty(pg_database_size(datname)) as size
FROM pg_database
ORDER BY datname
Однако размеры отдельных таблиц в той же базе данных не добавляют 24 ГБ, когда я выполняю этот запрос:
SELECT
schemaname, tablename, pg_size_pretty(size) AS size_pretty,
pg_size_pretty(total_size) AS total_size_pretty
FROM
(SELECT *, pg_relation_size(schemaname||'.'||tablename) AS size,
pg_total_relation_size(schemaname||'.'||tablename) AS total_size
FROM pg_tables where schemaname = 'public') AS TABLES
ORDER BY total_size DESC;
I '
constexpr int я = 10;
constexpr float f = 2.4f;
constexpr двойной d = -10,4;
constexpr std :: tuple В C ++ 0x можно создать constexpr std :: tuple, например, как Также можно запросить std :: tuple во время выполнения, например via Но запросить его во время компиляции невозможно, например, выдаст ошибку компиляции (по крайней мере, с последней версией g ++
снимок 2011-02-19). Есть ли другой способ запросить constexpr std :: tuple во время компиляции? А если нет, то есть ли концептуальная причина, по которой его не следует запрашивать? (Я знаю, что избегаю использования std :: tuple, например, используя boost :: mpl
или boost :: fusion, но почему-то неправильно не использовать класс кортежа
в новом стандарте ...). Кстати, кто-нибудь знает, почему компилируется нормально, а нет? Заранее большое спасибо!
- lars #include <tuple>
constexpr int i = 10;
constexpr float f = 2.4f;
constexpr double d = -10.4;
constexpr std::tuple<int, float, double> tup(i, f, d);
int i2 = std::get<0>(tup);
constexpr int i2 = std::get<0>(tup);
constexpr std::tuple<int, float, double> tup(i, f, d);
constexpr std::tuple<int, float, double> tup(10, 2.4f, -10.4);