
Andrey
15.12.2017
10:50:33
select pg_relation_size('table_name');
Это без индексов.

Vladislav
15.12.2017
10:51:51

Darafei
15.12.2017
10:51:51
select pg_total_relation_size('table_name');

Google

Andrey
15.12.2017
10:52:17
Это же Oracle...
Я подумал, у вас опечатка в названии языка.
Ваш компьютер не умеет делать скриншоты?

Vladislav
15.12.2017
10:53:05
Умеет, но это нельзя делать.

Andrey
15.12.2017
10:53:09
И ещё у вас, по-моему, клавиша Shift залипла.

Darafei
15.12.2017
10:53:32
@pensnarik ты неправильно сманиваешь человека на постгрес

Vladislav
15.12.2017
10:54:40
Так для Oracle нельзя задавать вопросы
?

Darafei
15.12.2017
10:55:27
можно, но никто про него не знает забесплатно

Sergey
15.12.2017
10:57:20

Kam
15.12.2017
12:30:07
ребят подскажите плиз
почему посттгрес отдает числа строками
то есть в базе поле стоит как numeric

Google

Kam
15.12.2017
12:30:42
а прилетает оно строкой

Darafei
15.12.2017
12:30:51
а какой драйвер?
а что значит "строкой" - в какой тип твоего языка оно должно было бы складываться?

Kam
15.12.2017
12:33:01
адаптер sequelize
я жестко через пгадмин внес данные числом
а щас в браузере смотрю они у меня строкой прилетели

Darafei
15.12.2017
12:33:52
да, в какой тип javascript можно запихать число бесконечной точности, кроме строки?

Kam
15.12.2017
12:35:14
может быть из-за того что я точность не указал?

Сергей
15.12.2017
12:35:53
нет, decimal/numeric всегда сериализуется как строка или как ти Decimal если он поддерживается твоим ЯП
так как они могут не уместиться в int64, float64

Kam
15.12.2017
12:36:57
ну то есть силами постгреса это не решить?

Darafei
15.12.2017
12:37:36
можно подумать хорошенько и, возможно, взять другой тип вместо numeric
float/real/integer/bigint/smallint

Kam
15.12.2017
12:38:47
float почему то нельзя выбрать guflvbyt
pgadmin

Darafei
15.12.2017
12:39:27
float == double precision

Мытко
15.12.2017
12:51:02
в общем, я пару дней назад задавал вопросы насчет логического декодирования. кто-то из вас писал свои велосипеды(плагины) для этого?

Алексей
15.12.2017
14:20:23
Господа, добрый день.
Есть вопрос. Репликация PG которая нативная - она умеет быть потабличной и может ли быть один слейв, на котором в одну и ту же БД с нескольких мастеров реплицируются РАЗНЫЕ (с каждого мастера - свои) таблицы.

Аггей
15.12.2017
14:25:43
Которая физическая - не может так - так как передаются "физические" блоки
Сейчас появилась pg_logical там возможно и можно сделать ваши варианты

Vadim
15.12.2017
14:27:43

Google

Алексей
15.12.2017
14:28:14
А та, которая логическая - она row-based или изменения схемы тоже реплицирует?

Vadim
15.12.2017
14:28:45
Только данные. Схему не реплицирует

Алексей
15.12.2017
14:29:07
Хреново. Понятно, спасибо.

Vadim
15.12.2017
14:30:27
Схему можно реплицировать через эвент триггеры + dblink. Но это конечно костыль

Алексей
15.12.2017
14:30:36
Кстати, а нет хороших сравнений логической новой с репликацией из skytools (londiste)?

Mikhail
15.12.2017
16:44:04

Алексей
15.12.2017
16:45:39

Alex
15.12.2017
17:18:47
postgres=# select length(data) from big_data; length ----------- 943718400 (1 row) postgres=# select * from big_data ; ERROR: invalid memory alloc request size 18446744072142613693
А вы говорите, следят...

Darafei
15.12.2017
17:22:15
а который это тип?

Alex
15.12.2017
17:29:32
ребят, у меня вопрос. задача такая, надо получить ip адреса, откуда постили несколько юзеров. для этого я хочу найти записи в таблице, где сочетаний ip_adress и user_id больше одного.
запрос я сделал следующий SELECT COUNT (DISTINCT ip_address, user_id) FROM posts WHERE ip_address = '216.87.166.231' но вот ошибка wrong number of arguments to function COUNT().
Вопрос: как переделать запрос, чтобы можно было сделать проверку сразу по нескольким полям?

