
Артур
27.02.2017
13:22:01
ну кроме оф. дока

Alex
27.02.2017
13:22:57
в личке

Артур
27.02.2017
13:33:35
@dezconnect

Google

Артур
27.02.2017
13:38:03
Или лучше
SELECT id,name, ts_rank_cd(textsearch, query) AS rank
FROM aliases, to_tsquery('sun') query
WHERE query @@ textsearch
ORDER BY rank DESC

Alexey
27.02.2017
13:42:07
Народ, нужна свежая мысля. Пилю скрипт для возврата PostgreSQL после падения обратно в PGPool. На сколько я понял, чтобы статус сервера в pgpool сменился с 1 на 2, надо обязательно авторизоваться. Решил просто дёргать psql, который будет выполнять авторизацию и отдыхать. Вот только как подсунуть пароль - не понял. Через pgpass подключается к PG напрямую, а через pgpool не хочет. С PGPASSWORD тоже не работает... Может кто подкинет идею, как это реализовать?
Желательно обойти ssh-ключи (дабы шаловливые ручки человека, запускающего скрипт, не лезли куда не надо =))

mb
27.02.2017
13:44:20

Alexey
27.02.2017
13:45:13
.pgpass в ~
pgpool его не кушает, пробовал... Он даже не ругается на неправильный пароль в pgpass, а просто выдаёт стандартную ошибку

mb
27.02.2017
13:45:51
pg_hba.conf?

Alexey
27.02.2017
13:51:18
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
host all all ::1/128 trust
Вряд ли что-то тут ему мешает
Я понял, что я идиот. Просто был не тот пароль. Через .pgpass вошло без проблем
Спасибо! =)

Darafei
27.02.2017
13:58:11

Wom
27.02.2017
14:11:15

Stas
27.02.2017
14:13:25

Google

Wom
27.02.2017
14:13:38

Akzhan
27.02.2017
16:08:06
меня что-то клинит.
почему здесь Postgres 2 месяца конвертирует в 60 дней? это же некорректно.
me@localhost:db> select '1 month 2h'::interval;
+------------------+
| interval |
|------------------|
| 30 days, 2:00:00 |
+------------------+

Alexander
27.02.2017
16:10:21

Igor
27.02.2017
16:17:18
мне теперь очень интересно, какой результат ожидался

Alexander
27.02.2017
16:19:00
действительно, какой?

Akzhan
27.02.2017
16:19:12
Тип interval представлен внутри в виде отдельных значений месяцев, дней и секунд. Это объясняется тем, что число дней в месяце может быть разным, а в сутках может быть и 23, и 25 часов в дни перехода на летнее/зимнее время.

Fike
27.02.2017
16:19:49
но тут же все равно не передается контекст (время года, локация), постгре не может не выдать константу


Vadim
27.02.2017
16:20:37
Тип interval представлен внутри в виде отдельных значений месяцев, дней и секунд. Это объясняется тем, что число дней в месяце может быть разным, а в сутках может быть и 23, и 25 часов в дни перехода на летнее/зимнее время. Значения месяцев и дней представлены целыми числами, а число секунд может быть дробным. Так как интервалы обычно получаются из строковых констант или при вычитании типов timestamp, этот способ хранения эффективен в большинстве случаев. Для корректировки числа дней и часов, когда они выходят за обычные границы, в PostgreSQL есть специальные функции justify_days и justify_hours.
В расширенном формате ввода и в некоторых полях более компактных форматов значения компонентов могут иметь дробные части, например '1.5 week' или '01:02:03.45'. Такое значение при сохранении пересчитывается в соответствующее число месяцев, дней и секунд. Когда при этом остаётся дробная часть в месяцах или в днях, она переносится в младший компонент с допущением, что 1 месяц = 30 дней, а 1 день = 24 часа. Например, значение '1.5 month' будет преобразовано в 1 месяц и 15 дней. В виде дробного числа хранятся и выводятся только секунды.


Akzhan
27.02.2017
16:21:41
это я глянул. но вот результат для
select '2 month'::interval;
+------------------+
| interval |
|------------------|
| 60 days, 0:00:00 |
+------------------+

Fike
27.02.2017
16:23:30
я до сих пор не понимаю, в чем неожиданное поведение

Zhenia
27.02.2017
16:24:24
А как ещё месяц переводить в дни?

Akzhan
27.02.2017
16:24:26
в том, что нельзя месяцы конвертировать в дни

Anatoliy
27.02.2017
16:24:31
Ожилалось видимо 2 months)

Alexander
27.02.2017
16:24:43
в арифметике работает учитывая длины месяцев

Akzhan
27.02.2017
16:24:54
по стандарту месяц в дни не конвертируется

Igor
27.02.2017
16:24:59

