Book Image

PostgreSQL 11 Server Side Programming Quick Start Guide

By : Luca Ferrari
Book Image

PostgreSQL 11 Server Side Programming Quick Start Guide

By: Luca Ferrari

Overview of this book

PostgreSQL is a rock-solid, scalable, and safe enterprise-level relational database. With a broad range of features and stability, it is ever increasing in popularity.This book shows you how to take advantage of PostgreSQL 11 features for server-side programming. Server-side programming enables strong data encapsulation and coherence. The book begins with the importance of server-side programming and explains the risks of leaving all the checks outside the database. To build your capabilities further, you will learn how to write stored procedures, both functions and the new PostgreSQL 11 procedures, and create triggers to perform encapsulation and maintain data consistency. You will also learn how to produce extensions, the easiest way to package your programs for easy and solid deployment on different PostgreSQL installations.
Table of Contents (12 chapters)

Basic types

A basic type, also known as a scalar type, can be created only by a superuser and at least requires the definition of two functions to handle type transformation. These data types must have an implementation contained in a PostgreSQL module, written in the C language. The details about how a PostgreSQL module works, as well as its internal types and facilities, are out of the scope of this book, so in the following only the basic concepts will be explained.

A basic type requires at least two functions:

  • An input function, used to convert a textual representation of the type into PostgreSQL data
  • An output function, used to convert PostgreSQL data into a textual form

In order to better clarify the use of such functions, consider the following simple case:

testdb=> SELECT '1'::int + '2'::int;
?column?
----------
3

The input function is invoked...