Postgres - Add/Create object if it doesn't already exist
The creation of database objects is fairly simple but the conditional creation of objects when they don’t exist can be a little convoluted with PostgreSQL.
Creating a table if it doesn’t exist
When creating a table, specify the IF NOT EXISTS key phrase.
```pgsqlCREATE TABLE IF NOT EXISTS customer (
    id      integer,
    name        varchar(100)
);
```
### Creating a table column when it doesn't exist
When adding a new column, we need to use the `DO` keyword and catch an error code which is specified after the `WHEN` keyword.
```defaultDO $$
    BEGIN
        BEGIN
            ALTER TABLE customer ADD COLUMN age int;
        EXCEPTION
            WHEN duplicate_column THEN RAISE NOTICE 'age column already exists.';
        END;
    END;
$$
```