Datagile
https://rostov.hh.ru/vacancy/50604131?hhtmFrom=resume
PostgreSQL developer
от 140 000 до 200 000 руб. на руки
Требуемый опыт работы: 1–3 года
Полная занятость, удаленная работа
Вам предстоит:
- Разработка и поддержка информационных систем (уровень БД) на PostgreSQL
- Работа над продуктами компании
Для нас важно:
- Опыт разработки на PostgreSQL (10 или выше) или Oracle (10g или выше) от 2-х лет
- Уверенное знание SQL, PLpg/SQL, PL/SQL
- Навыки оптимизации SQL-запросов, понимание механизма выполнения запросов
- Знания в области теории проектирования БД
Приветствуется:
- Знание и опыт разработки под Oracle
- Наличие сертификатов о курсах/сданных экзаменах по предметной области
- Опыт работы в команде, в т.ч. по методологии SCRUM
- Опыт администрирования указанных СУБД
- Опыт работы с pgAdmin, DBeaver, Navicat, PL/SQL Developer
Мы предлагаем:
- Официальное трудоустройство, белую зарплату
- Ежеквартальные премии
- Внешнее обучение за счет компании
- ДМС со стоматологией (+страховка путешественника)
- Удаленную работу вплоть до full time
- Компенсируем расходы на спорт и иностранные языки
- В пятницу мы работаем на час короче
- Метро под окнами (м.Кировский завод)
- Зону отдыха (кофе/чай, игры)
Тестовое задание
test_tasks.zip
Во вложении – Oracle-код, который предлагаем вам реализовать в PostgreSQL.
По заданиям:
https://github.com/orafce/orafce - функции Oracle для Postgres
https://postgrespro.ru/docs/postgresql/14/plpgsql-porting - 43.13. Портирование из Oracle PL/SQL
https://postgrespro.ru/docs/postgrespro/14/xfunc-volatility - 35.6. Категории изменчивости функций
https://postgrespro.ru/docs/postgresql/14/xproc - 38.4. Пользовательские процедуры
https://postgrespro.ru/docs/postgresql/14/xtypes - 38.13. Пользовательские типы
https://postgrespro.ru/docs/postgresql/14/plpgsql-trigger - 43.10. Триггерные функции
https://postgrespro.ru/docs/postgresql/14/rowtypes - 8.16. Составные типы
https://habr.com/ru/post/340566/ - Полезные скрипты при миграции из Oracle в PostgreSQL
https://itnan.ru/post.php?c=1&p=683764 - Миграция кода с Oracle на PostgreSQL: особенности и пути обхода, средства конвертации, вспомогательные модули
https://oracle-patches.com/db/sql/автономные-транзакции mht - Автономные транзакции на языке PL/SQL
https://habr.com/ru/post/335716/ - Сопоставление типов данных Oracle с PostgreSQL
https://tapoueh.org/blog/2013/10/postgresql-autonomous-transaction/ - PostgreSQL Autonomous Transaction (про PL/Proxy)
https://habr.com/ru/post/99645/ - Автономные транзакции в PostgreSQL (про dblink)
https://oracle-patches.com/db/sql/vyvod-dannyh-v-pl-sql-dbms_output-chtenie-i-zapis-v-bufer - Вывод данных в PL/SQL: DBMS_OUTPUT, чтение и запись в буфер
Functions and trigger procedures are always executed within a transaction established by an outer query — they cannot
start or commit that transaction, since there would be no context for them to execute in. However, a block containing
an EXCEPTION clause effectively forms a subtransaction that can be rolled back without affecting the outer transaction.
For more about that see Section Section 42.6.6.
МИГРАЦИЯ С ORACLE НА POSTGRESQL С ИСПОЛЬЗОВАНИЕМ АВТОМАТИЧЕСКОГО КОНВЕРТЕРА (про перенос типов)
МИГРАЦИЯ С ORACLE НА POSTGRESQL (про bulk collection)