The uuid-ossp extension provides functions for generating Universally Unique Identifiers (UUIDs) in PostgreSQL.
Your Nile database arrives with the uuid-ossp extension already enabled.
The uuid-ossp extension provides several functions for generating UUIDs according to different standards:
Version 1: Time-based UUIDs
Version 3: Namespace and name-based UUIDs using MD5
Version 4: Random UUIDs
Version 5: Namespace and name-based UUIDs using SHA-1
Nile includes public.uuid_generate_v7() which generates UUIDs with
time-ordered lexicographically sortable strings. It is recommended to use this
function for fields that are used in sorting and indexing.
uuid_generate_v1() creates a UUID based on the current timestamp and MAC address:
-- Generate a time-based UUIDSELECT uuid_generate_v1();-- Also available: uuid_generate_v1mc()-- Similar to v1 but uses a random multicast MAC addressSELECT uuid_generate_v1mc();
uuid_generate_v3() creates a UUID based on a namespace and name using MD5:
-- Generate a UUID from namespace and name using MD5SELECT uuid_generate_v3( 'a0eebc99-9c0b-1ef8-b1ff-826046d7f000'::uuid, -- namespace 'example.com' -- name);-- Common namespace UUIDsSELECT uuid_generate_v3(uuid_ns_dns(), 'example.com'); -- DNS namespaceSELECT uuid_generate_v3(uuid_ns_url(), 'http://example.com'); -- URL namespaceSELECT uuid_generate_v3(uuid_ns_oid(), '1.2.3.4'); -- OID namespaceSELECT uuid_generate_v3(uuid_ns_x500(), 'CN=Example'); -- X500 namespace
uuid_generate_v5() creates a UUID based on a namespace and name using SHA-1:
-- Generate a UUID from namespace and name using SHA-1SELECT uuid_generate_v5( 'a0eebc99-9c0b-1ef8-b1ff-826046d7f000'::uuid, -- namespace 'example.com' -- name);-- Common namespace UUIDsSELECT uuid_generate_v5(uuid_ns_dns(), 'example.com'); -- DNS namespaceSELECT uuid_generate_v5(uuid_ns_url(), 'http://example.com'); -- URL namespaceSELECT uuid_generate_v5(uuid_ns_oid(), '1.2.3.4'); -- OID namespaceSELECT uuid_generate_v5(uuid_ns_x500(), 'CN=Example'); -- X500 namespace
-- Generate consistent UUIDs for the same inputCREATE TABLE products ( tenant_id uuid, product_id uuid, sku text, name text, PRIMARY KEY (tenant_id, product_id));-- Insert with deterministic UUID based on SKU-- If you run this multiple times, you'll get duplicate key errorINSERT INTO products (tenant_id, product_id, sku, name) VALUES ('11111111-1111-1111-1111-111111111111', uuid_generate_v5(uuid_ns_url(), 'SKU123'), 'SKU123', 'Product Name') returning product_id;
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nile Documentation","colors":{"primary":"#fdb768","light":"#fdb768","dark":"#fdb768"},"logo":{"light":"https://mintcdn.com/nile/SZ6JYQiPYP1_QgSP/images/nilemintlogo.svg?fit=max\u0026auto=format\u0026n=SZ6JYQiPYP1_QgSP\u0026q=85\u0026s=3303eacc9118937fc5b967ee98a24024","dark":"https://mintcdn.com/nile/SZ6JYQiPYP1_QgSP/images/nilemintlogo.svg?fit=max\u0026auto=format\u0026n=SZ6JYQiPYP1_QgSP\u0026q=85\u0026s=3303eacc9118937fc5b967ee98a24024","href":"https://www.thenile.dev"},"favicon":"https://mintcdn.com/nile/CzaL00MoWjPpKNw_/images/favicon.svg?fit=max\u0026auto=format\u0026n=CzaL00MoWjPpKNw_\u0026q=85\u0026s=5c01c6ff6f635b2a4799d56abab1a71a","appearance":{"default":"dark","strict":true},"navbar":{"links":[{"href":"https://discord.com/invite/8UuBB84tTy","label":"Community"}],"primary":{"type":"button","label":"Get Started","href":"https://console.thenile.dev"}},"footer":{"socials":{"x":"https://x.com/niledatabase","github":"https://github.com/niledatabase/niledatabase","linkedin":"https://www.linkedin.com/company/niledatabase","discord":"https://discord.com/invite/8UuBB84tTy"},"links":[{"header":"Resources","items":[{"label":"Blog","href":"https://www.thenile.dev/blog"},{"label":"Pricing","href":"https://www.thenile.dev/pricing"},{"label":"Templates","href":"https://www.thenile.dev/templates"},{"label":"Community","href":"https://www.thenile.dev/community"}]},{"header":"Company","items":[{"label":"Careers","href":"https://www.thenile.dev/about-us"},{"label":"About","href":"https://www.thenile.dev/about-us"}]},{"header":"Support","items":[{"label":"Contact Sales","href":"https://www.thenile.dev/contact-us"},{"label":"Get Help","href":"https://www.thenile.dev/contact-us"},{"label":"FAQ","href":"https://www.thenile.dev/pricing"}]}]},"seo":{"metatags":{"og:image":"https://www.thenile.dev/opengraph/docs.jpg"},"indexing":"navigable"},"integrations":{"ga4":{"measurementId":"G-KE7812B4ZF"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nile","hasAudioNarration":false,"actualSubdomain":"nile","customDomains":["thenile.dev"],"gitSource":{"type":"github","owner":"niledatabase","repo":"niledatabase","deployBranch":"main","contentDirectory":"www/app/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a9cbf6e7168debd2fad7286","collectionId":"92cf1a7a-4366-49ff-a155-84808e6665bd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a9cbf6e7168debd2fad7286"},"feedback":{"thumbs":true,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a9cbf6e7168debd2fad7286","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Postgres","count":93},{"language":"default","tag":"Auth","count":68},{"language":"default","tag":"Nile Auth","count":61},{"language":"default","tag":"ManagementAPI","count":40},{"language":"default","tag":"Extensions","count":37},{"language":"default","tag":"Get Started","count":37},{"language":"default","tag":"Auth API","count":33},{"language":"default","tag":"Platform","count":24},{"language":"default","tag":"databases","count":20},{"language":"default","tag":"Usecases","count":18}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"extensions/uuid-ossp","slug":"/extensions/uuid-ossp","pageMetadata":{"title":"UUID-OSSP","description":"UUID generation functions for PostgreSQL","icon":"fingerprint","href":"/extensions/uuid-ossp"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"UUID generation functions for PostgreSQL\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`uuid-ossp`}),` extension provides functions for generating Universally Unique Identifiers (UUIDs) in PostgreSQL.\nYour Nile database arrives with the uuid-ossp extension already enabled.`]}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`The uuid-ossp extension provides several functions for generating UUIDs according to different standards:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Version 1: Time-based UUIDs`}),`\n`,_jsx(_components.li,{children:`Version 3: Namespace and name-based UUIDs using MD5`}),`\n`,_jsx(_components.li,{children:`Version 4: Random UUIDs`}),`\n`,_jsx(_components.li,{children:`Version 5: Namespace and name-based UUIDs using SHA-1`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Nile includes `,_jsx(_components.code,{children:`public.uuid_generate_v7()`}),` which generates UUIDs with\ntime-ordered lexicographically sortable strings. It is recommended to use this\nfunction for fields that are used in sorting and indexing.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`uuid-generation-functions`,children:`UUID Generation Functions`}),`\n`,_jsx(Heading,{level:`3`,id:`uuid-version-4-random`,children:`UUID Version 4 (Random)`}),`\n`,_jsxs(_components.p,{children:[`The most commonly used function is `,_jsx(_components.code,{children:`uuid_generate_v4()`}),`, which generates a random UUID:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Generate a random UUID`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v4();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Result: 123e4567-e89b-12d3-a456-426614174000 (example)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Use in a table`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` documents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tenant_id uuid,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` document_id uuid `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`DEFAULT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v4(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` title `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` content `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` PRIMARY KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (tenant_id, document_id)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Insert with auto-generated UUID`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`INSERT INTO`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` documents (tenant_id, title, content) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`VALUES`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'11111111-1111-1111-1111-111111111111'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'My Document'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content here'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) returning document_id;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`uuid-version-1-time-based`,children:`UUID Version 1 (Time-based)`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`uuid_generate_v1()`}),` creates a UUID based on the current timestamp and MAC address:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Generate a time-based UUID`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v1();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Also available: uuid_generate_v1mc()`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Similar to v1 but uses a random multicast MAC address`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v1mc();`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`uuid-version-3-name-based-md5`,children:`UUID Version 3 (Name-based, MD5)`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`uuid_generate_v3()`}),` creates a UUID based on a namespace and name using MD5:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Generate a UUID from namespace and name using MD5`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v3(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'a0eebc99-9c0b-1ef8-b1ff-826046d7f000'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::uuid, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'example.com'`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` -- name`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Common namespace UUIDs`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v3(uuid_ns_dns(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- DNS namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v3(uuid_ns_url(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'http://example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- URL namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v3(uuid_ns_oid(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'1.2.3.4'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- OID namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v3(uuid_ns_x500(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'CN=Example'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- X500 namespace`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`uuid-version-5-name-based-sha-1`,children:`UUID Version 5 (Name-based, SHA-1)`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`uuid_generate_v5()`}),` creates a UUID based on a namespace and name using SHA-1:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Generate a UUID from namespace and name using SHA-1`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'a0eebc99-9c0b-1ef8-b1ff-826046d7f000'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::uuid, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'example.com'`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` -- name`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Common namespace UUIDs`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(uuid_ns_dns(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- DNS namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(uuid_ns_url(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'http://example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- URL namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(uuid_ns_oid(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'1.2.3.4'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- OID namespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(uuid_ns_x500(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'CN=Example'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- X500 namespace`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`common-use-cases`,children:`Common Use Cases`}),`\n`,_jsx(Heading,{level:`3`,id:`primary-keys`,children:`Primary Keys`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Using UUID as primary key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` contacts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tenant_id uuid,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` contact_id uuid `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`DEFAULT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v4(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` email `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` PRIMARY KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (tenant_id, contact_id)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Insert with auto-generated UUID`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`INSERT INTO`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` contacts (tenant_id, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, email) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`VALUES`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'11111111-1111-1111-1111-111111111111'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'john_doe'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'john@example.com'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) returning contact_id;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`deterministic-ids`,children:`Deterministic IDs`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Generate consistent UUIDs for the same input`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TABLE`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` products`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tenant_id uuid,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` product_id uuid,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sku `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` PRIMARY KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (tenant_id, product_id)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Insert with deterministic UUID based on SKU`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- If you run this multiple times, you'll get duplicate key error`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`INSERT INTO`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` products (tenant_id, product_id, sku, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`VALUES`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'11111111-1111-1111-1111-111111111111'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` uuid_generate_v5(uuid_ns_url(), `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'SKU123'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'SKU123'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Product Name'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) returning product_id;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`additional-resources`,children:`Additional Resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.postgresql.org/docs/current/uuid-ossp.html`,children:`PostgreSQL UUID Documentation`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.rfc-editor.org/rfc/rfc9562.html`,children:`UUID RFC 9562`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"UUID-OSSP","description":"UUID generation functions for PostgreSQL","icon":"fingerprint","href":"/extensions/uuid-ossp"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"UUID Generation Functions","slug":"uuid-generation-functions","depth":2,"children":[{"title":"UUID Version 4 (Random)","slug":"uuid-version-4-random","depth":3,"children":[]},{"title":"UUID Version 1 (Time-based)","slug":"uuid-version-1-time-based","depth":3,"children":[]},{"title":"UUID Version 3 (Name-based, MD5)","slug":"uuid-version-3-name-based-md5","depth":3,"children":[]},{"title":"UUID Version 5 (Name-based, SHA-1)","slug":"uuid-version-5-name-based-sha-1","depth":3,"children":[]}]},{"title":"Common Use Cases","slug":"common-use-cases","depth":2,"children":[{"title":"Primary Keys","slug":"primary-keys","depth":3,"children":[]},{"title":"Deterministic IDs","slug":"deterministic-ids","depth":3,"children":[]}]},{"title":"Additional Resources","slug":"additional-resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"nile","siteName":"Nile Documentation","title":"UUID-OSSP - Nile Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-12-08T20:52:59.734Z","originalFileLocation":"extensions/uuid-ossp.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"UUID generation functions for PostgreSQL\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nile Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"UUID-OSSP - Nile Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"UUID generation functions for PostgreSQL\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nile Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://thenile.dev/docs/extensions/uuid-ossp\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://www.thenile.dev/opengraph/docs.jpg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"UUID-OSSP - Nile Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"UUID generation functions for PostgreSQL\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://www.thenile.dev/opengraph/docs.jpg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/nile/GO7FOq6RcmxStYK0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nile Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fdb768\">\u003clink data-mint-head rel=\"canonical\" href=\"https://thenile.dev/docs/extensions/uuid-ossp\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/extensions/uuid-ossp.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://thenile.dev/#organization\",\"name\":\"Nile Documentation\",\"url\":\"https://thenile.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nile/SZ6JYQiPYP1_QgSP/images/nilemintlogo.svg?fit=max\u0026auto=format\u0026n=SZ6JYQiPYP1_QgSP\u0026q=85\u0026s=3303eacc9118937fc5b967ee98a24024\"}},{\"@type\":\"WebSite\",\"@id\":\"https://thenile.dev/docs#website\",\"name\":\"Nile Documentation\",\"url\":\"https://thenile.dev/docs\",\"publisher\":{\"@id\":\"https://thenile.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://thenile.dev/docs/extensions/uuid-ossp#webpage\",\"url\":\"https://thenile.dev/docs/extensions/uuid-ossp\",\"name\":\"UUID-OSSP\",\"description\":\"UUID generation functions for PostgreSQL\",\"dateModified\":\"2025-12-08T20:52:59.734Z\",\"isPartOf\":{\"@id\":\"https://thenile.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://thenile.dev/docs/extensions/uuid-ossp#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://thenile.dev/docs/extensions/uuid-ossp#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Extensions\",\"item\":\"https://thenile.dev/docs/extensions/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UUID-OSSP\",\"item\":\"https://thenile.dev/docs/extensions/uuid-ossp\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://thenile.dev/docs/extensions/uuid-ossp#article\",\"headline\":\"UUID-OSSP\",\"name\":\"UUID-OSSP\",\"description\":\"UUID generation functions for PostgreSQL\",\"url\":\"https://thenile.dev/docs/extensions/uuid-ossp\",\"mainEntityOfPage\":{\"@id\":\"https://thenile.dev/docs/extensions/uuid-ossp#webpage\"},\"image\":\"https://www.thenile.dev/opengraph/docs.jpg\",\"dateModified\":\"2025-12-08T20:52:59.734Z\",\"publisher\":{\"@id\":\"https://thenile.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://thenile.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nile Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nile Documentation","nav":{"global":null,"tabs":[{"tab":"Postgres","groups":[{"group":"Get Started","pages":[{"title":"Introduction","sidebarTitle":"Introduction","icon":"rocket","href":"/getting-started/getting-started"},{"group":"Languages","icon":"code","pages":[{"title":"Explore Nile in 5 minutes with PSQL","sidebarTitle":"SQL","href":"/getting-started/languages/sql"},{"title":"Build a B2B Application with Postgres and NextJS","sidebarTitle":"NextJS","href":"/getting-started/languages/nextjs"},{"title":"Build AI-Native B2B application with Postgres and Drizzle ORM","sidebarTitle":"Drizzle","href":"/getting-started/languages/drizzle"},{"title":"Build AI-Native B2B application with Postgres and Prisma","sidebarTitle":"Prisma","href":"/getting-started/languages/prisma"},{"title":"Build AI-Native B2B application with Postgres and Python","sidebarTitle":"Python","href":"/getting-started/languages/python"},{"title":"Build AI-Native B2B application with Postgres, NodeJS and React","sidebarTitle":"Node","href":"/getting-started/languages/node"}]},{"title":"What is Nile","sidebarTitle":"What is Nile","icon":"question","href":"/getting-started/whatisnile"},{"group":"Usecases","icon":"folder","pages":[{"title":"SmartBooks AI - Your Intelligent Accounting Partner","sidebarTitle":"SmartBooks AI","href":"/getting-started/usecases/accounts"},{"title":"SmartSpend AI - Set teams free from manual expenses","sidebarTitle":"SmartSpend AI","href":"/getting-started/usecases/expensify"},{"title":"Feedback360 AI - 360-Degree Feedback, Perfected with AI","sidebarTitle":"Feedback360 AI","href":"/getting-started/usecases/feedback"},{"title":"HealthPilot - Enhancing Patient Care with Intelligent Assistance","sidebarTitle":"HealthPilot","href":"/getting-started/usecases/health"},{"title":"RecruitAI - Smarter Hiring, Powered by AI","sidebarTitle":"RecruitAI","href":"/getting-started/usecases/hiring"},{"title":"HRIntelli - Magically Simplifying HR with AI","sidebarTitle":"HRIntelli","href":"/getting-started/usecases/hr"},{"title":"TaskPilot AI - Your AI-Driven Guide to Seamless Task Management","sidebarTitle":"TaskPilot AI","href":"/getting-started/usecases/issue-tracking"},{"title":"SalesLeadPilot - AI-Driven Guidance for Superior Lead Management","sidebarTitle":"SalesLeadPilot","href":"/getting-started/usecases/lead-management"},{"title":"LawPilot AI - AI That Thinks Like a Lawyer","sidebarTitle":"LawPilot","href":"/getting-started/usecases/legal"},{"title":"SmartCampaign AI - Your AI-Driven Marketing Ally","sidebarTitle":"SmartCampaign AI","href":"/getting-started/usecases/marketing"},{"title":"SmartNotion AI - Crafting Organized Thoughts with Artificial Intelligence","sidebarTitle":"SmartNotion AI","href":"/getting-started/usecases/notion"},{"title":"OnboardIQ - Transform Customer Onboarding with Insightful AI","sidebarTitle":"OnboardIQ","href":"/getting-started/usecases/onboarding"},{"title":"CalendIQ - Intelligent Calendar Management for Busy Lives","sidebarTitle":"CalendIQ","href":"/getting-started/usecases/scheduler"},{"title":"SmartLearn: AI Intelligence for the Modern Classroom","sidebarTitle":"SmartLearn","href":"/getting-started/usecases/schoology"},{"title":"Slack++ - Built with AI to power work","sidebarTitle":"Slack++","href":"/getting-started/usecases/slack"},{"title":"SupplyAI - AI-Powered Efficiency for Your Supply Chain","sidebarTitle":"SupplyAI","href":"/getting-started/usecases/supply"},{"title":"CustomerDesk AI - AI-Powered Efficiency for Your Supply Chain","sidebarTitle":"CustomerDesk AI","href":"/getting-started/usecases/support"},{"title":"AITravelMate - your business trips managed by AI","sidebarTitle":"AITravelMate","href":"/getting-started/usecases/tripactions"}]},{"group":"Examples","icon":"lightbulb","pages":[{"title":"KnowledgeAI - PDF search assistant for your organization","sidebarTitle":"KnowledgeAI","href":"/getting-started/examples/chat_with_pdf"},{"title":"Autonomous Code Assistant - Code more, type less","sidebarTitle":"Code Assistant","href":"/getting-started/examples/code_assistant"},{"title":"Sales Insight - AI-native, multi-tenant enterprise sales assistant","sidebarTitle":"Sales Insight","href":"/getting-started/examples/sales_insight"},{"title":"Task Genius - AI-native, multi-tenant enterprise task manager","sidebarTitle":"Task Genius","href":"/getting-started/examples/task_genius"}]},{"title":"Getting started with Nile's Postgres platform locally with Docker","sidebarTitle":"Run Locally","icon":"docker","href":"/getting-started/postgres_docker"},{"group":"Schema Migrations","icon":"diagram-project","pages":[{"title":"Alembic","sidebarTitle":"Alembic","href":"/getting-started/schema_migrations/alembic"},{"title":"Schema Migrations with Django","sidebarTitle":"Django","href":"/getting-started/schema_migrations/django"},{"title":"Schema Migrations with Drizzle","sidebarTitle":"Drizzle","href":"/getting-started/schema_migrations/drizzle"},{"title":"Prisma","sidebarTitle":"Prisma","href":"/getting-started/schema_migrations/prisma"}]},{"title":"Architecture of Nile Postgres","sidebarTitle":"Architecture","icon":"wrench","href":"/getting-started/architecture"},{"title":"Integration testing with Nile's Postgres platform using Docker","sidebarTitle":"Testing","icon":"vials","href":"/getting-started/postgres_testing"}]},{"group":"Tenant Virtualization","pages":[{"title":"Tenant Virtualization","sidebarTitle":"Introduction","icon":"hand-wave","href":"/tenant-virtualization/introduction"},{"title":"Tenant Isolation","sidebarTitle":"Tenant Isolation","icon":"people-arrows","href":"/tenant-virtualization/tenant-isolation"},{"title":"Tenant Management","sidebarTitle":"Tenant Management","icon":"people-roof","href":"/tenant-virtualization/tenant-management"},{"title":"Tenant Placement","sidebarTitle":"Tenant Placement","icon":"location-dot","href":"/tenant-virtualization/tenant-placement"},{"title":"Tenant Sharing","sidebarTitle":"Tenant Sharing","icon":"share-nodes","href":"/tenant-virtualization/tenant-sharing"}]},{"group":"Postgres Concepts","pages":[{"title":"Introduction to Postgres","sidebarTitle":"Introduction","icon":"elephant","href":"/postgres/introduction"},{"title":"Creating a table in Postgres","sidebarTitle":"Create Table","icon":"table","href":"/postgres/createtable"},{"group":"Data Types","icon":"comment-text","pages":[{"title":"Numeric types in Postgres","sidebarTitle":"Numeric","href":"/postgres/datatype/numeric"},{"title":"Character types in Postgres","sidebarTitle":"Character","href":"/postgres/datatype/character"},{"title":"Date and Time Types in Postgres","sidebarTitle":"Date and Time","href":"/postgres/datatype/date"},{"title":"JSON in Postgres","sidebarTitle":"JSON","href":"/postgres/datatype/json"},{"title":"Array types in Postgres","sidebarTitle":"Arrays","href":"/postgres/datatype/arrays"}]},{"title":"Indexes in Postgres","sidebarTitle":"Indexes","icon":"address-book","href":"/postgres/indexes"},{"title":"Joins in Postgres","sidebarTitle":"Joins","icon":"diagram-venn","href":"/postgres/joins"},{"title":"Views in Postgres","sidebarTitle":"Views","icon":"eye","href":"/postgres/views"},{"group":"Tools","icon":"screwdriver-wrench","pages":[{"title":"Connecting to Postgres using DBeaver","sidebarTitle":"DBeaver","href":"/postgres/tools/dbeaver"},{"title":"Connecting to Postgres using PgAdmin","sidebarTitle":"PgAdmin","href":"/postgres/tools/pgadmin"},{"title":"Connecting to Postgres using PSQL","sidebarTitle":"PSQL","href":"/postgres/tools/psql"}]},{"title":"Postgres Compatibility","sidebarTitle":"Compatibility","icon":"equals","href":"/postgres/postgres-compatibility"}]},{"group":"Extensions","pages":[{"title":"Introduction","icon":"plug-circle-plus","href":"/extensions/introduction"},{"title":"Pgvector","icon":"vector-square","href":"/extensions/vector"},{"title":"PostGIS","description":"Spatial and Geographic Objects for PostgreSQL","icon":"earth-americas","href":"/extensions/postgis"},{"title":"UUID-OSSP","icon":"fingerprint","href":"/extensions/uuid-ossp"},{"title":"Crypto","description":"Cryptographic functions for PostgreSQL","icon":"lock","href":"/extensions/pgcrypto"},{"group":"Search and Indexing","icon":"magnifying-glass","pages":[{"title":"Bloom","href":"/extensions/bloom"},{"title":"Btree_gin","href":"/extensions/btree_gin"},{"title":"Btree_gist","href":"/extensions/btree_gist"},{"title":"Citext","href":"/extensions/citext"},{"title":"Fuzzystrmatch","href":"/extensions/fuzzystrmatch"},{"title":"Pgvectorscale","href":"/extensions/pgvectorscale"},{"title":"pg_bigm","href":"/extensions/pg_bigm"},{"title":"pg_similarity","href":"/extensions/pg_similarity"},{"title":"pg_trgm","href":"/extensions/pg_trgm"},{"title":"Prefix","href":"/extensions/prefix"}]},{"group":"Statistical and Analytical","icon":"chart-line","pages":[{"title":"Cube","href":"/extensions/cube"},{"title":"Earthdistance","href":"/extensions/earthdistance"},{"title":"Financial","href":"/extensions/financial"},{"title":"HLL","href":"/extensions/hll"},{"title":"Intagg","href":"/extensions/intagg"},{"title":"Intarray","href":"/extensions/intarray"},{"title":"Quantile","href":"/extensions/quantile"},{"title":"Random","href":"/extensions/random"},{"title":"Tablefunc","href":"/extensions/tablefunc"},{"title":"Xicor","href":"/extensions/xicor"}]},{"group":"Data Types and Storage","icon":"comment-text","pages":[{"title":"Emailaddr","href":"/extensions/emailaddr"},{"title":"Hstore","href":"/extensions/hstore"},{"title":"IP4R","href":"/extensions/ip4r"},{"title":"ISN","href":"/extensions/isn"},{"title":"ltree","href":"/extensions/ltree"},{"title":"RDKit","href":"/extensions/rdkit"},{"title":"Seg","href":"/extensions/seg"},{"title":"Unit","href":"/extensions/unit"}]},{"group":"Geospatial","icon":"map","pages":[{"title":"H3","href":"/extensions/h3"},{"title":"H3_postgis","href":"/extensions/h3_postgis"},{"title":"pgRouting","href":"/extensions/pgrouting"},{"title":"PostGIS Raster","href":"/extensions/postgis_raster"}]}]}]},{"tab":"Auth","pages":[{"title":"Auth","href":"/auth/introduction"}]},{"tab":"AI","pages":[{"title":"AI","href":"/ai-embeddings/introduction"}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/cli/introduction"}]},{"tab":"ManagementAPI","pages":[{"title":"ManagementAPI","href":"/api-reference/databases/list-dedicated-compute-instances-for-a-database"}]},{"tab":"Auth API","pages":[{"title":"Auth API","href":"/auth/api-reference/auth/sign-in-to-the-application"}]},{"tab":"Pricing","href":"https://www.thenile.dev/pricing"},{"tab":"Templates","href":"https://www.thenile.dev/templates"},{"tab":"Discord","href":"https://discord.com/invite/8UuBB84tTy"}]},"basePath":"","title":"UUID-OSSP - Nile Documentation","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":[],"chunks":[]}