Создаю таблицу users:
CREATE TABLE users(
    id UUID DEFAULT uuid_generate_v4(),
    email TEXT,
    name TEXT,
    password TEXT,
    PRIMARY KEY(id)
);
INSERT INTO users(id, email, name, password) VALUES('bdfe5653-f75a-42b4-93d2-f4f739c0bc7d', 'test@mail.com', 'Jone', 'somehashedpasswprd');
Далее таблицу posts:
CREATE TABLE posts(
    id uuid DEFAULT uuid_generate_v4(),
    authorID uuid,
    text TEXT,
    FOREIGN KEY(authorID) REFERENCES users(id)
);
INSERT INTO posts(authorID, text) 
VALUES('bdfe5653-f75a-42b4-93d2-f4f739c0bc7d', 'Post description I wrote the post for demonstation how I can use of sql');
Дальше мне нужно было изменить ограничение внешнего ключа, для того чтобы после удаления пользователя, посты удалялись автоматически:
ALTER TABLE posts
    DROP CONSTRAINT authorID;
ALTER TABLE posts 
  ADD CONSTRAINT authorID 
  FOREIGN KEY(authorID) 
  REFERENCES users(id)
  ON DELETE CASCADE 
  ON UPDATE CASCADE;
Окей, ограничение дефолтное снял и добавил свое, теперь я пытаюсь удалить пользователя который был привязал к посту:
DELETE FROM users WHERE id = 'bdfe5653-f75a-42b4-93d2-f4f739c0bc7d'';
Сделать я этого не могу, пишет ошибку:
"UPDATE или DELETE в таблице "users" нарушает ограничение внешнего ключа "posts_authorid_fkey" таблицы "posts"?"
Почему?! Ведь я прописал свое ограничение и по задумке, должен был удалиться пост вместе с пользователем...