All Projects → geckoboard → Pgulid

geckoboard / Pgulid

Universally Unique Lexicographically Sortable Identifier (ULID) for PostgreSQL

Labels

Projects that are alternatives of or similar to Pgulid

Basketball Data Scraper
A scraping library that gets you basketball data for the NBA and WNBA
Stars: ✭ 13 (-76.79%)
Mutual labels:  plpgsql
Aquameta
Web development platform built entirely in PostgreSQL
Stars: ✭ 987 (+1662.5%)
Mutual labels:  plpgsql
Postgresql Functions
Custom PostgreSQL functions and extensions
Stars: ✭ 50 (-10.71%)
Mutual labels:  plpgsql
Sat Api Pg
A Postgres backed STAC API.
Stars: ✭ 20 (-64.29%)
Mutual labels:  plpgsql
Google Analytics Bigquery Data Export
Export Google Analytics data from BigQuery using Standard or Legacy SQL.
Stars: ✭ 34 (-39.29%)
Mutual labels:  plpgsql
Graphpostgresql
GraphQL for Postgres
Stars: ✭ 1,020 (+1721.43%)
Mutual labels:  plpgsql
Scidb4geo
A SciDB Plugin for Managing Spatial and Temporal Reference Information of Arrays
Stars: ✭ 8 (-85.71%)
Mutual labels:  plpgsql
Pg partman
Partition management extension for PostgreSQL
Stars: ✭ 1,085 (+1837.5%)
Mutual labels:  plpgsql
Mingyuyue
古诗词取名后台
Stars: ✭ 37 (-33.93%)
Mutual labels:  plpgsql
Postgres Full Text Search
Stars: ✭ 50 (-10.71%)
Mutual labels:  plpgsql
Globalregion
全球国家/地区下拉级联,包含中英文国际化,国家/省份(直辖市)/城市(区)/县
Stars: ✭ 28 (-50%)
Mutual labels:  plpgsql
Backend Interview Prep Questions
A few questions & data to help you prepare for the Slack HQ backend interview
Stars: ✭ 34 (-39.29%)
Mutual labels:  plpgsql
Pg Emoji
😍🐘 PostgreSQL emoji encode/decode extension
Stars: ✭ 48 (-14.29%)
Mutual labels:  plpgsql
Sqlgenerate
Generates SQL when given an AST from the Codeschool/sqlite-parser
Stars: ✭ 14 (-75%)
Mutual labels:  plpgsql
Fias2pgsql
Скрипты для импорта ФИАС в Postgresql
Stars: ✭ 54 (-3.57%)
Mutual labels:  plpgsql
Medrianchor
The (Me)tadata (Dr)iven (Anchor) Model
Stars: ✭ 9 (-83.93%)
Mutual labels:  plpgsql
Spring Batch Admin Backend
Spring Batch Admin 是一个后端采用spring boot 2, spring security , oauth2, Spring data jpa 作为基础框架,集成了quartz 提供调度能力,集成了Spring batch 提供批处理能力的管理系统。系统旨在提供更底层数据展示以及常见批处理的配置以及运行能力。
Stars: ✭ 41 (-26.79%)
Mutual labels:  plpgsql
Pgformatter
A PostgreSQL SQL syntax beautifier that can work as a console program or as a CGI. On-line demo site at http://sqlformat.darold.net/
Stars: ✭ 1,085 (+1837.5%)
Mutual labels:  plpgsql
Ms Sql Server Group Concat Sqlclr
SQL Server CLR user-defined aggregates that collectively offer similar functionality to the MySQL GROUP_CONCAT function. Specialized functions ensure the best performance based on required functionality. Aggregates implemented using C#; requires .NET Framework 3.5.
Stars: ✭ 54 (-3.57%)
Mutual labels:  plpgsql
Pgsql Tweaks
Contains PostgreSQL functions which I regularly needed.
Stars: ✭ 48 (-14.29%)
Mutual labels:  plpgsql

Universally Unique Lexicographically Sortable Identifier

A PostgreSQL (pgcrypto) implementation of alizain/ulid based on OK Log's Go port.

Background

A GUID/UUID can be suboptimal for many use-cases because:

  • It isn't the most character efficient way of encoding 128 bits
  • UUID v1/v2 is impractical in many environments, as it requires access to a unique, stable MAC address
  • UUID v3/v5 requires a unique seed and produces randomly distributed IDs, which can cause fragmentation in many data structures
  • UUID v4 provides no other information than randomness which can cause fragmentation in many data structures

A ULID however:

  • Is compatible with UUID/GUID's
  • 1.21e+24 unique ULIDs per millisecond (1,208,925,819,614,629,174,706,176 to be exact)
  • Lexicographically sortable
  • Canonically encoded as a 26 character string, as opposed to the 36 character UUID
  • Uses Crockford's base32 for better efficiency and readability (5 bits per character)
  • Case insensitive
  • No special characters (URL safe)
  • Monotonic sort order (correctly detects and handles the same millisecond)

Usage

SELECT generate_ulid(); -- Output: 01D45VGTV648329YZFE7HYVGWC

Specification

Below is the current specification of ULID as implemented in this repository.

Components

Timestamp

  • 48 bits
  • UNIX-time in milliseconds
  • Won't run out of space till the year 10895 AD

Entropy

  • 80 bits

String Representation

 01AN4Z07BY      79KA1307SR9X4MV3
|----------|    |----------------|
 Timestamp           Entropy
  10 chars           16 chars
   48bits             80bits
   base32             base32
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].