faker

faker : Wrapper for the Faker Python library

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
3210
faker
faker
0.5.3
LANG
PostgreSQL
Python
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
See Also
plpython3u
pgtap
dbt2
jsonb_plpython3u
ltree_plpython3u
hstore_plpython3u
random
pg_tle

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
0.5.3
18
17
16
15
14
faker-
RPM
PGDG
0.5.3
18
17
16
15
14
postgresql_faker_$v-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
el8.aarch64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
el9.x86_64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
el9.aarch64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
el10.x86_64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
el10.aarch64
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
PGDG 0.5.3
d12.x86_64
MISS
MISS
MISS
MISS
MISS
d12.aarch64
MISS
MISS
MISS
MISS
MISS
d13.x86_64
MISS
MISS
MISS
MISS
MISS
d13.aarch64
MISS
MISS
MISS
MISS
MISS
u22.x86_64
MISS
MISS
MISS
MISS
MISS
u22.aarch64
MISS
MISS
MISS
MISS
MISS
u24.x86_64
MISS
MISS
MISS
MISS
MISS
u24.aarch64
MISS
MISS
MISS
MISS
MISS
PackageVersionOSORGSIZEFile URL
postgresql_faker_180.5.3el8.x86_64pgdg46.0 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel8.x86_64.rpm
postgresql_faker_180.5.3el8.aarch64pgdg46.1 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel8.aarch64.rpm
postgresql_faker_180.5.3el9.x86_64pgdg44.0 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel9.x86_64.rpm
postgresql_faker_180.5.3el9.aarch64pgdg43.8 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel9.aarch64.rpm
postgresql_faker_180.5.3el10.x86_64pgdg44.3 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel10.x86_64.rpm
postgresql_faker_180.5.3el10.aarch64pgdg44.5 KiBpostgresql_faker_18-0.5.3-7PGDG.rhel10.aarch64.rpm
PackageVersionOSORGSIZEFile URL
postgresql_faker_170.5.3el8.x86_64pgdg45.9 KiBpostgresql_faker_17-0.5.3-6PGDG.rhel8.x86_64.rpm
postgresql_faker_170.5.3el8.aarch64pgdg46.0 KiBpostgresql_faker_17-0.5.3-6PGDG.rhel8.aarch64.rpm
postgresql_faker_170.5.3el9.x86_64pgdg44.2 KiBpostgresql_faker_17-0.5.3-6PGDG.rhel9.x86_64.rpm
postgresql_faker_170.5.3el9.aarch64pgdg44.1 KiBpostgresql_faker_17-0.5.3-6PGDG.rhel9.aarch64.rpm
postgresql_faker_170.5.3el10.x86_64pgdg44.3 KiBpostgresql_faker_17-0.5.3-7PGDG.rhel10.x86_64.rpm
postgresql_faker_170.5.3el10.aarch64pgdg44.5 KiBpostgresql_faker_17-0.5.3-7PGDG.rhel10.aarch64.rpm
PackageVersionOSORGSIZEFile URL
postgresql_faker_160.5.3el8.x86_64pgdg45.4 KiBpostgresql_faker_16-0.5.3-3PGDG.rhel8.x86_64.rpm
postgresql_faker_160.5.3el8.aarch64pgdg45.6 KiBpostgresql_faker_16-0.5.3-3PGDG.rhel8.aarch64.rpm
postgresql_faker_160.5.3el9.x86_64pgdg44.1 KiBpostgresql_faker_16-0.5.3-3PGDG.rhel9.x86_64.rpm
postgresql_faker_160.5.3el9.aarch64pgdg44.1 KiBpostgresql_faker_16-0.5.3-3PGDG.rhel9.aarch64.rpm
postgresql_faker_160.5.3el10.x86_64pgdg44.3 KiBpostgresql_faker_16-0.5.3-7PGDG.rhel10.x86_64.rpm
postgresql_faker_160.5.3el10.aarch64pgdg44.5 KiBpostgresql_faker_16-0.5.3-7PGDG.rhel10.aarch64.rpm
PackageVersionOSORGSIZEFile URL
postgresql_faker_150.5.3el8.x86_64pgdg49.6 KiBpostgresql_faker_15-0.5.3-1.rhel8.x86_64.rpm
postgresql_faker_150.5.3el8.aarch64pgdg49.8 KiBpostgresql_faker_15-0.5.3-1.rhel8.aarch64.rpm
postgresql_faker_150.5.3el9.x86_64pgdg48.6 KiBpostgresql_faker_15-0.5.3-1.rhel9.x86_64.rpm
postgresql_faker_150.5.3el9.aarch64pgdg48.5 KiBpostgresql_faker_15-0.5.3-1.rhel9.aarch64.rpm
postgresql_faker_150.5.3el10.x86_64pgdg44.3 KiBpostgresql_faker_15-0.5.3-7PGDG.rhel10.x86_64.rpm
postgresql_faker_150.5.3el10.aarch64pgdg44.5 KiBpostgresql_faker_15-0.5.3-7PGDG.rhel10.aarch64.rpm
PackageVersionOSORGSIZEFile URL
postgresql_faker_140.5.3el8.x86_64pgdg49.9 KiBpostgresql_faker_14-0.5.3-1.rhel8.x86_64.rpm
postgresql_faker_140.4.0el8.x86_64pgdg37.7 KiBpostgresql_faker_14-0.4.0-1.rhel8.noarch.rpm
postgresql_faker_140.5.3el8.aarch64pgdg49.8 KiBpostgresql_faker_14-0.5.3-1.rhel8.aarch64.rpm
postgresql_faker_140.5.3el9.x86_64pgdg48.6 KiBpostgresql_faker_14-0.5.3-1.rhel9.x86_64.rpm
postgresql_faker_140.5.3el9.x86_64pgdg47.9 KiBpostgresql_faker_14-0.5.3-1.rhel9.noarch.rpm
postgresql_faker_140.5.3el9.aarch64pgdg48.5 KiBpostgresql_faker_14-0.5.3-1.rhel9.aarch64.rpm
postgresql_faker_140.5.3el10.x86_64pgdg44.3 KiBpostgresql_faker_14-0.5.3-7PGDG.rhel10.x86_64.rpm
postgresql_faker_140.5.3el10.aarch64pgdg44.5 KiBpostgresql_faker_14-0.5.3-7PGDG.rhel10.aarch64.rpm

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install faker;		# install via package name, for the active PG version

