Création d'une nouvelle classe

Vous pouvez créer une nouvelle classe en spécifiant son nom, puis tous les noms d'attributs et leurs types :
CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);
    

Notez que les mots-clé et les identifiants sont interprétés indépendamment de leurs casses (majuscules ou minuscules); la casse des identifiants n'est prise en compte que lorsqu'ils sont entourés de guillemets (comme admis par le SQL92). Le SQL Postgres supporte les types SQL usuels int, float, real, smallint, char(N), varchar(N), date, time, et timestamp, aussi bien que d'autres types d'usage général ainsi que d'un riche ensemble de types géométriques. Comme nous le verrons plus tard Postgres peut être paramètré avec un nombre quelconque de types définis par l'utilisateur. En conséquence, les noms de types ne sont pas des mots-clés, sauf quand ils sont nécessaires au traitement de cas spéciaux documentés dans le standard SQL92. La commande create de Postgres ressemble donc à son équivalent fournit par un système relationnel traditionnel. Cependant, nous allons voir que les classes comportent des propriétés qui sont des extensions du modèle relationnel.