O PostgreSQL fornece um rico conjunto de ferramentas para desenvolvedores gerenciarem o acesso concorrente aos dados. Internamente, a consistência dos dados é mantida usando um modelo multiversão (Controle de concorrência multiversão, MVCC), significando que cada instrução SQL vê um instantâneo dos dados (uma versão do banco de dados) como era há algum tempo, independentemente do estado corrente dos dados subjacentes. Isto evita que as instruções exibam dados inconsistentes produzidos por transações concorrentes realizando atualizações nas mesmas linhas de dados, fornecendo isolamento de transação para cada sessão do banco de dados. O MVCC, ao evitar as metodologias de bloqueio de sistemas de banco de dados tradicionais, minimiza a contenção de bloqueio para permitir um desempenho razoável em ambientes multiusuário.
A principal vantagem de usar o modelo de controle de concorrência MVCC em vez de bloqueio, é que no MVCC os bloqueios adquiridos para consulta (leitura) de dados não entram em conflito com bloqueios adquiridos para escrita de dados, e assim a leitura nunca bloqueia a escrita, e a escrita nunca bloqueia a leitura. O PostgreSQL mantém esta garantia, mesmo ao fornecer o nível mais estrito de isolamento de transações, por meio do uso de um nível inovador de isolamento de instantâneo serializável (Serializable Snapshot Isolation - SSI).
Os recursos de bloqueio no nível de tabela e de linha também estão disponíveis no PostgreSQL para aplicações que geralmente não precisam de isolamento total das transações, e preferem gerenciar explicitamente pontos de conflito específicos. Entretanto, o uso adequado do MVCC geralmente fornece melhor desempenho que bloqueios. Além disto, os bloqueios consultivos definidos pela aplicação fornecem um mecanismo para obter bloqueios que não estão vinculados a uma única transação.