Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
PostgreSQL 16 Administration Cookbook

You're reading from  PostgreSQL 16 Administration Cookbook

Product type Book
Published in Dec 2023
Publisher Packt
ISBN-13 9781835460580
Pages 636 pages
Edition 1st Edition
Languages
Authors (5):
Gianni Ciolli Gianni Ciolli
Profile icon Gianni Ciolli
Boriss Mejías Boriss Mejías
Profile icon Boriss Mejías
Jimmy Angelakos Jimmy Angelakos
Profile icon Jimmy Angelakos
Vibhor Kumar Vibhor Kumar
Profile icon Vibhor Kumar
Simon Riggs Simon Riggs
Profile icon Simon Riggs
View More author details

Table of Contents (15) Chapters

Preface 1. First Steps 2. Exploring the Database 3. Server Configuration 4. Server Control 5. Tables and Data 6. Security 7. Database Administration 8. Monitoring and Diagnosis 9. Regular Maintenance 10. Performance and Concurrency 11. Backup and Recovery 12. Replication and Upgrades 13. Other Books You May Enjoy
14. Index

Finding a unique key for a set of data

Sometimes, it can be difficult to find a unique set of key columns that describe the data. In this recipe, we will analyze the data in a database to allow us to identify the column(s) that together form a unique key. This is useful when a key is not documented, not defined, or has been defined incorrectly.

Getting ready

Let’s start with a small table, where the answer is fairly obvious:

postgres=# select * from ord;

We assume that the output is as follows:

orderid  | customerid |  amt  
---------+------------+--------
   10677 |          2 |   5.50
    5019 |          3 | 277.44
    9748 |          3 |  77.17
(3 rows)

How to do it…

First of all, there’s no need to do this through a brute-force approach. Checking all the permutations of columns to see which is unique might take you a long time.

Let’s start by using PostgreSQL’s own optimizer statistics. Run the following command...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}