Size: a a a

pgsql – PostgreSQL

2020 July 22

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Тимур
А вот тоже часто сталкиваюсь с тем что бы решать делать поле у которого некоторый не большой список значений через внешний ключ как таблицу, либо как варчар где список это статичный набор данных в клиенте. Как выбирать?
Таблица - универсальность и все "пряники" с производительностью, код - плохо модифицируется. Как компромисс - хранить в конфиге с возможностью перечитываемого параметра без рестарта всего приклада.
источник

Т

Тимур in pgsql – PostgreSQL
сделаю вид что понял))
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Хранить в справочном поле текст - гарантированный геморрой с обновлением большого числа записей. Даже на стабильность списка человеческих полов  сегодня нельзя расчитывать.
источник

OK

Owly Ksym in pgsql – PostgreSQL
Доброе утро, подскажите пожалуйста, а можно ли добавить значение по умолчанию в поле таблицы добавить использование crypt()?
источник

Ю

Юрий in pgsql – PostgreSQL
можно , вот пример как вункцию добавить
источник

A

Alex in pgsql – PostgreSQL
эм…. а смысл?
источник

Ю

Юрий in pgsql – PostgreSQL
чтоб crypt() добавить надо написать функцию на питоне пример так

CREATE OR REPLACE FUNCTION mcore.py_ip(
)
   RETURNS text
   LANGUAGE 'plpython3u'

   COST 100
   VOLATILE
AS $BODY$  
  import socket
  return [(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]
$BODY$;

ALTER FUNCTION mcore.py_ip()
   OWNER TO postgres;
источник

A

Alex in pgsql – PostgreSQL
я так понимаю ему\ей нужно автоматическое преобразование входящего значения. непонятно при чем тут DEFAULT.
источник

A

Alex in pgsql – PostgreSQL
потому как непонятно зачем использовать результат ф-ции crypt в качестве значения по-умолчанию.
источник

Ю

Юрий in pgsql – PostgreSQL
тогда тригер
источник

A

Alex in pgsql – PostgreSQL
Owly Ksym
Доброе утро, подскажите пожалуйста, а можно ли добавить значение по умолчанию в поле таблицы добавить использование crypt()?
какую проблему вы пытаетесь решить?
источник

OK

Owly Ksym in pgsql – PostgreSQL
я через crypt преобразую пароль и сохраняю, но пишу через фреймворк и он не совсем понимает
источник

A

Alex in pgsql – PostgreSQL
Owly Ksym
я через crypt преобразую пароль и сохраняю, но пишу через фреймворк и он не совсем понимает
что за фреймворк?
источник

OK

Owly Ksym in pgsql – PostgreSQL
phalcone php
источник

Ю

Юрий in pgsql – PostgreSQL
Owly Ksym
я через crypt преобразую пароль и сохраняю, но пишу через фреймворк и он не совсем понимает
я такое делал ща
источник

Ю

Юрий in pgsql – PostgreSQL
CREATE OR REPLACE FUNCTION mcore.phash(
_pass text)
   RETURNS text
   LANGUAGE 'plpython3u'

   COST 100
   VOLATILE
AS $BODY$  
   from passlib.hash import sha256_crypt
   return sha256_crypt.encrypt(_pass)
$BODY$;

ALTER FUNCTION mcore.phash(text)
   OWNER TO postgres;
источник

Ю

Юрий in pgsql – PostgreSQL
CREATE OR REPLACE FUNCTION mcore.verify(
_pass text,
_hash text)
   RETURNS boolean
   LANGUAGE 'plpython3u'

   COST 100
   VOLATILE
AS $BODY$  
   from passlib.hash import sha256_crypt
   return sha256_crypt.verify(_pass,_hash)
$BODY$;

ALTER FUNCTION mcore.verify(text, text)
   OWNER TO postgres;
источник

AP

Anton Patsev in pgsql – PostgreSQL
источник

A

Alex in pgsql – PostgreSQL
Юрий
CREATE OR REPLACE FUNCTION mcore.verify(
_pass text,
_hash text)
   RETURNS boolean
   LANGUAGE 'plpython3u'

   COST 100
   VOLATILE
AS $BODY$  
   from passlib.hash import sha256_crypt
   return sha256_crypt.verify(_pass,_hash)
$BODY$;

ALTER FUNCTION mcore.verify(text, text)
   OWNER TO postgres;
оу… с использованием PL/Python и passlib неплохое решение
источник

Ю

Юрий in pgsql – PostgreSQL
чем плохое?
источник