Aqui está uma maneira genérica de transformar esta consulta de atualização do formulário do servidor SQL para o PostgreSQL:
UPDATE Users
SET bUsrActive = false
WHERE
ctid IN (
SELECT u.ctid FROM Users u
LEFT JOIN Users u2 ON u.sUsrClientCode = u2.sUsrClientCode AND u2.bUsrAdmin = 1 AND u2.bUsrActive = 1
WHERE u.bUsrAdmin = 0 AND u.bUsrActive = 1 AND u2.nkUsr IS NULL
)
ctid é uma pseudocoluna que aponta para a localização única de uma linha. Você poderia usar a chave primária da tabela se ela tivesse uma.
A consulta nº 2 da pergunta não faz o que você espera porque a tabela atualizada
Users
nunca é associado à mesma tabela Users u
na cláusula FROM. Assim como quando você coloca um nome de tabela duas vezes em uma cláusula FROM, eles não são unidos ou vinculados implicitamente, eles são considerados como dois conjuntos independentes de linhas.