-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsql.txt
More file actions
24 lines (19 loc) · 733 Bytes
/
sql.txt
File metadata and controls
24 lines (19 loc) · 733 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE TABLE Users (
Id BIGINT PRIMARY KEY
);
CREATE TABLE IPAddresses (
Id SERIAL PRIMARY KEY,
Address TEXT NOT NULL UNIQUE,
tsvAddress tsvector
);
CREATE TABLE UserIPConnections (
Id SERIAL PRIMARY KEY,
UserId BIGINT REFERENCES Users(Id) ON DELETE CASCADE,
IPAddressId INT REFERENCES IPAddresses(Id) ON DELETE CASCADE,
ConnectionTime TIMESTAMP NOT NULL
);
CREATE INDEX idx_ip_address ON IPAddresses USING gin (tsvAddress);
CREATE INDEX idx_user_ip_connections ON UserIPConnections (UserId, ConnectionTime);
CREATE TRIGGER ip_address_search_vector_update BEFORE INSERT OR UPDATE
ON "IPAddresses" FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger("tsvAddress", 'english', "Address");