every single query in postrgresql runs as a transaction, on top of it, some are atomic, like when you use RETURNING statement. This is because postgresql doesn't actually have to select these rows as separate query.
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных