Skip to content

Commit c3e34ac

Browse files
3.2.0 fixes (#137)
* PMM-7: 3.2.0 Fixes * PMM-7: 3.2.0 Fixes
1 parent dad7e3d commit c3e34ac

3 files changed

Lines changed: 110 additions & 1 deletion

File tree

pmm_qa/pdpgsql_pgsm_setup.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,21 @@
8181
shell: "{{ item }}"
8282
with_items:
8383
- docker exec {{ pdpgsql_pgsm_container }} bash ./pgsm_run_queries.sh &
84+
85+
- name: Copy a file into the container
86+
community.docker.docker_container_copy_into:
87+
container: "{{ pdpgsql_pgsm_container }}"
88+
path: ./scripts/pgsql_load.sql
89+
container_path: /pgsql_load.sql
90+
91+
- name: Create database if it doesn't exist
92+
community.docker.docker_container_exec:
93+
container: "{{ pdpgsql_pgsm_container }}"
94+
command: >
95+
psql -U postgres -c "CREATE DATABASE school;"
96+
97+
- name: Run SQL script using docker exec
98+
community.docker.docker_container_exec:
99+
container: "{{ pdpgsql_pgsm_container }}"
100+
command: >
101+
psql -U postgres -d school -f /pgsql_load.sql

pmm_qa/percona_server/percona-server-setup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
community.docker.docker_container_exec:
100100
container: "ps_pmm_{{ ps_version }}_1"
101101
command: >
102-
sh -c 'curl --location --insecure -u"admin:{{ admin_password }}" -s --request GET "http://{{ pmm_server_ip }}:{{ '80' if pmm_server_ip is ansible.utils.ipv4 else '8080' }}/v1/management/services" | jq -r ".services[].service_name"'
102+
sh -c 'curl --location --insecure -u"admin:{{ admin_password }}" -s --request GET "https://{{ pmm_server_ip }}:{{ '443' if pmm_server_ip is ansible.utils.ipv4 else '8443' }}/v1/management/services" | jq -r ".services[].service_name"'
103103
register: pmm_server_services
104104

105105
- name: Display already connected services to pmm server

pmm_qa/scripts/pgsql_load.sql

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
-- ========================================
2+
-- CREATE TABLES
3+
-- ========================================
4+
5+
CREATE TABLE students (
6+
student_id SERIAL PRIMARY KEY,
7+
first_name VARCHAR(50),
8+
last_name VARCHAR(50),
9+
birth_date DATE
10+
);
11+
12+
CREATE TABLE classes (
13+
class_id SERIAL PRIMARY KEY,
14+
name VARCHAR(100),
15+
teacher VARCHAR(100)
16+
);
17+
18+
CREATE TABLE enrollments (
19+
enrollment_id SERIAL PRIMARY KEY,
20+
student_id INTEGER REFERENCES students(student_id),
21+
class_id INTEGER REFERENCES classes(class_id),
22+
enrollment_date DATE DEFAULT CURRENT_DATE
23+
);
24+
25+
-- ========================================
26+
-- INSERT MOCK DATA
27+
-- ========================================
28+
29+
INSERT INTO students (first_name, last_name, birth_date) VALUES
30+
('Alice', 'Smith', '2005-04-10'),
31+
('Bob', 'Johnson', '2006-08-15'),
32+
('Charlie', 'Brown', '2004-12-01');
33+
34+
INSERT INTO classes (name, teacher) VALUES
35+
('Mathematics', 'Mrs. Taylor'),
36+
('History', 'Mr. Anderson'),
37+
('Science', 'Dr. Reynolds');
38+
39+
INSERT INTO enrollments (student_id, class_id) VALUES
40+
(1, 1),
41+
(1, 2),
42+
(2, 2),
43+
(3, 1),
44+
(3, 3);
45+
46+
-- ========================================
47+
-- SELECT QUERIES
48+
-- ========================================
49+
50+
-- Get all students
51+
SELECT * FROM students;
52+
53+
-- Get all students enrolled in Mathematics
54+
SELECT s.first_name, s.last_name
55+
FROM students s
56+
JOIN enrollments e ON s.student_id = e.student_id
57+
JOIN classes c ON e.class_id = c.class_id
58+
WHERE c.name = 'Mathematics';
59+
60+
-- Count students per class
61+
SELECT c.name, COUNT(e.student_id) AS student_count
62+
FROM classes c
63+
LEFT JOIN enrollments e ON c.class_id = e.class_id
64+
GROUP BY c.name;
65+
66+
-- ========================================
67+
-- UPDATE QUERIES
68+
-- ========================================
69+
70+
-- Change Bob's last name
71+
UPDATE students
72+
SET last_name = 'Williams'
73+
WHERE first_name = 'Bob' AND last_name = 'Johnson';
74+
75+
-- Update the teacher for the History class
76+
UPDATE classes
77+
SET teacher = 'Ms. Carter'
78+
WHERE name = 'History';
79+
80+
-- ========================================
81+
-- DELETE QUERIES
82+
-- ========================================
83+
84+
-- Remove Charlie from Science class
85+
DELETE FROM enrollments
86+
WHERE student_id = (SELECT student_id FROM students WHERE first_name = 'Charlie')
87+
AND class_id = (SELECT class_id FROM classes WHERE name = 'Science');
88+
89+
-- Delete a student completely
90+
DELETE FROM students
91+
WHERE first_name = 'Alice' AND last_name = 'Smith';

0 commit comments

Comments
 (0)