@pgsql

Страница 495 из 1062
/dev/null
02.10.2017
06:38:35
здасти

В базе есть поле с типом MONEY как вывести из него значения без знака руб... к примеру 1200.00 руб вывести как 1200.00

/dev/null
02.10.2017
06:42:06
Google
Айтуар
02.10.2017
06:44:05
Через CAT()
Я щас не помню. Посмотри документацию.

Dmitry
02.10.2017
07:44:09
В базе есть поле с типом MONEY как вывести из него значения без знака руб... к примеру 1200.00 руб вывести как 1200.00
postgres=# select 1.01::money; money —---— $1.01 (1 row) postgres=# select (1.01::money)::numeric; numeric —------- 1.01 (1 row)

кастование к типу происходит через оператор ::

Sergey
02.10.2017
07:45:10
Утречка, а что за драма с ПГ Профессиональный на хабре?



Dmitry
02.10.2017
07:45:32
наверно прое%ли просто оплату

такое бывает :)

Anatoliy
02.10.2017
07:46:32
Или вложенные средства себя не оправдывают

Kam
02.10.2017
07:50:21
ребят помогите со связами в постгре)

есть 2 таблицы

у второй таблицы есть xxx_id

я пишу так

Sergey
02.10.2017
07:51:11
такое бывает :)
я уж думал там случилось что :)

Google
Kam
02.10.2017
07:51:12
foreign key (xxx_id) references xxx(id)

Dmitry
02.10.2017
07:52:34
я уж думал там случилось что :)
врядли, вложения в такие компании - это вложения на будущее, на несколько лет, и все инвесторы это отлично понимают

Igor
02.10.2017
07:53:12
в какие компании, в "тематические медиа"? :))

Dmitry
02.10.2017
07:53:18
))))

ну просто неразбериха - где-то кто-то кому-то счет не переслал, компании вон свои домены проеб%$ют, а тут блог на хабре :)

(может там что-то другое, не знаю, просто мне так кажется)

Denis
02.10.2017
07:55:14
@darthunix, выложил то что есть по vgram https://github.com/akorotkov/vgram
@aekorotkov я потестировал vgram на таблице с 400к имен. так как similarity vgrams не умеет, я оценивал скорость по like, экспериментируя с минимальной и максимальной длиной вграм. 1) как выяснилось, если установить минимальное значение вграмы большим, чем длина лексемы, то вграмы из нее не получаются (и индекс не работает) из-за ошибки "corrupted vgram". то есть поэкспериментировать с вграмами от 6 до 10 для фио с именем "денис" уже нельзя. 2) если установить минимальное значение длины вграмы равное 2 (допустим при сборке расширения ставлю 2 и 6 для минимального и максимального значения), то лексемы будут всегда тяготеть к минимальным значениям. поэтому разбор моего фио для расширения вграм, собранного с параметрами (2,6) и (2,3) будет выглядеть одинаково. 3) скорость работы вграм сильно ниже, чем у расширений триграм и биграм (на ряде запросов до 10 раз).

@aekorotkov не подскажите, кстати, как обстоят дела с поддержкой rum индекса массивов. оно заявлено в todo еще с последнего pgconf с марте. будет?)

Alexander
02.10.2017
07:58:30
Денис, спасибо что потестировали. 1-2) А вы не пробовали снижать VGRAM_LIMIT_RATIO, вместо того, чтобы увеличивать длину максимальной V-gram'ы? 3) Это, наверное, связано с тем, что нет полноценной поддержки GIN "fast scan", т.к. он появился после разработки данного расширения.

Alexander
02.10.2017
08:00:11
Ок, а я тогда посмотрю почему возникает ошибка "corrupted vgram", и попробую добавить GIN "fast scan".

Denis
02.10.2017
08:00:33
Спасибо огромное!

Alexander
02.10.2017
08:00:35
Массивы в RUM вроде, в разработке сейчас. Завтра смогу сказать точнее. Если я забуду, напомните мне.

Kam
02.10.2017
08:37:28
ребят помогите, выдает синтаксичускую ошибку

xxx_id integer NOT NULL, FOREIGN KEY xxx(id)

xxx_id это ключ в другой таблице для таблицы xxx

Anton [Mgn, az09@osm]
02.10.2017
08:43:13
xxx(id) уникальный хотя бы?

Mike Chuguniy
02.10.2017
08:57:30
ребят помогите, выдает синтаксичускую ошибку
Телепаты как-то вот так помножились на ноль. Давайте полный вывод из консоли. Желательно с описанием обоих таблиц.

@az09_mgn я вон запятую после NOT NULL вижу, которой по идее быть не должно.

И форин кей там должен быть? А не референс какой?

Google
Михаил
02.10.2017
09:00:42
xxx_id integer NOT NULL, FOREIGN KEY xxx(id)
xxx_id integer NOT NULL REFERENCES xxx(id) или так с запятой xxx_id integer NOT NULL, FOREIGN KEY (xxx_id) REFERENCES xxx(id)

