
alex
21.08.2018
07:39:01
я не так связь там сделал ))
я сделал по ID

Vladymyr
21.08.2018
07:39:17

Anton [Mgn, az09@osm]
21.08.2018
07:39:27

Google

Vladymyr
21.08.2018
07:40:22
Красава
В смысле молодец что разобрался

alex
21.08.2018
07:40:49
все получилось спс.
я связь между таблицами первоначально криво седлал
и еще в догонку ))

Anton [Mgn, az09@osm]
21.08.2018
07:41:40
Седлай))

alex
21.08.2018
07:41:42
там есть поле тимештамп. можно преобразовать в нормальное время ?

И•л•ь•д•а•р ☕
21.08.2018
07:43:11
подскажите в таблице есть поле jsonb, в нём массив, к примеру [1,2,3,4,5], как сделать выборку чтобы найти один из элемментов массива? если это просто массив а не jsonb то можно сделать WHERE 1 = any(arr_data), а если это jsonb то как так выбрать?

Vladymyr
21.08.2018
07:44:28

alex
21.08.2018
07:44:50
кеп ))
SELECT
DATE("AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"),
"AO_2C4E5C_MAILITEM"."ID",
"AO_2C4E5C_MAILITEM"."MAIL_CONNECTION_ID",
"AO_2C4E5C_MAILITEM"."STATUS",
"AO_2C4E5C_MAILCONNECTION"."EMAIL_ADDRESS",
"AO_2C4E5C_MAILCONNECTION"."ID"
FROM
public."AO_2C4E5C_MAILITEM",
public."AO_2C4E5C_MAILCONNECTION"
WHERE
"AO_2C4E5C_MAILITEM"."MAIL_CONNECTION_ID" = "AO_2C4E5C_MAILCONNECTION"."ID" AND "AO_2C4E5C_MAILITEM"."STATUS" = 'NEW' ;
ERROR: function date(bigint) does not exist
LINE 2: DATE("AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"),
что не так ?

elfiki
21.08.2018
07:57:56

Google

alex
21.08.2018
07:59:35

elfiki
21.08.2018
08:03:16

alex
21.08.2018
08:05:16
ну да

blkmrkt
21.08.2018
08:11:46
CREATE TABLE vectors (
id SERIAL,
vec_low CUBE,
vec_high CUBE
);
UPDATE vectors SET huge_vector = CUBE(vec_low || vec_high);
ERROR: operator does not exist: cube || cube
Как превратить CUBE в array[float8], с целью склеить данные в один большой куб?
не вижу в доках ничего про каст куба обратно в вектор

elfiki
21.08.2018
08:17:57
типа такого чет

alex
21.08.2018
08:22:33

elfiki
21.08.2018
08:23:21
В каком там формате хоть?

alex
21.08.2018
08:24:31

Nikolai
21.08.2018
08:24:35
ну типа было [1,5,10,19] станет [1,5,19]
Спасифсб, только это почти то же самое что показал я.
Меня беспокоит только производительность, если массив очень большой, а удалить нужно всего 1 элемент.
Таким способом получается он берёт этот массив весь, вытаскивает из него элемент, и этот уменьшенный массив кладёт обратно.
А я хотел что бы он обращался к элементу как к полю, как при удалении строки из БД.

elfiki
21.08.2018
08:28:33
ну сам таймстамп в бигинте какой, unix timestamp?

alex
21.08.2018
08:28:59
да unix
вроде стандрт unix . не ??

elfiki
21.08.2018
08:30:54
вроде стандрт unix . не ??
select (date 'epoch'+"AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP" * INTERVAL '1 second')::date from "AO_2C4E5C_MAILITEM" limit 10
вот так что возвращает?

blkmrkt
21.08.2018
08:32:56

alex
21.08.2018
08:33:00
я вот так делаю
SELECT
(date'epoch' + "AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP" '2018-01-01 00:00:00')::date,
возвращает
ERROR: schema "AO_2C4E5C_MAILITEM" does not exist
LINE 2: (date'epoch' + "AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP" '2...

Yaroslav
21.08.2018
09:27:36

elfiki
21.08.2018
09:28:19

Nikolai
21.08.2018
09:30:45

Google

alex
21.08.2018
09:31:57

elfiki
21.08.2018
09:32:05
а что говорит?

alex
21.08.2018
09:32:07
и я случайно скрипт перезатер
ща
RROR: syntax error at or near ""AO_2C4E5C_MAILITEM""
LINE 5: "AO_2C4E5C_MAILITEM"."ID",

Yaroslav
21.08.2018
09:34:36

alex
21.08.2018
09:38:21

Nikolai
21.08.2018
09:40:09
Лучше в реляционках использовать реляционные модели, как правило. ;)
А сравнению производительности чего с чем?
Разных методов хранения.
Сейчас осознаю что в принципе вся бд это просто поля байтов разной длины, и с одним полем нельзя работать как с массивами в программировании.
У меня есть множество объектов у которых много массивных параметров, и делать их как связь с другой даже малой таблицей считаю нелогичным.
Это можно сравнить с пользователем у которого много кошельков с разными названиями и балансом.
Название это int, а баланс real.
Хочу хранить как 2 поля - int[] и real[].
Возможно не прав. И может отдельная таблица
-I'd
-кошелёк
-Название
-Значение
Было бы лучше. А у пользователя только номер кошелька.


