-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathindexes.sql
More file actions
49 lines (33 loc) · 1.71 KB
/
indexes.sql
File metadata and controls
49 lines (33 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
-- extension to implement trigrams;
CREATE EXTENSION pg_trgm;
-- drop irrelevant data
DELETE FROM addrobj WHERE livestatus != 1 AND currstatus != 0;
--========== SOCRBASE ==========--
-- primary key (shortname)
-- ALTER TABLE socrbase DROP CONSTRAINT socrbase_pkey;
ALTER TABLE socrbase ADD CONSTRAINT socrbase_pkey PRIMARY KEY(kod_t_st);
CREATE UNIQUE INDEX kod_t_st_idx ON socrbase USING btree (kod_t_st);
CREATE INDEX scname_level_idx ON socrbase USING btree (scname, level);
--========== ADDROBJ ==========--
-- primary key (aoguid)
-- ALTER TABLE addrobj DROP CONSTRAINT addrobj_pkey;
ALTER TABLE addrobj ADD CONSTRAINT addrobj_pkey PRIMARY KEY(aoguid);
-- foreign key (parentguid to aoguid)
-- ALTER TABLE addrobj DROP CONSTRAINT addrobj_parentguid_fkey;
ALTER TABLE addrobj
ADD CONSTRAINT addrobj_parentguid_fkey FOREIGN KEY (parentguid)
REFERENCES addrobj (aoguid) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE NO ACTION;
-- create btree indexes
CREATE UNIQUE INDEX aoguid_pk_idx ON addrobj USING btree (aoguid);
CREATE UNIQUE INDEX aoid_idx ON addrobj USING btree (aoid);
CREATE INDEX parentguid_idx ON addrobj USING btree (parentguid);
CREATE INDEX currstatus_idx ON addrobj USING btree (currstatus);
CREATE INDEX aolevel_idx ON addrobj USING btree (aolevel);
CREATE INDEX formalname_idx ON addrobj USING btree (formalname);
CREATE INDEX offname_idx ON addrobj USING btree (offname);
CREATE INDEX shortname_idx ON addrobj USING btree (shortname);
CREATE INDEX shortname_aolevel_idx ON addrobj USING btree (shortname, aolevel);
-- trigram indexes to speed up text searches
CREATE INDEX formalname_trgm_idx on addrobj USING gin (formalname gin_trgm_ops);
CREATE INDEX offname_trgm_idx on addrobj USING gin (offname gin_trgm_ops);