For primary keys it is now the recommendation to use identity during table creation.
Apparently it explicitly conveys the purpose of the column and aligns with SQL standards thus it is important to use when possible rather than the former serial command. In theory this should be more portable as well.
Depending on what source you read you may or may not need the following extension to create UUIDs – I needed it but I am told it should be in the main library.
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
So here is standard code for creating a table with three columns
CREATE TABLE t001example ( pkid bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, genuuid uuid DEFAULT gen_random_uuid(), sitename varchar(500) );