1- CREATE TABLE employee (
1+ CREATE TABLE public . employee (
22 emp_no SERIAL NOT NULL ,
33 birth_date DATE NOT NULL ,
44 first_name TEXT NOT NULL ,
@@ -8,16 +8,16 @@ CREATE TABLE employee (
88 PRIMARY KEY (emp_no)
99);
1010
11- CREATE INDEX idx_employee_hire_date ON employee (hire_date);
11+ CREATE INDEX public . idx_employee_hire_date ON public . employee (hire_date);
1212
13- CREATE TABLE department (
13+ CREATE TABLE public . department (
1414 dept_no TEXT NOT NULL ,
1515 dept_name TEXT NOT NULL ,
1616 PRIMARY KEY (dept_no),
1717 UNIQUE (dept_name)
1818);
1919
20- CREATE TABLE dept_manager (
20+ CREATE TABLE public . dept_manager (
2121 emp_no INT NOT NULL ,
2222 dept_no TEXT NOT NULL ,
2323 from_date DATE NOT NULL ,
@@ -27,7 +27,7 @@ CREATE TABLE dept_manager (
2727 PRIMARY KEY (emp_no, dept_no)
2828);
2929
30- CREATE TABLE dept_emp (
30+ CREATE TABLE public . dept_emp (
3131 emp_no INT NOT NULL ,
3232 dept_no TEXT NOT NULL ,
3333 from_date DATE NOT NULL ,
@@ -37,7 +37,7 @@ CREATE TABLE dept_emp (
3737 PRIMARY KEY (emp_no, dept_no)
3838);
3939
40- CREATE TABLE title (
40+ CREATE TABLE public . title (
4141 emp_no INT NOT NULL ,
4242 title TEXT NOT NULL ,
4343 from_date DATE NOT NULL ,
@@ -46,7 +46,7 @@ CREATE TABLE title (
4646 PRIMARY KEY (emp_no, title, from_date)
4747);
4848
49- CREATE TABLE salary (
49+ CREATE TABLE public . salary (
5050 emp_no INT NOT NULL ,
5151 amount INT NOT NULL ,
5252 from_date DATE NOT NULL ,
@@ -55,32 +55,32 @@ CREATE TABLE salary (
5555 PRIMARY KEY (emp_no, from_date)
5656);
5757
58- CREATE INDEX idx_salary_amount ON salary (amount);
58+ CREATE INDEX public . idx_salary_amount ON public . salary (amount);
5959
60- CREATE TABLE audit (
60+ CREATE TABLE public . audit (
6161 id SERIAL PRIMARY KEY ,
6262 operation TEXT NOT NULL ,
6363 query TEXT ,
6464 user_name TEXT NOT NULL ,
6565 changed_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
6666);
6767
68- CREATE INDEX idx_audit_operation ON audit (operation);
69- CREATE INDEX idx_audit_username ON audit (user_name);
70- CREATE INDEX idx_audit_changed_at ON audit (changed_at);
68+ CREATE INDEX public . idx_audit_operation ON public . audit (operation);
69+ CREATE INDEX public . idx_audit_username ON public . audit (user_name);
70+ CREATE INDEX public . idx_audit_changed_at ON public . audit (changed_at);
7171
72- CREATE OR REPLACE FUNCTION log_dml_operations () RETURNS TRIGGER AS $$
72+ CREATE OR REPLACE FUNCTION public . log_dml_operations() RETURNS TRIGGER AS $$
7373BEGIN
7474 IF (TG_OP = ' INSERT' ) THEN
75- INSERT INTO audit (operation, query, user_name)
75+ INSERT INTO public . audit (operation, query, user_name)
7676 VALUES (' INSERT' , current_query(), current_user );
7777 RETURN NEW;
7878 ELSIF (TG_OP = ' UPDATE' ) THEN
79- INSERT INTO audit (operation, query, user_name)
79+ INSERT INTO public . audit (operation, query, user_name)
8080 VALUES (' UPDATE' , current_query(), current_user );
8181 RETURN NEW;
8282 ELSIF (TG_OP = ' DELETE' ) THEN
83- INSERT INTO audit (operation, query, user_name)
83+ INSERT INTO public . audit (operation, query, user_name)
8484 VALUES (' DELETE' , current_query(), current_user );
8585 RETURN OLD;
8686 END IF;
8989$$ LANGUAGE plpgsql;
9090
9191-- only log update and delete, otherwise, it will cause too much change.
92- CREATE TRIGGER salary_log_trigger
93- AFTER UPDATE OR DELETE ON salary
92+ CREATE TRIGGER public . salary_log_trigger
93+ AFTER UPDATE OR DELETE ON public . salary
9494FOR EACH ROW
95- EXECUTE FUNCTION log_dml_operations();
95+ EXECUTE FUNCTION public . log_dml_operations ();
9696
97- CREATE OR REPLACE VIEW dept_emp_latest_date AS
97+ CREATE OR REPLACE VIEW public . dept_emp_latest_date AS
9898SELECT
9999 emp_no,
100100 MAX (
101101 from_date) AS from_date,
102102 MAX (
103103 to_date) AS to_date
104104FROM
105- dept_emp
105+ public . dept_emp
106106GROUP BY
107107 emp_no;
108108
109109-- shows only the current department for each employee
110- CREATE OR REPLACE VIEW current_dept_emp AS
110+ CREATE OR REPLACE VIEW public . current_dept_emp AS
111111SELECT
112112 l .emp_no ,
113113 dept_no,
114114 l .from_date ,
115115 l .to_date
116116FROM
117- dept_emp d
118- INNER JOIN dept_emp_latest_date l ON d .emp_no = l .emp_no
117+ public . dept_emp d
118+ INNER JOIN public . dept_emp_latest_date l ON d .emp_no = l .emp_no
119119 AND d .from_date = l .from_date
120120 AND l .to_date = d .to_date ;
0 commit comments