Skip to content

Instantly share code, notes, and snippets.

@Brostoffed
Created May 25, 2023 01:55
Show Gist options
  • Save Brostoffed/388d3e3f52301dd9bf741ef607352be0 to your computer and use it in GitHub Desktop.
Save Brostoffed/388d3e3f52301dd9bf741ef607352be0 to your computer and use it in GitHub Desktop.
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
CREATE TABLE creators (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
version TEXT NOT NULL,
comment TEXT
);
CREATE TABLE browsers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
version TEXT NOT NULL,
comment TEXT
);
CREATE TABLE pages (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
started_datetime TIMESTAMP NOT NULL,
title TEXT NOT NULL,
on_content_load NUMERIC,
on_load NUMERIC,
page_timings_comment TEXT,
comment TEXT
);
CREATE TABLE entries (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
pageref UUID REFERENCES pages(id),
started_datetime TIMESTAMP NOT NULL,
time NUMERIC NOT NULL,
server_ip_address INET,
connection TEXT,
comment TEXT
);
CREATE TABLE requests (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
entry_id UUID REFERENCES entries(id),
method TEXT NOT NULL,
url TEXT NOT NULL,
http_version TEXT NOT NULL,
headers_size INTEGER NOT NULL,
body_size INTEGER NOT NULL,
comment TEXT
);
CREATE TABLE responses (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
entry_id UUID REFERENCES entries(id),
status INTEGER NOT NULL,
status_text TEXT NOT NULL,
http_version TEXT NOT NULL,
redirect_url TEXT NOT NULL,
headers_size INTEGER NOT NULL,
body_size INTEGER NOT NULL,
comment TEXT
);
CREATE TABLE content (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
response_id UUID REFERENCES responses(id),
size INTEGER NOT NULL,
compression INTEGER,
mime_type TEXT NOT NULL,
text TEXT,
encoding TEXT,
comment TEXT
);
CREATE TABLE caches (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
entry_id UUID REFERENCES entries(id),
before_request_expires TIMESTAMP,
before_request_last_access TIMESTAMP,
before_request_e_tag TEXT,
before_request_hit_count INTEGER,
before_request_comment TEXT,
after_request_expires TIMESTAMP,
after_request_last_access TIMESTAMP,
after_request_e_tag TEXT,
after_request_hit_count INTEGER,
after_request_comment TEXT,
comment TEXT
);
CREATE TABLE timings (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
entry_id UUID REFERENCES entries(id),
dns NUMERIC,
connect NUMERIC,
blocked NUMERIC,
send NUMERIC NOT NULL,
wait NUMERIC NOT NULL,
receive NUMERIC NOT NULL,
ssl NUMERIC,
comment TEXT
);
CREATE TABLE cookies (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
request_id UUID REFERENCES requests(id),
response_id UUID REFERENCES responses(id),
name TEXT NOT NULL,
value TEXT NOT NULL,
path TEXT,
domain TEXT,
expires TIMESTAMP,
http_only BOOLEAN,
secure BOOLEAN,
comment TEXT
);
CREATE TABLE headers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
request_id UUID REFERENCES requests(id),
response_id UUID REFERENCES responses(id),
name TEXT NOT NULL,
value TEXT NOT NULL,
comment TEXT
);
CREATE TABLE query_params (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
request_id UUID REFERENCES requests(id),
name TEXT NOT NULL,
value TEXT NOT NULL,
comment TEXT
);
CREATE TABLE post_data (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
request_id UUID REFERENCES requests(id),
mime_type TEXT NOT NULL,
text TEXT,
comment TEXT
);
CREATE TABLE post_data_params (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
post_data_id UUID REFERENCES post_data(id),
name TEXT NOT NULL,
value TEXT,
file_name TEXT,
content_type TEXT,
comment TEXT
);
CREATE TABLE logs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
log_version TEXT NOT NULL,
creator_id UUID REFERENCES creators(id),
browser_id UUID REFERENCES browsers(id),
comment TEXT
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment