Size: a a a

pgsql – PostgreSQL

2020 June 30

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry Belkevich
Там же. две таблицы
Да, вижу. Посмотрите вот на это: https://dbfiddle.uk/?rdbms=postgres_12&fiddle=80a5e38b4a512d359538e1c165e470c6
У Вас хотя бы порядок времени выполнения такой же (у меня ещё меньше, например)?
Т.е. вот это:
 Trigger images_ai1: time=383.105 calls=9999
источник

DB

Dmitry Belkevich in pgsql – PostgreSQL
минуту. в процессе )
источник

s

sexst in pgsql – PostgreSQL
Вопрос тупейший номер 2: а если не делать в функции ничего, только return NULL, насколько время изменится?
источник

s

sexst in pgsql – PostgreSQL
sexst
Ну как минимум то, что double не гарантирует хранения точных величин. Даже при исключительно целочисленных операциях. Можно легко сложить два числа и получить третье, которое будет слегка больше или меньше правильного ответа
Сейчас перечитал насчет этого момента. В какой-то степени я наврал, формально гарантий точности нет и "it depends", но де-факто до каких-то величин, 2^32 < x << 2^64 (и -1 бит на знак числа в уме вычитаем), точное представление будет. Но оптимальность такая себе при одиночных операциях на double - пайплайн для FPU длиннее, операция одна, поэтому оверхед в процентах приличный. Вот будь сразу сотни операций на FPU подряд, разницы бы почти не было.
источник

АК

Алексей Ковалев... in pgsql – PostgreSQL
Доброго времени суток, ищу совета как решить проблему с доступом. Есть триггер который при инсерте берет данные и кидает их в csv, но путь который я указал, не позваляет ему сохранить этот файл, подскажитее пожалйста, как решить эту проблему с правами, пыталсяя выдать находясь под postgres юзером права, не разрешает, интернет ничего интересного не подсказал
источник

s

sexst in pgsql – PostgreSQL
Ну правильно. Триггер у вас от имени postgres скорее всего работает (если у вас, как я понял, триггер с pl/python функцией. Postgres - потому что свм процесс постгреса под этим именем пользователя запускается обычно.
A ls -la /home/lexnom наверняка вам покажут что директорией и/или файлом владеет другой пользователь (lexnom скорее всего) и права создавать там файлы и писать в них сейчас есть только у него.
Можно попробовать под lexnom или root сделать touch /home/lexnom/test.csv && chmod 777 /home/lexnom/test.csv
источник

s

sexst in pgsql – PostgreSQL
Если я всё угадал - этот дикий костыль поможет
источник

s

sexst in pgsql – PostgreSQL
Но вообще нечего в домашние директории других пользователей писать, нехорошо это и неправильно
источник

АК

Алексей Ковалев... in pgsql – PostgreSQL
sexst
Ну правильно. Триггер у вас от имени postgres скорее всего работает (если у вас, как я понял, триггер с pl/python функцией. Postgres - потому что свм процесс постгреса под этим именем пользователя запускается обычно.
A ls -la /home/lexnom наверняка вам покажут что директорией и/или файлом владеет другой пользователь (lexnom скорее всего) и права создавать там файлы и писать в них сейчас есть только у него.
Можно попробовать под lexnom или root сделать touch /home/lexnom/test.csv && chmod 777 /home/lexnom/test.csv
не помогло, а куда лучше такие файлы сохранять?
источник

АК

Алексей Ковалев... in pgsql – PostgreSQL
кароч указал /var/tmp, все ок)) Спасибо за помощь))
источник

АК

Алексей Ковалев... in pgsql – PostgreSQL
а вот такой еще вопрос, можно как то вместо csv файла, указать excel?
источник

АК

Алексей Ковалев... in pgsql – PostgreSQL
выглядит запрос так
источник

m

maxp.dev in pgsql – PostgreSQL
Уважаемые, подскажите как в постгресе сделать констрейнт на уникальность по элементам массива?
вот в таком случае

create table t( ids varchar[] );
источник

TM

Tyomik Mnemonic in pgsql – PostgreSQL
День добрый. Никто не сталкивался с такой проблемой при использовании osm2pgsql?  
Connection to database failed: could not translate host name "db-my-name.local" to address: Temporary failure in name resolution
ps хост точно существует
источник

L

Loljeene in pgsql – PostgreSQL
maxp.dev
Уважаемые, подскажите как в постгресе сделать констрейнт на уникальность по элементам массива?
вот в таком случае

create table t( ids varchar[] );
функциональный индекс сделать? Уникальность элементов внутри массива? Или это просто unique key?
источник

m

maxp.dev in pgsql – PostgreSQL
вот у меня есть запись сейчас в ней [1,2,3], и надо запретить вставлять запись [2]
источник

m

maxp.dev in pgsql – PostgreSQL
в общем, как в монгодб
источник

m

maxp.dev in pgsql – PostgreSQL
можно триггер написать, конечно, но неужели нет простого констрейнта на такой случай?
источник

m

maxp.dev in pgsql – PostgreSQL
вот прямо помню, что было что-то такое...
источник

m

maxp.dev in pgsql – PostgreSQL
что-то там про constraint ... check ...
источник