Yaroslav
21.08.2018
09:44:20
Разных методов хранения.
Сейчас осознаю что в принципе вся бд это просто поля байтов разной длины, и с одним полем нельзя работать как с массивами в программировании.
У меня есть множество объектов у которых много массивных параметров, и делать их как связь с другой даже малой таблицей считаю нелогичным.
Это можно сравнить с пользователем у которого много кошельков с разными названиями и балансом.
Название это int, а баланс real.
Хочу хранить как 2 поля - int[] и real[].
Возможно не прав. И может отдельная таблица
-I'd
-кошелёк
-Название
-Значение
Было бы лучше. А у пользователя только номер кошелька.
> Сейчас осознаю что в принципе вся бд это просто поля байтов разной длины,
Физически — да (в основном), логически (на уровне модели) — это не имеет отношения к делу.
> У меня есть множество объектов у которых много массивных параметров, и делать их как связь с другой даже малой таблицей считаю нелогичным.
Ну а реляционная модель считает строго наоборот. RDMBS более-менее точно поддерживают именно её.
Поэтому, хотя и можно "писать на ассемблере... в любом языке программирования!", страдать от этого будет только тот, кто пишет (или использует) такие базы. ;)
Вы уверены, что Вам вообще нужна RDBMS, кстати?


elfiki
21.08.2018
09:44:30
а пример оригинального значения скинь плз

alex
21.08.2018
09:45:07
1534780080809

elfiki
21.08.2018
09:46:19
1534780080809
(date'epoch' + "AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"/1000 '2018-01-01 00:00:00')::date,
на тысячу делить надо еще

alex
21.08.2018
09:47:16
ERROR: syntax error at or near "'2018-01-01 00:00:00'"

Nikolai
21.08.2018
09:47:28
> Сейчас осознаю что в принципе вся бд это просто поля байтов разной длины,
Физически — да (в основном), логически (на уровне модели) — это не имеет отношения к делу.
> У меня есть множество объектов у которых много массивных параметров, и делать их как связь с другой даже малой таблицей считаю нелогичным.
Ну а реляционная модель считает строго наоборот. RDMBS более-менее точно поддерживают именно её.
Поэтому, хотя и можно "писать на ассемблере... в любом языке программирования!", страдать от этого будет только тот, кто пишет (или использует) такие базы. ;)
Вы уверены, что Вам вообще нужна RDBMS, кстати?
Создаётся MMO, уже работает прототип, сейчас вот расширяется.
Но это первый опыт.
Изучал дневники разработчиков, другие используют реляционные, и часто именно Postgres.
Но структуры у всех разные конечно.

elfiki
21.08.2018
09:47:36

alex
21.08.2018
09:47:38
типа неверно указано
что не тк ?

elfiki
21.08.2018
09:47:58
чет я не то скопировал

Google

elfiki
21.08.2018
09:48:15
"AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"/1000
вместо
"AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"
вот что нужно сделать
и все
в том что есть

alex
21.08.2018
09:50:34
фокус не удался

elfiki
21.08.2018
09:51:48
(date 'epoch'+'1534780080809'::bigint/1000 * INTERVAL '1 second')::date
вот так все ок возвращает нужную дату

alex
21.08.2018
09:51:52
он кажет дату, а время ??

elfiki
21.08.2018
09:52:00
а нужно и время?

alex
21.08.2018
09:52:06
ну да
))

elfiki
21.08.2018
09:52:32
убрать скобки и последнее ::date
date 'epoch'+"AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"/1000 * INTERVAL '1 second'
типа такого

alex
21.08.2018
09:53:01
а поче му он не может вот так
(date'epoch' + public."AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"/1000 '2018-01-01 00:00:00')

elfiki
21.08.2018
09:54:17

alex
21.08.2018
09:55:21
и да ое время кажет не верно

Yaroslav
21.08.2018
09:55:36
Создаётся MMO, уже работает прототип, сейчас вот расширяется.
Но это первый опыт.
Изучал дневники разработчиков, другие используют реляционные, и часто именно Postgres.
Но структуры у всех разные конечно.
Хмм... то есть, "внутренней" потребности в использовании RDBMS у Вас нет, Вы просто смотрите на то, как делают "соседи"? ;)
Вообще, обычно RDBMS используются, когда Вам нужен инструмент с такими свойствами:
. Поддержка реляционной модели.
. SQL.
. ACID.
Если всё это Вам не нужно (или даже нужно только что-то одно), то, скорее всего, лучше поискать другой инструмент.

elfiki
21.08.2018
09:55:39

Google

alex
21.08.2018
09:55:43
+3 нада. типа часовй пояс указать

Yaroslav
21.08.2018
09:56:51

alex
21.08.2018
09:57:15
парсит

Yaroslav
21.08.2018
09:58:23
парсит
В смысле "парсит"? Я имел в виду, почему тип поля в таблице не timestamptz?

elfiki
21.08.2018
09:58:39
(timestamp with time zone 'epoch'+"AO_2C4E5C_MAILITEM"."CREATED_TIMESTAMP"/1000 * INTERVAL '1 second')::timestamp

alex
21.08.2018
10:01:47

Yaroslav
21.08.2018
10:02:14

Nikolai
21.08.2018
10:22:05

Terminator
21.08.2018
11:03:54
@rkasimov будет жить. Поприветствуем!

Yaroslav
21.08.2018
11:04:51

Alexander
21.08.2018
11:27:30
всем привет, раз в 2-3 минуты в логе наблюдаю следующую ошибку - пользователь имярек не прошел проверку подлинности (по паролю). Как бы понять, с какого хоста идут попытки подключения, в логе такой информации не вижу

Yaroslav
21.08.2018
11:29:16

Alexander
21.08.2018
11:31:24
ага, смотрю описание этого параметра, спасибо

Anton [Mgn, az09@osm]
21.08.2018
11:31:59
Хост китайский, меняйте порты

Alexander
21.08.2018
11:33:57
достаточно pg_reload_conf() сделать, или надо базу рестартовать?