pig install faker -v 18;   # install for PG 18
pig install faker -v 17;   # install for PG 17
pig install faker -v 16;   # install for PG 16
pig install faker -v 15;   # install for PG 15
pig install faker -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION faker;

Usage

faker: Wrapper for the Faker Python library

faker is a PostgreSQL extension that wraps Python’s Faker library, providing functions to generate realistic fake data directly in SQL queries. It requires plpython3u.

CREATE EXTENSION faker;

Generate Fake Data

SELECT faker.name();           -- 'John Smith'
SELECT faker.first_name();     -- 'Jane'
SELECT faker.last_name();      -- 'Doe'
SELECT faker.email();          -- 'jane.doe@example.com'
SELECT faker.address();        -- '123 Main St, Anytown, US 12345'
SELECT faker.company();        -- 'Smith LLC'
SELECT faker.phone_number();   -- '(555) 123-4567'
SELECT faker.text();           -- random paragraph of text
SELECT faker.city();           -- 'Portland'
SELECT faker.country();        -- 'United States'

Note: faker.date() and faker.time() are not available because date and time are reserved PostgreSQL keywords. Use faker.date_between() or faker.date_this_century() instead.

Populate Tables with Fake Data

INSERT INTO users (name, email, address, created_at)
SELECT
  faker.name(),
  faker.email(),
  faker.address(),
  faker.date_this_century()::timestamp
FROM generate_series(1, 1000);

Localized Fake Data

Locale is set per session, not per function call:

SELECT faker.faker('de_DE');   -- set locale for this session
SELECT faker.name();           -- returns a German name
SELECT faker.address();        -- returns a German address

Unique Values

Use the unique_ prefix to guarantee unique values within a session:

SELECT faker.unique_name();
SELECT faker.unique_email();

Discover All Functions

SELECT faker._functions();     -- list all 500+ available functions

All faker functions return text. Cast explicitly for other types.

Common Faker Providers

FunctionDescription
faker.name()Full name
faker.first_name()First name
faker.last_name()Last name
faker.email()Email address
faker.company_email()Company email
faker.phone_number()Phone number
faker.address()Full address
faker.city()City name
faker.country()Country name
faker.company()Company name
faker.text()Random text
faker.date_this_century()Random date
faker.ssn()Social security number
faker.ean()EAN barcode
Last updated on