Error: pq: 1 columns must reference exactly 1 columns in referenced table (found 2)
For a foreign key, you need to tell Postgres which table you want to refer to and the name(s) of the field(s) within that table that you want to use as the foreign key(s): 

CREATE TABLE IF NOT EXISTS item
(
    id              SERIAL,
    restaurant_id   UUID         NOT NULL  REFERENCES restaurant ( id ) 
    category_id     INT          NOT NULL  REFERENCES category ( id ) 
    name            VARCHAR(25)  NOT NULL,
    PRIMARY KEY (id, restaurant_id)
);