Using PostgreSQL to Generate Slugs

Slugs are useful for generating friendly identifiers for resources. For example, Yelp will generate the slug kimball-house-decatur for the restaurant Kimball House in Decatur, GA. By having a friendly slug in the URL, it makes it easier for me to find the Yelp listing when I search the web for this delicious restaurant.

We decided to use PostgreSQL to create a slugify function that we can easily use. Here’s what the code looks like.

Keep in mind you may have to deal with some uniqueness constraints, so use this code as a starting point if you decide to create slugs in the DB. Specifically, we had to create a SEQUENCE for duplicate slugs and append it to the slug. This worked in our case but might not work if you expect to have a ton of conflicts.

Keep sluggin’!

--

--

Engineering & Product Blog of Broadlume (formerly AdHawk)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store