Alexander
27.02.2017
16:25:07
select '2017-03-01'::timestamp + interval '1 month 2 hours';
?column?
---------------------
2017-04-01 02:00:00
(1 row)
# select '2017-02-01'::timestamp + interval '1 month 2 hours';
?column?
---------------------
2017-03-01 02:00:00

Akzhan
27.02.2017
16:27:57

Anatoliy
27.02.2017
16:28:02
Ну кажется логично.

Akzhan
27.02.2017
16:28:56
и не понимаю, как

Google

Alexander
27.02.2017
16:29:11
select extract( month from interval '1 month 2 hours');

Fike
27.02.2017
16:30:07
больше магии
postgres=# select '2 month'::interval;
interval
----------
2 mons
(1 row)

Akzhan
27.02.2017
16:31:10

Fike
27.02.2017
16:31:36
ищу версию, в которой запускаю

Alexander
27.02.2017
16:31:48
select '2 month 2 hours'::interval;
interval
-----------------
2 mons 02:00:00

Fike
27.02.2017
16:31:57
PostgreSQL 9.4.5
тупо в докере поднял тот образ, который полтора года валяется
Там могут быть какие-то настройки отображения? Может, он просто при выводе почему-то принудительно конвертирует, а с самим типом данных все ок?

Akzhan
27.02.2017
16:33:33
все, разобрался, какая-то настройка нехорошая в pgcli. psql возвращает все корректно, разберусь с SET xxx.
спасибо )

Алексей
27.02.2017
17:14:06
Всем привет. Собрал в одном месте все чаты для программистов - @Chats_Developers, пользуйтесь на здоровье. Ваш чат у нас тоже есть, не удаляйте это сообщение.

Evgeniy
27.02.2017
17:15:26
список чятов не списком а в чяте
хитро

Igor
27.02.2017
17:15:39
и не в чяте, а в канале

Evgeniy
27.02.2017
17:15:47
простите

Igor
27.02.2017
17:15:57
ненене, я без претензий
я к тому, что еще хитрее!

Айтуар
27.02.2017
17:35:24
Хотя бот выдающий список чатов по запросу будет не лишним.

Dan
27.02.2017
17:36:49

Google

Айтуар
27.02.2017
17:37:15
но зачем
Удобнее чем канал который нужно листать чтобы найти нужное.

Dan
27.02.2017
17:37:28

Айтуар
27.02.2017
17:38:22

Dan
27.02.2017
17:40:41

Anton [Mgn, az09@osm]
27.02.2017
17:40:57
вы оба правы. использую поиск и там и там

Айтуар
27.02.2017
17:41:02
Ну ладно на вкус и цвет.

Andrey
27.02.2017
17:43:14
Хотя бот выдающий список чатов по запросу будет не лишним.
Счтитаю, что бот, выдающий список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов...
Блин, о чем это я..?

Айтуар
27.02.2017
17:44:14
Счтитаю, что бот, выдающий список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов, выдающих список ботов...
Блин, о чем это я..?
while true {} ?

Andrey
27.02.2017
17:44:46
Стек не резиновый!

Айтуар
27.02.2017
17:45:21
стек в /dev/null ))

Andrey
27.02.2017
17:45:22
Кроме того, кажется, Вы путаете цикл с рекурсией.

Айтуар
27.02.2017
17:47:20
function bot() {
while true {
bot()
}
}
и так сойдёт

Fike
27.02.2017
17:48:14
ох, пошли доменные шутейки

Andrey
27.02.2017
17:59:03
; забыли

Oleg ?
27.02.2017
17:59:26
Нет
Это новый синтаксис js
Там можно без ;

Yury
27.02.2017
18:21:37

Артур
28.02.2017
02:03:12
Кто использует UUID на практике?

Google

Артур
28.02.2017
02:03:53
У меня в фин транзакциях на каждую строку создается sha хэш. А вот сейчас читаю - есть окаывается UUID

Darafei
28.02.2017
05:14:40
мы пользуемся uuid на практике, а в чём вопрос?

Sheridan
28.02.2017
05:22:25

Andrey
28.02.2017
05:27:58

Sheridan
28.02.2017
05:31:31
ну и плюсы есть

Robert
28.02.2017
05:33:16
Тогда откуда у него деньги?

Pavel
28.02.2017
05:34:44

skynet
28.02.2017
05:35:19
Или мамка дала

Айтуар
28.02.2017
06:14:47

Darafei
28.02.2017
06:15:50
На них вал индексов побольше, но не больше sha-хешей
На сами индексы жалоб, кажись, не было

Айтуар
28.02.2017
06:18:59
Вроде тут была дискуссия о том что индекс не использовался т.к. был большим и анализатор использовал последовательное чтение таблицы.

Vadim
28.02.2017
06:20:52
На практике uuid в роли PK и FK - боль. Если у вас много данных. С ними надо быть аккуратнее

Айтуар
28.02.2017
06:21:08