Andrey
15.12.2017
17:42:38
1. group by + having
2. (ip_address, user_id)

Alex
15.12.2017
19:17:31
При размере больше чем 500 мегов в hex нельзя выгрузить ни в copy ни pgdump. В escape при размере мегов 330
Вот пример
https://gist.github.com/anonymous/4c0bdac769be78674adf635f5b0d6e89

Darafei
15.12.2017
19:32:25
а хранить при этом надо?

Gleb
15.12.2017
19:42:33
Привет, как сравнить дату игноря то что поле с таймзоной?
Пробывал извращенные варианты cast(date_trunc('second', modified) as TEXT) но даже так +00 подставляется
таймзона
При том из под консоли отрабатывает , а вот из приложения где таймзона отличная от той что в бд даже такое
to_char(date_trunc('second', modified), 'MM/DD/YYYY HH24:MI:SS') = to_char(date_trunc('second', TIMESTAMP '2017-12-15 04:50:10.0'), 'MM/DD/YYYY HH24:MI:SS')
не отрабатывает хотя запрос один и тот же

Google

Darafei
15.12.2017
19:45:01
а как можно игнорировать то, что поле с таймзоной?

Gleb
15.12.2017
19:45:19
Кастингом

Darafei
15.12.2017
19:45:23
почему не подходят стандартные at time zone?

Gleb
15.12.2017
19:45:35
ну то есть брать как строку или еще что то
WHERE date_trunc('second', modified) :: TIMESTAMP WITHOUT TIME ZONE
Вот почему так не подходит я сам не понял

Darafei
15.12.2017
19:46:26
зачем у тебя date_trunc?

Gleb
15.12.2017
19:46:35
При том в консоли оно отрабатывает хоть как крути
ну потому что хочется с точностью до секнуд сравнивать
а не мс

Nikolai
15.12.2017
21:13:58
Меня любопытство гложет на ночь глядя.
Кто в чем запускает постгресов на заметных нагрузках?
Мы вот сейчас крутим внутри HVM-Xen контейнеров и мастера и слейвов. Диски - локальные.
Плюс - удобно таскать между узлами. Сервера арендованные, поэтому удобно расширять или уменьшать узлы в зависимости от сезона.
Но меня мучает вопрос - может оно не надо? Можно слейва с нуля поднимать и промоутить в новом месте же.
А ещё всякие истории с докером есть - они зачем?
Самый большой@нагруженный сервер ~650gb на дисках; 250M запросов в день.

Darafei
15.12.2017
22:03:34

Alex
15.12.2017
22:37:58

Severnii
15.12.2017
22:41:55
Сорян

Che
16.12.2017
09:11:39
можно при импорте csv как-то обойти пустые колонки? например
first, last
asdf,
ловлю такую ОШИБКА: нет данных для столбца "last"

Yaroslav
16.12.2017
09:22:58

Che
16.12.2017
09:23:14

Yaroslav
16.12.2017
09:29:38
NULL
Так?
CREATE TABLE tmptable(one varchar, two varchar);
COPY tmptable FROM stdin DELIMITER AS ',' NULL AS '' CSV;

Che
16.12.2017
09:30:44

Yaroslav
16.12.2017
09:31:52

Google

Andrey
16.12.2017
09:32:15
Может у вас в csv меньше столбцов чем в таблице просто?

Che
16.12.2017
09:34:38
может потому что у меня в файле true-csv, так сказать, то есть не "asd","qwe", а asd,qwe?
то есть получается примерно так
first,last
asd,qwe
xcv,
123,456

Yaroslav
16.12.2017
09:39:09

Michael
16.12.2017
09:43:24
Привет. Есть кто шарит в проектировании бд, а именно связей? Как обычно связаны такие сущности как Category, Product и Product Item?(в контексте интернет-магазина, или другого e-commerce) Например надо отрендерить all products. Можно сделать запрос для всех products, или же для всех product items. Должен ли я вообще иметь Product Item? Например кроссовки бренда Adidas, модели abc - это Product. А его разновидности(цвет,размер,пол) - это Product Item
Правильно ли я понимаю?

Yaroslav
16.12.2017
09:45:20

Michael
16.12.2017
09:51:32
Можно представить типичный магазин который показывает лист товаров. Если иметь только item, без product, который с ним связан, то получится, что мы будем видеть в выдаче, например одинаковые кроссовки разных размеров
Или цветов
Когда могли бы показать только product, а внутри него все разновидности