blog/drafts/postgres_messaging_app.md
simonpetit 2c4319afcb
All checks were successful
continuous-integration/drone/push Build is passing
completing draft
2025-11-07 13:46:58 +00:00

39 lines
901 B
Markdown

# Postgres as a messaging app
Here is a funny idea I came up with : using postgres to make an instant
messaging app.
## The tables
First create a basic user table:
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
username VARCHAR
);
Then create a conversation table:
CREATE TABLE conversation (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR
);
And a participant table:
CREATE TABLE participant (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
conversation_id UUID REFERENCES conversation(id)
);
Then a message table :
CREATE TABLE message (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
sender_id UUID REFERENCES participant(id),
conversation_id UUID REFERENCES conversation(id),
content VARCHAR
);