2015-02-13 8 views
0

У меня есть список адресов электронной почты, которые я хотел бы создать таблицу и назначить идентификаторы, чтобы защитить фактического пользователя. Какой самый простой способ сделать это в postgresql?Postgresql - создать анонимный идентификатор

Что я сейчас:

 email   last_contact 
[email protected]  20140101 
[email protected]   20140606 
[email protected]   20140708 
    ...     ... 

Я хотел бы получить что-то вроде:

 email   anon_id 
[email protected]  abc123 
[email protected]   abc124 
[email protected]   abc125 
    ...     ... 

ответ

0

Используйте расширение uuid-ossp для генерации UUID, как так. (Я предположил, что вы хотите, чтобы они были случайным образом, а не из Sequence, который не является буквенно-цифровой)

CREATE EXTENSION "uuid-ossp"; 
select uuid_generate_v4(); 

Следуйте за этим с select intoquery с колоннами, которые требуются для новой таблицы и генерировать UUID динамически ,

0

Вы можете использовать это для создания такого результата.

select email, 
     'abc'||to_char(row_number() over(), 'FM0000') as anon_id 
from users; 

Вы можете либо сохранить это в таблице сопоставлений, либо обновить новый столбец в исходной таблице.

Смежные вопросы