# ERROR: function x(text) does not exist — No function matches the given name and argument types

**Code:** `42883 function` · **Category:** PostgreSQL · **Seen on:** PostgreSQL

PostgreSQL found no function with that name and argument types — wrong types, missing extension, or schema not in search_path.

## Meaning

Functions are overloaded by argument types. uuid_generate_v4() needs the uuid-ossp extension; MySQL functions (IFNULL, DATE_FORMAT) don’t exist in PostgreSQL.

## Common causes

- Extension not installed (uuid-ossp, pgcrypto, postgis)
- Argument types don’t match any overload
- MySQL function names (IFNULL, NOW() variants, DATE_FORMAT)
- Function in a schema not on search_path

## Quick fix

1. Install the extension: CREATE EXTENSION IF NOT EXISTS "uuid-ossp"
2. Cast arguments
3. Use PostgreSQL equivalents (COALESCE, to_char)
4. Use gen_random_uuid() (built-in since PG 13)

## Detailed fix by platform

### PostgreSQL

1. `SELECT gen_random_uuid();`

## How to diagnose

1. **Function** — Name and argument types
2. **Extension** — Installed in this database?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/postgresql/function-does-not-exist)
