@pgsql

Страница 780 из 1062
Николай
26.04.2018
07:38:05
Yaroslav
26.04.2018
07:39:03
Если и им - то как? я понять не могу)
Оконными функциями, может быть? Можете \d таблицы показать, чтобы обсуждение было конкретнее.

Николай
26.04.2018
07:41:06


Вся таблица большая. Вот отрывок

Google
Николай
26.04.2018
07:41:26
не важно, что написано sqlite, я потом переведу

ip я вычленю, это не проблема

Пока идут только с одинаковым ip в базу

Vladislav
26.04.2018
07:42:24
а что надо точно получить? аптайм или все таки дату старта?

Николай
26.04.2018
07:43:09
Нужно получить дату, предыдущая строка которого была получена более 1 мин назад. В идеале льётся раз в 5 сек

Yaroslav
26.04.2018
07:43:51
не важно, что написано sqlite, я потом переведу
Не переведёте, в sqlite вообще нет оконных функций. ;) Так вам под какую СУБД нужно?

Николай
26.04.2018
07:44:22
В идеале то в sqlite, согласно проекту, но с постгресом у меня получше. Мб получится перевести разве не получится как то кроме функций?

Николай
26.04.2018
07:45:55
Как, например

В том то и вопрос - я не знаю какой инструмент использовать в данном случае)

Vladislav
26.04.2018
07:47:13
партиции по айпи, сортировка по дате и фрейм с интервалом минус минута

https://www.postgresql.org/docs/9.6/static/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS

дальше уже это в подзапрос и получить агригацию

Google
Николай
26.04.2018
07:55:16
партиции по айпи, сортировка по дате и фрейм с интервалом минус минута
Как сделать фрейм в sql. Не понимаю этого понятия

Vladislav
26.04.2018
07:55:37
фрейм в оконке

это другое

Николай
26.04.2018
07:55:59
типо тело функции чтоль имелось ввиду?

Vladislav
26.04.2018
07:58:18
я ссылку не просто так кинул

там написано про фреймы

то что у постгреса в этом плане унылая документация, вопросы и проблемы не ко мне

Amir
26.04.2018
08:01:46
подскажите от каких настроек зависит размер pg_xlog ?

как узнать что надо бить тревогу, если какой то предел расчетного размера превышен

есть реплики, есть бекапы на отдельных серверах

на мастере сейчас 48G ./data/pg_xlog хочу понять это нормально или нет

Yaroslav
26.04.2018
08:09:55
типо тело функции чтоль имелось ввиду?
И ещё раз: если вам нужен sqlite, забудьте о них —- там этого нет. Кстати, если бы вы выложили CREATE TABLE + сколько-то тестовых данных, то, может быть, вам бы и с запросом подсказали конкретнее...

Николай
26.04.2018
08:12:13
Таблица большая. Пока стараюсь всё таки в sqlite сделать. Вот пример Create (из под питона): cur.execute('''CREATE TABLE IF NOT EXISTS {} ( id integer primary key autoincrement, ip json, period date, disk real, memory real, swap_memory real, cpu json, cpu_cores json, disks_bytes json, disks_operations json, interfaces_speed json)'''.format(TABLENAME))

Yaroslav
26.04.2018
08:13:02
на мастере сейчас 48G ./data/pg_xlog хочу понять это нормально или нет
А какая версия PostgreSQL (связанные с этим вещи в последнее время менялись)? В любом случае, можно начать с (аналога для вашей версии) https://www.postgresql.org/docs/9.6/static/wal-configuration.html

Николай
26.04.2018
08:13:58
15 строк тестовых данных помещаются на 100 строках в телеграмме, хз как кинуть)

Николай
26.04.2018
08:15:22
https://pastebin.com/ur6eMRSq

Google
Николай
26.04.2018
08:15:37
ip из json вычленить не проблема

По сути остальные поля, кроме ip и period - информационные, не более, в данном случае