Denis
02.10.2017
12:32:00
1-2) нет, не пробовал. Проверю!
@aekorotkov У меня и правда стоял слишком высокий VGRAM_LIMIT_RATIO - после уменьшения его на пару порядков скорость LIKE поиска стала соизмерима с триграмами. Так же после этого пропала ошибка "corrupted vgram". А можно в vgram'ы добавить similarity и %, чтобы проверить коррекцию опечаток? У меня вся история по факту ради этого и затевалась. А LIKE запрос работает быстро и на триграммах, проседания начинаются именно на % и вот тут бы пригодилась регулируемая длина vgram.

Aliaksei
02.10.2017
13:07:04
Привет, пришёл с вопросом к вам: Вот запрос который достаёт из jsonb поля “description” массив tags и ищет вхождения либо “java”, либо “c++” select v.*, jsonb_agg(tags) from vacancy v, jsonb_array_elements((v.description ->> 'tags')::jsonb) tags where tags ?| array['java', 'c++'] group by v.id Как должен выглядеть запрос что бы было обязательно наличие и “java” и “c++”? ?& – вот это вообще ничего не вернёт Т.е. нужно чтобы значения [“java”, “c++”] попали в ответ, но [“java”, “kotlin”] нет

Igor
02.10.2017
18:16:20
pg_dump: [archiver (db)] query failed: ERROR: column i.keyatts does not exist

как теперь жить с этим? скопировать кластер через basebackup?

Massimo
02.10.2017
18:18:06
Вечер добрый! У кого нибудь есть тутор для новичка по автоматическому бэкапу бд? Хочу производить бэкапы на Амазон S3

Massimo
02.10.2017
18:24:36
Так у меня бд лежит на хосте

А на амазон думал складировать бэкапы и картинки

mb
02.10.2017
18:37:04
Скорее всего это подойдёт: http://www.pgbarman.org/

Daniel
02.10.2017
19:09:59
всем привет. возник вопрос. хочу выбирать данные из таблицы по materialized path . Но возник затык. Если конец пути указан неверно, т.е. например, в запрашиваемом пути /0/1/2/3/4/5/6/7/8 существует только /0/1/2/3/4/5 , то нужно вернуть его. Как это можно сделать быстро? есть какие-нибудь идеи?

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

Arthur
02.10.2017
19:20:56
не смотрели в сторону ltree? https://postgrespro.ru/docs/postgresql/9.6/ltree

Daniel
02.10.2017
19:22:40
на хабре прочитал статью только что, как раз искал в доках, спасибо, посмотрю, поможет ли это

все же не подходит (

Google
Yura
02.10.2017
19:50:29
Для данной постановки задачи это самый быстрый вариант.

Denis
03.10.2017
00:21:13
привет! а кто помнит как называется расширение, которое позволяет скрывать из плана индексы при отладке?

Lulz
03.10.2017
06:54:39


Andrey
03.10.2017
06:56:22
Ну так там же всё написано.

Под пользователем postgres запускайте.

Lulz
03.10.2017
07:02:43
Под пользователем postgres запускайте.
туплю, а как в chmod изменить доступ для пользователя postgres?

Andrey
03.10.2017
07:04:49
chmod тут не при чём, просто сделайте su - postgres, если вы под рутом, а потом запускайте команду, без sudo.

nietzschebrod
03.10.2017
07:04:50
oh wow

/dev/null
03.10.2017
07:05:31
Работает кто с firebirdsql?

Lulz
03.10.2017
07:05:56
I changed the owner of /srv/datadisk01/database to postgres user with chmod.

/dev/null
03.10.2017
07:06:03
как в этом … узнать какая кодировка в базе используется \

nietzschebrod
03.10.2017
07:06:35
и он про chown

Andrey
03.10.2017
07:06:56
спасибо :)
Troubles in Windows - reboot, troubles in Linux - be root!

Leonid
03.10.2017
07:29:40
Коллеги. А как из jsonb вытащить число, именно как число?

Vitality
03.10.2017
07:30:17
cast(param, type)

Google
Vitality
03.10.2017
07:30:27
или param::type

param - это то, что ты получаешь

Leonid
03.10.2017
07:30:54
не выходит

Vitality
03.10.2017
07:31:07
и при условии, что у тебя хранимая процедура на сервере

Leonid
03.10.2017
07:31:19
select data->'functional' from config ;

select json_typeof(to_json(data->'functional'->'session_duration')) from config where is_active='t'; json_typeof —---------— number (1 строка)

select data->'functional'->'session_duration'::int *2 from config where is_active='t'; ОШИБКА: неверное значение для целого числа: "session_duration"

select cast(data->'functional'->'session_duration' as integer) *2 from config where is_active='t'; ОШИБКА: привести тип jsonb к integer нельзя

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