Preamble
PostgreSQL random function can be used to return a random number or a random number within a range.
Syntax of the random PostgreSQL function
random( )
Parameters and function arguments
- There are no parameters or arguments for the random function.
Note:
- The random function will return a value from 0 (inclusive) to 1 (excluding), so the value will be in the range >= 0 and <1.
- Use the set seed function to set the initial value for random.
- The random function returns a completely random number if no initial number is set (the initial value is set by the set seed function).
- The random function will return a repeatable sequence of random numbers every time a specific initial value is used (the initial value is set using the set seed function).
Random decimal range
To create a random decimal number between two values (range), you can use the following formula:
SELECT random()*(b-a)+a;
Where a is the smallest number, and b is the largest number for which you want to generate a random number.
SELECT random()*(25-10)+10;
The above formula will generate a random decimal number >= 10 and < 25. (Note: this formula will never return 25 because random will never return 1).
Random range of integers
To create a random integer between two values (range), you can use the following formula:
SELECT floor(random()*(b-a+1))+a;
Where a is the smallest number, and b is the largest number for which you want to generate a random number.
SELECT floor(random()*(25-10+1))+10;
The above formula will generate a random integer from 10 to 25 inclusive.
The random function can be used in the following PostgreSQL versions
PostgreSQL 11, PostgreSQL 10, PostgreSQL 9.6, PostgreSQL 9.5, PostgreSQL 9.4, PostgreSQL 9.3, PostgreSQL 9.2, PostgreSQL 9.1, PostgreSQL 9.0, PostgreSQL 8.4.
Example of a random number
Let’s see how to use the random function in PostgreSQL to generate a random number >= 0 and < 1. For example:
SELECT random();
-Result: 0.0186054138466716
Although the random function will return a value above 0, it will never return a value of 1. It will always return a value below 1.
Example of a random decimal range
Let’s see how to use the PostgreSQL random function to generate a random decimal number between two numbers (i.e.: range).
For example, the next one will generate a random decimal value that >= 1 and < 10 (Note: it will never return 10):
SELECT random()*(10-1)+1;
--Result: 1.40731927193701
In the following example, a random decimal value >= 25 and < 40 will be generated (Note: it will never return 40):
SELECT random()*(40-25)+25;
--Result: 33.7993366038427
Example of a random integer range
Let’s see how to use the random function in PostgreSQL to generate a random integer between two numbers (i.e.: including the range).
For example, the next one will generate a random integer value from 1 to 10:
SELECT floor(random()*(10-1+1))+1;
--Result: 6
In the following example, a random integer value between 25 and 40 will be generated:
SELECT floor(random()*(40-25+1))+25;
--Result: 28
PostgreSQL: Generate 1000 Rows
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
🧩The Cost of Slow Decisions: How a Global Retailer Lost $3.2M to Data Lag
- 24 October 2025
- Software Engineering
In business, speed doesn’t just close deals — it protects margins.And in this case, it was the lack of speed that quietly drained millions. The Situation A multinational retailer — operating across 14 markets — noticed something puzzling.Their demand forecasts were 97% accurate, yet profit margins were shrinking quarter after quarter. At first glance, it … Continue reading “🧩The Cost of Slow Decisions: How a Global Retailer Lost $3.2M to Data Lag”
Driving Smarter Growth with Enteros: AI Performance Management and Forecasting Models for Accurate Cost Estimation and Operational Excellence
- 23 October 2025
- Database Performance Management
Introduction In an era defined by rapid digital transformation, organizations across industries face the dual challenge of accelerating growth while maintaining cost efficiency. Traditional IT management and forecasting techniques are no longer sufficient to handle the scale, complexity, and dynamic workloads of modern data ecosystems. Businesses require intelligent systems that can not only manage database … Continue reading “Driving Smarter Growth with Enteros: AI Performance Management and Forecasting Models for Accurate Cost Estimation and Operational Excellence”
Transforming Fashion Operations with Enteros: Database Performance Management Meets Cloud FinOps Efficiency
Introduction The fashion industry is undergoing a digital renaissance — one where data, technology, and artificial intelligence intersect to redefine how brands operate, forecast, and engage customers. With the rapid expansion of online retail, omnichannel experiences, and global supply chains, fashion enterprises face increasing challenges in managing vast amounts of data across diverse systems. In … Continue reading “Transforming Fashion Operations with Enteros: Database Performance Management Meets Cloud FinOps Efficiency”
Optimizing Cloud Formation and Storage Efficiency in Technology with Enteros: AIOps and FinOps in Action
- 22 October 2025
- Database Performance Management
Introduction The technology sector is undergoing a cloud revolution. Every enterprise — from SaaS startups to global tech giants — is shifting workloads to the cloud to gain agility, scalability, and cost efficiency. However, as cloud infrastructures expand, managing and optimizing their performance becomes increasingly complex. Cloud Formation, Storage Buckets, and multi-cloud architectures have unlocked … Continue reading “Optimizing Cloud Formation and Storage Efficiency in Technology with Enteros: AIOps and FinOps in Action”