Yaroslav
26.04.2018
08:17:26
ip из json вычленить не проблема
Серьёзно? Вот и займитесь этим, и дайте _нормальные_ CREATE TABLE + INSERT. Вы думаете, кто-то испытывает жгучее желание делать это за вас? ;(

Николай
26.04.2018
08:17:50
А чем этот не нормальный create table?

Таблица большая. Пока стараюсь всё таки в sqlite сделать. Вот пример Create (из под питона): cur.execute('''CREATE TABLE IF NOT EXISTS {} ( id integer primary key autoincrement, ip json, period date, disk real, memory real, swap_memory real, cpu json, cpu_cores json, disks_bytes json, disks_operations json, interfaces_speed json)'''.format(TABLENAME))

и как понять "нормальный" insert?

То, что пишется, я прислал

Вот например как можно вычленить json, но это sqlite синтксис

select * FROM statistic, json_each(statistic.ip) where json_each.value = "127.0.0.1"

Yaroslav
26.04.2018
08:23:26
А чем этот не нормальный create table?
Ну так выполните его из клиента sqlite —- узнаете, чем. :( А нормальные INSERT-ы —- это INSERT INTO tablename(id, ip, period) VALUES (1, 1, '20110813...'); и т.д. Слушайте, вам помощь нужна или нет? Вы понимате, зачем вас об этом просят?

Николай
26.04.2018
08:24:04
CREATE TABLE IF NOT EXISTS statistic ( id integer primary key autoincrement, ip json, period date, disk real, memory real, swap_memory real, cpu json, cpu_cores json, disks_bytes json, disks_operations json, interfaces_speed json

INSERT into statistic (ip, period, disk, memory, swap_memory, cpu, cpu_cores, disks_bytes, disks_operations, interfaces_speed) values ( {"lo": "127.0.0.1", "enp2s0": "192.168.12.9"}, 2018-04-25 00:00:01.683813, {"/dev/sda1": 3.2, "/dev/sdb2": 32.5, "/dev/sdb1": 0.0}, 22.0, 0.0, {"idle": 4965202.86, "system": 97132.96, "cores": 4, "other": 16683.95, "user": 268831.02}, [{"idle": 1241946.41, "system": 24310.06, "other": 5172.18, "user": 66600.34}, {"idle": 1241800.08, "system": 24147.69, "other": 4214.53, "user": 67013.43}, {"idle": 1240253.63, "system": 24301.5, "other": 3611.95, "user": 67952.43}, {"idle": 1241202.73, "system": 24373.7, "other": 3685.24, "user": 67264.8}], {"sda1": {"write": 512000, "read": 6763520}, "sdb2": {"write": 133060808704, "read": 2554278912}, "sdb1": {"write": 1024, "read": 9573376}}, {"sda1": {"r/s": 0.0, "%": 0.0, "ops": 0.0, "w/s": 0.0}, "sdb2": {"r/s": 0.1, "%": 0.21, "ops": 6.21, "w/s": 6.11}, "sdb1": {"r/s": 0.0, "%": 0.0, "ops": 0.0, "w/s": 0.0}}, {"lo": {"in": 63665151832, "out": 63665151832}, "enp2s0": {"in": 30368647104, "out": 6040415920}} )

Николай
26.04.2018
08:27:02
вот. полностью sql синтаксис

Понял зачем, виноват

https://pastebin.com/RaD03nSh

множественный insert

Yaroslav
26.04.2018
08:34:24
вот. полностью sql синтаксис
Да, так намного лучше. :) А вы можете дать больше тестовых данных (в идеале, убрать не относящиеся к делу поля)?

Николай
26.04.2018
08:34:59
Хм. Думаю могу и без лишних полей. ща новую пасту пришлю.

https://pastebin.com/hsVXPDkz

Yaroslav
26.04.2018
08:37:20
Хм. Думаю могу и без лишних полей. ща новую пасту пришлю.
И на то, что вы дали ранее, даже sqlite выдаёт Error: unrecognized token: "{" Вы пробовали, у вас это работает?

Google
Николай
26.04.2018
08:37:34
Минуту

Есть ошибка, сейчас, исправляю

https://pastebin.com/HRJm4jHz

Yaroslav

В названии таблицы только нужно стереть '_test'

Yaroslav
26.04.2018
08:56:58
Admin
ERROR: S client not available

Oleg
26.04.2018
09:25:34
Блин ошибся

Vladimir
26.04.2018
09:32:29
Вау, какие люди здесь есть!)

Roman
26.04.2018
10:14:11
где?

кто здесь?

Yaroslav
26.04.2018
10:59:00
Хм. Думаю могу и без лишних полей. ща новую пасту пришлю.
/пробегая мимо/ Вам примерно это было нужно? https://dbfiddle.uk/?rdbms=postgres_10&fiddle=e5f199b0348a57f2eeaf94c50ceee051 Если нет, уточните задачу...

Ibosh
26.04.2018
11:09:52
Добрый день, вопрос такой, через жаву добавил записи в Table, как я могу запросить id этого же Row

Ibosh
26.04.2018
11:15:41
спасибо

Николай
26.04.2018
11:17:36
/пробегая мимо/ Вам примерно это было нужно? https://dbfiddle.uk/?rdbms=postgres_10&fiddle=e5f199b0348a57f2eeaf94c50ceee051 Если нет, уточните задачу...
Не особо понял, что это. Судя по данным, должна б ответе быть дата 00:05:01, или 43 секунды - аптайм с момента последней щаписи

Alexander
26.04.2018
11:18:21
Добрый день, вопрос такой, через жаву добавил записи в Table, как я могу запросить id этого же Row
Можете запросить не только id, а и вовсе всю строку, используя RETURNING * вместо RETURNING id. Мне частенько оказывается очень удобно

Yaroslav
26.04.2018
11:19:20
Не особо понял, что это. Судя по данным, должна б ответе быть дата 00:05:01, или 43 секунды - аптайм с момента последней щаписи
Ага, то есть то, что Вам нужно —- найти последний период "без единого разрыва", правильно?

Николай
26.04.2018
11:19:29
Именно!

Google
Николай
26.04.2018
11:22:11
И желательно возможность устанавливать промежуток, который можно принять за разрыв

Yaroslav
26.04.2018
11:26:27
И желательно возможность устанавливать промежуток, который можно принять за разрыв
Посмотрите вот это: https://dbfiddle.uk/?rdbms=postgres_10&fiddle=b0788012055257a554024560242a5e62

Но его, конечно, надо допилить, даже если общая идея такая (т.е. это то, что было нужно).

Николай
26.04.2018
11:41:53
Спасибо!

Amir
26.04.2018
14:08:34
подскажите можно ли узнать в разрезе конкретной таблицы можно узнать когда последний раз ресетнулась статистика? например сегодня узнал что если делать pg_repack то статистика обнуляется.... сейчас период сдачи счетов приближается, необходимо просто почистить неиспользуемые индексы. есть вероятность что можно так удалить то что на самом деле использовалось сам ресет специально замораживали на месяц

Sergey
26.04.2018
14:12:43
можете подсказать ни у кого не было проблемы SQL err pq: could not open file "pg_tblspc/18881/PG_9.4_201409291/16384/18884": No such file or directory

не могу выполнить select postgre 9.4

Fedor
26.04.2018
14:13:56
файл побился

если индексовый то пол беды

если табличный то бэкап

Sergey
26.04.2018
14:15:10
как можно починить

просто в гугл не могу найти решения

Yaroslav
26.04.2018
14:17:16
просто в гугл не могу найти решения
Разберитесь, в чём причина (не железо ли). Далее восстановите из backup.

Sergey
26.04.2018
14:18:01
Yaroslav
26.04.2018
14:19:42
по дискам памяти свопу и тд все норм
Вам виднее... А полная версия PostgreSQL какая? Может, не обновлялись и наткнулись на известный баг?

Fedor
26.04.2018
14:20:52
как можно починить
Посмотрите логи, на предмет ошибок других , котрые параллеьно возникают

Страница 780 из 1062