Randomly sampling data
DBAs may be asked to set up a test server and populate it with test data. Often, that server will be old hardware, possibly with smaller disk sizes. So, the subject of data sampling raises its head.
The purpose of sampling is to reduce the size of the dataset and improve the speed of later analysis. Some statisticians are so used to the idea of sampling that they may not even question whether its use is valid or it can cause further complications.
The SQL standard way to perform sampling is by adding the TABLESAMPLE
clause to the SELECT
statement. This is only available on PostgreSQL 9.5 and later, so we also describe an alternate version of this recipe that doesn't use TABLESAMPLE
.
How to do it...
In this section, we will take a random sample of a given collection of data (for example, a given table). First, you should realize that there isn't a simple tool to slice off a sample of your database. It would be neat if there were, but there isn't. You'll need to read all...