---
title: "PostgreSQL specific database functions"
version: 2.1
locale: es
source: https://docs.djangoproject.com/es/2.1/ref/contrib/postgres/functions/
canonical: https://djangodocs.dev/es/2.1/ref/contrib/postgres/functions/
---
# PostgreSQL specific database functions

All of these functions are available from the
`django.contrib.postgres.functions` module.

## `RandomUUID`

#### `class RandomUUID`

> **New in Django 2.0**

Returns a version 4 UUID.

The [pgcrypto extension](https://www.postgresql.org/docs/current/static/pgcrypto.html) must be installed. You can use the
[`CryptoExtension`](/es/2.1/ref/contrib/postgres/operations/#django.contrib.postgres.operations.CryptoExtension) migration
operation to install it.

Usage example:

```
>>> from django.contrib.postgres.functions import RandomUUID
>>> Article.objects.update(uuid=RandomUUID())
```

## `TransactionNow`

#### `class TransactionNow`

Returns the date and time on the database server that the current transaction
started. If you are not in a transaction it will return the date and time of
the current statement. This is a complement to
[`django.db.models.functions.Now`](/es/2.1/ref/models/database-functions/#django.db.models.functions.Now), which returns the date and time of the
current statement.

Note that only the outermost call to [`atomic()`](/es/2.1/topics/db/transactions/#django.db.transaction.atomic)
sets up a transaction and thus sets the time that `TransactionNow()` will
return; nested calls create savepoints which do not affect the transaction
time.

Usage example:

```
>>> from django.contrib.postgres.functions import TransactionNow
>>> Article.objects.filter(published__lte=TransactionNow())
<QuerySet [<Article: How to Django>]>
```
