PostgreSQL Bootcamp : Go From Beginner to Advanced, 60+hours

67h 20m 55s
English
Paid
April 12, 2024

Subqueries? Yes, Recursive CTEs? Yes, Server programming with SQL and PL/pgSQL, Stored Procedures? Yes, Window Functions? Yes indeed and much more... This comprehensive course will teach you everything about PostgreSQL to use in your next big project! Master the PostgreSQL database, and see how to apply it with real world database and queries. Sign up today and master PostgreSQL!

More

I've design this course from step-by-step move from basic to advanced topics. Here is a partial list of some of the topics that are covered in 50+ sections and 60+ hours of this course:

  • Apply powerful SQL commands to store, update and retrieve information

  • Step-by-step walkthrough to perform simple to complex SQL queries

  • How to create a database from the scratch, Creating and modifying tables

  • Using UPSERT for INSERT and UPDATE at the same time

  • Query data with ORDER BY, Logical operators, and filters

  • Understand PostgreSQL various data types with examples

  • Data type conversions with CAST, and conversion functions

  • Create your own user-defined data types

  • Explore table and column constraints, create multiple composite constraints, see data integrity operations

  • Create your own custom sequences

  • Parsing data with queries using string functions

  • Aggregate data with aggregate functions

  • Date/Time data types, Intervals, and handling timezones

  • Grouping Data with GROUP BY, conditional filter with HAVING

  • Joining Multiple Tables with various joins techniques

  • Combining Queries together with UNION, INTERSECT, and EXCEPT

  • Understand and create PostgreSQL Schemas, ownership, security privileges

  • Constructing arrays and ranges, query array data with conditional filters

  • Storing data with JSONB objects and Indexing

  • Query performance optimization with indexes, understanding indexes nodes and outputs

  • Create and update regular and materialize views

  • Simple to advances step-by-step Subqueries

  • Creating Common Table Expressions (CTEs), and recursive CTEs queries

  • Making data into group sets

  • Simple to advanced Windows Functions

  • Using regular expressions for text patterns

  • Powerful text searches in PostgreSQL

  • Create and exploring table partitioning techniques

  • Server programming with SQL and PL/pqSQL

  • Creating Stores Procedures

  • Extending PostgreSQL echosystem with custom indexes, and aggregate functions

  • Creating, and executing Triggers

  • Using Cursors

  • pqsql Utility Commands

  • Creating Crosstab reports

  • Making our database for storing global language data - Internationalization

  • Running queries with PostgreSQL transactions

  • Crating, and Managing PostgreSQL Security

  • All about PostgreSQL internals on how data gets stored and much more

  • Running hundreds of queries on sample databases like HR, Northwind, Stock Markets, Word Trades database

Watch Online PostgreSQL Bootcamp : Go From Beginner to Advanced, 60+hours

Join premium to watch
Go to premium
# Title Duration
1 Course Introduction 01:07
2 Installing PostgreSQL on Mac 02:18
3 Installing PostgreSQL on Windows 06:01
4 Configure pgAdmin 4 client 02:02
5 Creating a Database User 03:55
6 Creating a Database 02:31
7 Running a query in pgAdmin tool 02:12
8 Install sample data files on server 02:32
9 Install Human Resources (hr) database 02:22
10 Install sample stocks market data 02:05
11 Install northwind database 05:04
12 Drop a database 03:28
13 Movie Database Structure 03:39
14 Creating the movie database and a actors table 06:19
15 Creating the directors table 03:30
16 Creating the movies table with a foreign key 05:55
17 Creating the movies_revenues table 03:45
18 Creating a Junction table with movies and actors tables 04:25
19 Install sample data for 'movies' database 05:51
20 Using pgAdmin - Create and modify a table 05:37
21 Using pgAdmin - View table structure, and create column 05:29
22 Using pgAdmin - Rename, delete and change the data type of a column 06:45
23 Deleting tables from a database 02:49
24 Insert a data into table 04:47
25 Insert multiple records into a table 02:36
26 Insert a data that had quotes 02:02
27 Use RETURNING to get info on added rows 02:52
28 Update data in a table 03:26
29 Updating a row and returning the updated row 02:14
30 Updating all records in a table 03:11
31 Delete data from a table 03:08
32 Using UPSERT 10:00
33 Select all data from a table 06:32
34 Selecting specific columns from a table 03:44
35 Adding Aliases to columns in a table 09:24
36 Using SELECT statement for expressions 03:16
37 Using ORDER BY to sort records 07:55
38 Using ORDER BY with alias column name 03:15
39 Using ORDER BY to sort rows by expressions 03:09
40 Using ORDER BY with column name or column number 03:20
41 Using ORDER BY with NULL values 05:54
42 Using DISTINCT for selecting distinct values 05:28
43 Comparison, Logical and Arithmetic operators 02:20
44 AND operator 07:27
45 OR operator 03:24
46 Combining AND, OR operators 04:44
47 What goes before and after WHERE clause 02:49
48 Execution order with AND, OR operators 01:54
49 Can we use column aliases with WHERE? 02:21
50 Order of execution of WHERE, SELECT and ORDER BY clauses 01:34
51 Using Logical operators 16:16
52 Using LIMIT and OFFSET 16:52
53 Using FETCH 09:47
54 Using IN, NOT IN 10:15
55 Using BETWEEN and NOT BETWEEN 11:32
56 Using LIKE and ILIKE 17:19
57 Using IS NULL and IS NOT NULL keywords 12:37
58 Concatenation techniques 08:21
59 Concatenation with ||, CONCAT and CONCAT_WS 04:37
60 Boolean 13:15
61 CHAR, VARCHAR and TEXT 18:20
62 NUMERIC 10:15
63 DECIMALS 09:54
64 Selecting Numbers data types 05:52
65 Date/Time data types 03:44
66 DATE 06:20
67 TIME 14:58
68 TIMESTAMP and TIMESTAMPTZ 12:50
69 UUID 11:39
70 Array 07:08
71 hstore 08:01
72 JSON 12:30
73 Network Addresses 14:01
74 Creating sample database 'mydata', adding columns 04:39
75 Modify Table Structures, Add/Modify Columns 09:00
76 Add constraints to columns 10:28
77 What is a data type conversion 05:47
78 Using CAST for data conversions 11:34
79 Implicit to Explicit conversions 04:13
80 Table data conversion 07:16
81 to_char 08:07
82 to_number 05:19
83 to_date 05:34
84 to_timestamp 04:48
85 CREATE DOMAIN - Create a DOMAIN data type, create an address 06:46
86 CREATE DOMAIN - Create a data type for a positive number 02:17
87 CREATE DOMAIN - Create a postal code validation data type 03:01
88 CREATE DOMAIN - Create a domain data type for an email validation 03:46
89 CREATE DOMAIN - Create a Enum or Set of values domain data type 04:36
90 CREATE DOMAIN - Get the list of all DOMAIN data types 02:18
91 CREATE DOMAIN - How to drop a domain data type 04:45
92 CREATE TYPE - Create a composite address object 06:45
93 CREATE TYPE - Create a composite inventory_item data type 04:34
94 CREATE TYPE - Create an ENUM data type and see how to drop a data type 04:34
95 ALTER TYPE - Alter a composite data type, change schema and more.. 04:18
96 ALTER TYPE - Alter an ENUM data type 03:23
97 Update an ENUM data in production server 08:14
98 An ENUM with a DEFAULT value in a table 03:40
99 Create a type if not exists using a PL/pgSQL function 02:00
100 Introduction to constraints 04:17
101 NOT NULL constraint 11:31
102 UNIQUE constraint 15:18
103 DEFAULT constraint 05:35
104 PRIMARY KEY Constraints 21:45
105 PRIMARY KEY Constraints on multiple columns 13:49
106 FOREIGN KEY Constraints 06:13
107 Tables without foreign key constraints 07:43
108 Creating foreign key constraints 07:50
109 Foreign keys maintains referential data integrity 07:45
110 Drop a constraint 02:14
111 Add or update foreign key constraint on existing table 03:06
112 CHECK constraint - An Introduction 01:33
113 CHECK constraint - Add to new table 10:13
114 CHECK constraint - Add, Rename, Drop on existing table 10:34
115 Create a sequence, advance a sequence, get current value, set value 07:21
116 Restart, rename a sequence, and use pgAdmin to alter a sequence 04:19
117 Create a sequence with START WITH, INCREMENT, MINVALUE and MAXVALUE 03:17
118 Create a sequence using a specific data type 02:43
119 Creating a descending sequence, and CYCLE sequence 04:45
120 Delete a sequence 01:29
121 Attach a sequence to a table column 08:54
122 List all sequences in a database 01:27
123 Share one sequence between two tables 04:16
124 Create an alphanumeric sequence 07:51
125 UPPER, LOWER and INITCAP 04:38
126 LEFT and RIGHT 08:08
127 REVERSE 02:09
128 SPLIT_PART 06:22
129 TRIM, BTRIM, LTRIM and RTRIM 06:39
130 LPAD and RPAD 05:54
131 LENGTH 03:53
132 POSITION 03:20
133 STRPOS 04:56
134 SUBSTRING 03:52
135 REPEAT 02:29
136 REPLACE 04:10
137 Counting results via COUNT function 07:36
138 Sum with SUM function 09:13
139 MIN and MAX functions 13:33
140 GREATEST AND LEAST functions 05:09
141 Average with AVG function 12:53
142 Combining Columns using Mathematical operators 11:07
143 Datetimes data types 09:39
144 System Month Date settings 03:08
145 Time of day formats and inputs 06:10
146 Strings to Dates conversions 11:19
147 Using TO_TIMESTAMP function 09:44
148 Formatting Dates 10:34
149 Date construction functions 06:29
150 Using MAKE_INTERVAL function 06:35
151 Using MAKE_TIMESTAMPTZ function 09:37
152 Date Value Extractors functions 05:56
153 Using math operators with dates 09:25
154 OVERLAPS Operator 04:04
155 Date / Time Functions 05:02
156 PostgreSQL Date / Time Functions 04:24
157 AGE function 03:38
158 CURRENT_DATE function 01:19
159 CURRENT_TIME function 03:52
160 Date accuracy with EPOCH 07:03
161 Using Date, time, timestamp in tables 08:15
162 View and set timezones 03:30
163 How to handle timezones 10:43
164 date_part function 10:44
165 date_trunc function 08:58
166 Using GROUP BY 11:55
167 Using GROUP BY with multiple columns, ORDER BY 14:46
168 Order of execution in GROUP BY clause 01:34
169 Using HAVING 11:38
170 Order of execution in HAVING clause 01:07
171 HAVING vs WHERE 05:40
172 Handling NULL values with GROUP BY 10:10
173 INNER joins 20:19
174 INNER joins with USING 08:56
175 INNER joins with filter data Part 1 10:19
176 INNER joins with filter data Part 2 03:59
177 INNER joins with filter data Part 3 05:29
178 INNER joins with different data type columns 05:12
179 LEFT joins Part 1 09:34
180 LEFT joins Part 2 07:28
181 LEFT joins Part 3 08:02
182 LEFT joins Part 4 05:50
183 RIGHT joins 09:44
184 RIGHT joins Part 2 03:15
185 FULL Joins 05:05
186 Joining multiple tables 09:05
187 Self Joins Part 1 08:30
188 Self Joins Part 2 02:59
189 CROSS Joins 10:35
190 Natural Joins Part 1 05:24
191 Natural Joins Part 2 02:15
192 Append tables with different columns 13:44
193 Combine results sets with UNION 11:06
194 UNION with filters and conditions 10:27
195 UNION tables with different number of columns 03:29
196 INTERSECT with tables 04:27
197 EXCEPT with tables 05:49
198 What is a Schema? 06:09
199 Schema Operations (Add/Alter/Delete schemas) 07:25
200 Schema Hierarchy 06:22
201 Move a table to a new schema 02:54
202 Schema search path 14:11
203 Alter a schema ownership 02:08
204 Duplicate a schema along with all data 06:20
205 What is a system catalog schema? 05:21
206 Compare tables and columns in two schemas 07:41
207 Schemas and Privileges 06:30
208 Constructing arrays and ranges 07:23
209 Using comparison operators 07:44
210 Using inclusion operators 04:17
211 Array constructions 05:15
212 Array metadata functions 08:42
213 Array search functions 06:33
214 Array modification functions 06:47
215 Array comparison with IN, ALL, ANY and SOME 13:03
216 Formatting and converting an array 09:04
217 Using arrays in tables 04:34
218 Insert data into arrays 05:51
219 Query array data 07:10
220 Modifying array data 03:08
221 Array Dimensions are ignored! 04:12
222 Display all array elements 03:53
223 Using Multi-dimensional arrays 10:38
224 Array vs JSONB 14:04
225 What is JSON? 04:22
226 JSON Syntax 09:07
227 JSON and JSONB data types 04:10
228 Exploring JSON objects 06:31
229 Create our first table with JSONB data type 07:49
230 Update and Delete JSON Data 12:47
231 Create JSON from tables 05:05
232 Use json_agg to aggregate data 05:24
233 Build a JSON array 04:40
234 Creating a document from data 06:17
235 Null Values in JSON documents 05:05
236 Getting information from JSON documents 06:26
237 The Existence Operator 02:55
238 The Containment Operator 04:07
239 JSON search with PostgreSQL functions 04:09
240 Indexing on JSONB 11:30
241 What is an index? 03:57
242 Create an index 15:48
243 Create unique indexes 11:11
244 List all indexes 04:18
245 Size of the table index 05:19
246 List counts of all indexes 04:35
247 Drop a index 03:35
248 SQL Statement execution process 04:36
249 SQL statement execution stages 06:36
250 The query optimizer 09:31
251 Optimizer node types 05:50
252 Sequential Nodes 06:24
253 Index Nodes 07:52
254 Join Nodes 06:47
255 Index Types - B-Tree Index 04:48
256 Hash Index 04:45
257 BRIN index 02:23
258 GIN Index 01:56
259 The EXPLAIN statement 14:32
260 EXPLAIN output options 02:56
261 Using EXPLAIN ANALYZE 09:11
262 Understanding query cost model 13:45
263 Index are not free 12:04
264 Indexes for sorted output 08:52
265 Using multiple indexes on a single query 07:52
266 Execution plans depends on input values 07:03
267 Using organized vs random data 20:11
268 Try to use index only scan 04:08
269 Partial indexes 11:08
270 Expression Index 16:26
271 Adding data while indexing 03:12
272 Invalidating an index 07:55
273 Rebuilding an index 07:10
274 Introduction to views 07:21
275 Creating a view 10:53
276 Rename a view 04:29
277 Delete a view 01:55
278 Using filters with views 07:09
279 A view with UNION of multiple tables 04:09
280 Connecting multiple tables with a single view 07:18
281 Re-arrange columns in a view 03:01
282 Delete a column in a view 01:52
283 Add a column in a view 02:19
284 Regular views are dynamic 02:37
285 What is an updatable view? 03:55
286 An updatable view with CRUD operations 05:28
287 Updatable views using WITH CHECK OPTION 07:54
288 Updatable views using WITH LOCAL and CASCADED CHECK OPTION 09:28
289 What is a Materialized View 09:30
290 Creating a materialized view 04:41
291 Drop a materialized view 03:21
292 Changing materialized view data 06:41
293 How to check if a materialized view is populated or not? 02:46
294 Refreshing data in materialize views 06:35
295 Why not use a table instead of materialized view? 04:16
296 The downsides of using materialized views 03:25
297 Using materialized view for websites page analysis 11:25
298 List all materialized views by a SELECT statement 01:34
299 List materialized views with no unique index 03:49
300 Subqueries with WHERE Clause 13:09
301 Subquery with IN operator 04:50
302 Subquery with JOINs 08:38
303 Order entries in UNION without using ORDER BY 04:13
304 Subquery with an alias 01:24
305 A SELECT without a FROM 02:42
306 Correlated Queries 11:59
307 SELECT.. IN (Subquery) 07:04
308 Using ANY with subquery 07:45
309 Using ALL with subquery 08:16
310 Subquery using EXISTS 04:52
311 Introduction to CTEs 05:45
312 CTE query examples 15:45
313 Combine CTE with a table 07:00
314 Simultaneously DELETE INSERT via CTE 08:18
315 Recursive CTEs 04:46
316 Parent-child relationship via recursive CTE 19:48
317 Introduction to summarization 03:32
318 Subtotals on group sets 12:00
319 Adding subtotal with ROLLUP 07:34
320 Using GROUPING with ROLLUP 13:55
321 Introduction to Window Functions 03:36
322 Analyze Global Trades Data 08:23
323 Using aggregate functions 09:01
324 GROUP BY ROLLUP 05:25
325 ROLLUP - Grouping multiple columns 04:10
326 GROUP BY CUBE 05:06
327 GROUP BY GROUPING SETS 03:37
328 Query performance check 05:08
329 Using FILTER clause 05:27
330 Using Window Functions 04:44
331 Partitioning the data 04:38
332 Set data into millions format 02:45
333 Ordering inside window 08:19
334 Sliding dynamic windows 08:06
335 Understanding window frames 21:41
336 ROWS and RANGE indicators 11:00
337 Using WINDOW 08:43
338 Using WINDOW with ROWS BETWEEN 03:22
339 RANK and DENSE_RANK functions 05:01
340 NTILE function 09:01
341 LEAD and LAG functions 14:25
342 FIRST_VALUE, LAST_VALUE and NTH_value functions 14:28
343 ROW_NUMBER function 09:57
344 Finding Correlations 05:52
345 ROW_NUMBER() - Window with Partition datasets 09:46
346 ROW_NUMBER() - Reverse fields with order by 02:24
347 ROW_NUMBER() - Find Nth record 03:17
348 ROW_NUMBER() - Find DISTINCT with subquery 05:01
349 ROW_NUMBER() - Pagination technique 06:29
350 Using OVER() to calculate percentage 06:01
351 Calculate difference compared to average 05:52
352 Calculating cumulative totals 05:09
353 Using LEAD to compare with next values 05:37
354 Comparing with least number 09:34
355 Window Function Summary 04:24
356 Planning tips on using Window Functions 06:52
357 Difference between RANK and DENSE_RANK 03:01
358 Getting RANK to compute group and global ranks 04:59
359 Using PARTITION BY for group averages 06:22
360 Using WITH clause to create your own data 04:16
361 Using WITH clause to set ORDER BY values 06:40
362 DELETE and INSERT in one query using WITH 05:23
363 Text to structured data 06:19
364 Regular expressions notations table 09:01
365 SIMILAR TO operator 06:43
366 POSIX regular expressions 04:57
367 SUBSTRING with regular expressions 17:54
368 REGEXP_MATCHES Function 09:53
369 REGEXP_REPLACE Function 08:01
370 REGEXP_SPLIT_TO_TABLE Function 01:30
371 REGEXP_SPLIT_TO_ARRAY function 02:45
372 The Good Ol' Text Search 09:08
373 Introducing tsvector 11:38
374 Using tsquery with operators 15:46
375 Full text search within a table 14:39
376 Setup presidents speeches data 07:41
377 Analyzing presidents speeches text data 07:45
378 Ranking and Normalizing text results 05:33
379 What is a partition 05:50
380 When a partition can be used? 18:25
381 Table inheritance 16:12
382 Partition types 02:41
383 Partition by Range 19:23
384 Partition by List 23:32
385 Partition by Hash 13:58
386 DEFAULT Partition 06:46
387 Multi-level partitioning 13:57
388 Partition maintenance 05:07
389 ALTERing the partition bounds 09:23
390 Partition Indexes 07:12
391 Partition pruning 03:59
392 Determining a field for partition over 07:43
393 Sizing the partition 05:57
394 Partitioning Advantages 04:55
395 Common partitioning mistakes 04:43
396 PostgreSQL as a development platform? 09:48
397 Procedural languages 05:20
398 Keep the data on the server! 05:48
399 Functions vs stored procedures 03:53
400 User-defined functions 03:31
401 Structure of a function 02:36
402 Creating our first SQL function 10:02
403 Introducing dollar quoting 03:47
404 Function returning no values 05:07
405 Function returning a single value 12:24
406 Function returning a single value Part 2 05:38
407 Function returning a single value Part 3 03:43
408 Function using parameters 14:04
409 Function using parameters Part 2 05:21
410 Function using parameters Part 3 14:43
411 Function using parameters Part 4 13:19
412 Function returning a composite 13:10
413 Function returning multiple rows 10:23
414 Function - order matters! 03:10
415 Function returning a table 02:55
416 Function as a table source 10:38
417 Function parameter modes 03:10
418 Function parameters with default values 11:20
419 Function based on views 06:57
420 Drop a function 04:19
421 Introduction to PL/pgSQL language 02:10
422 PL/pgSQL vs SQL 02:41
423 Structure of a PL/pgSQL function 05:16
424 PL/pgSQL block structure 02:19
425 Declaring variables 06:03
426 Declaring variables via ALIAS FOR 01:41
427 Declaring variables in function 05:40
428 Variable initializing timing 02:28
429 Copying data types 03:08
430 Assigning variables from query 10:03
431 Using IN, OUT without RETURNS 04:36
432 Variables in block and subblock 04:51
433 How to return query results 05:49
434 Control Structures - IF statement 09:07
435 Using IF with table data 06:06
436 CASE Statement 12:38
437 Searched CASE statement 12:12
438 LOOP statement 06:20
439 FOR Loops 05:50
440 FOR Loops iterate over result set 04:28
441 CONTINUE statement 05:20
442 FOREACH loop with arrays 04:08
443 WHILE loop 13:39
444 Using RETURN QUERY 11:37
445 Returning a table 04:38
446 Using RETURN NEXT 14:49
447 Error and exception handling 06:29
448 Exception - Too many rows 05:40
449 Using SQLSTATE codes for exception handling 04:20
450 Exception with data exception errors 07:22
451 Functions vs Stored Procedures 05:37
452 Create a transactions 08:16
453 Understanding the use of stored procedures 05:09
454 Returning a value 04:11
455 Drop a procedure 01:55
456 What is a trigger 10:41
457 Types of triggers 02:35
458 Trigger table 02:55
459 Pros and Cons of triggers 10:44
460 Trigger key points 02:46
461 Steps to create a trigger 05:29
462 Data auditing with a trigger 11:41
463 Bind a function to a table with trigger 08:39
464 Modify data at INSERT event 11:57
465 View triggers variables 04:54
466 Disallow DELETE on a table 10:08
467 Disallow TRUNCATE on a table 05:18
468 Creating an audit trigger 20:43
469 Creating conditional triggers 15:06
470 Disallow data change on primary key 05:37
471 Use triggers very cautiously 03:31
472 What is an event trigger 01:51
473 Event triggers usage scenarios 03:22
474 Creating event triggers 04:37
475 Event trigger events and variables 04:26
476 Creating an audit event trigger 14:58
477 Prevent schema changes 08:53
478 Dropping a trigger 00:58
479 Understanding row by row operations 06:41
480 Cursors and procedural languages 04:31
481 Steps to create a cursor 02:47
482 Creating a cursor 08:39
483 Opening a cursor 09:40
484 Using a cursor 06:34
485 Updating data 01:43
486 Closing a cursor 01:23
487 Creating a PL/PGSQL Cursor 10:32
488 Using a parametric cursor via function 14:04
489 What is a crosstab report 04:03
490 Installing the tablefunc extension 01:54
491 Creating a crosstab report - Student Rankings 14:39
492 Orders matters in crosstab reports 03:03
493 Pivoting with Rainfalls data 11:03
494 Pivoting rows and columns 04:03
495 Matrix report via a query 09:57
496 Aggregate over filter 05:49
497 Static to dynamic pivots 06:51
498 Dynamic pivot query via JSON 06:59
499 Dynamic pivot table columns 17:17
500 Interactive client-side pivot 06:06
501 Handling missing values 10:32
502 Global Character Set Support 10:15
503 Client and Server Encoding 11:55
504 What is a transaction? 08:36
505 How SQL protect database during transaction 05:21
506 ACID Database 08:41
507 Transaction setup 02:22
508 Transaction analysis 13:45
509 How to fix aborted transaction 03:45
510 How to fix transactions on crash 05:33
511 Partial transaction rollback with savepoints 03:37
512 Using SAVEPOINT with transaction 05:41
513 Using Northwind database 01:12
514 Orders shipping to USA or France 02:09
515 Total numbers of orders shipped to USA or France 01:49
516 Orders shipped to latin america 03:22
517 Show total order amount for each order 04:02
518 First the oldest and latest order date 02:27
519 Total products in each categories 03:56
520 List products that needs re-ordering 03:42
521 Freight analysis 10:01
522 Customers with no orders 05:53
523 Top customers with total orders amount 04:59
524 Orders with many lines of ordered items 02:50
525 Orders with double entry line items 10:17
526 Late shipped orders by employees 10:53
527 Countries with customers or suppliers 02:51
528 Countries with customers or suppliers - Using CTE 06:16
529 Customers with multiple orders 07:23
530 First order from each country 07:49
531 Human Resources Database Structure 03:15
532 Quick overview of all tables 05:32
533 Quick overview of all tables Part 2 03:21
534 Get highest, lowest, total, and average salaries of employees 03:50
535 Difference b/w highest and lowest salaries by job_id 01:26
536 Get lowest paid salaries by each manager 02:16
537 Average salary for each department with more than 10 employees. 02:37
538 Average salary for each post excluding programmer 02:00
539 Maximum salary for each post where salary is at or above $5000 02:29
540 Using an alias name with columns 01:41
541 Compute 15% of salary for all employees 02:53
542 To list all employees IDs within each job_id group 01:23
543 Discard characters from employees email address 05:43
544 List all employees with first_name starts with letters "A", "C" or "M" 03:13
545 String manipulation with upper, lower and initcap functions 02:06
546 Using SUBSTRING to get portion of string data 00:53
547 Get unique designations in employees table 02:10
548 Select employees with particular department id only 02:16
549 Select employees not in range 03:22
550 Find Letter "C" in last_name at 3rd or greater position 02:37
551 Update phone_number with your strings 02:58
552 Get the monthly salary of each employees 02:12
553 Calculate average salary with total number of employees 01:52
554 find employees whose names contains exactly six characters 02:30
555 Select first or last records in a table 03:50
556 Get first or last record per each group 04:17
557 How to calculate cube root in PostgreSQL? 01:56
558 Security concepts and and levels 04:19
559 Instance Level Security 05:38
560 Instance Level Security - Add users to roles 04:31
561 Use pgAdmin to create roles 04:08
562 Database Level Security 05:34
563 Schema Level Security 11:14
564 Table Level Security 11:06
565 Column Level Security 08:33
566 Row Level Security 14:54
567 Using CURRENT_USER with RLS 06:15
568 Row level policy for application users 05:04
569 DROP a policy 02:22
570 Inspecting permissions 02:51
571 Row Level Security Performance 04:17
572 Encrypted data in columns 07:20
573 Connect to local or remote database 04:08
574 Switch connection to a new database 01:46
575 List all databases and tables 03:25
576 List all table space, schemas, and indices 03:33
577 List all sequences, roles, data types, domain data types 07:12
578 Describe a table 01:02
579 Edit SQL commands in editor 01:18
580 Display command history, run commands from a file 03:06
581 Built-in syntax reference for commands 01:06
582 Represent NULL values on psql terminal 03:51
583 Make table layout funkey! 02:11
584 Repeatedly Execute a Query 01:42
585 Represent NULL Visibly 03:51
586 Turn on query execution time 02:45
587 List database users, and database sizes with and without indexes 04:11
588 List all database and schemas 04:21
589 List all tables and views 08:25
590 List all columns from a table 02:47
591 View system metadata via system information functions 02:34
592 View privileges information across tables 08:16
593 Using system Administration functions 05:25
594 Show all running queries 04:17
595 Terminate running and IDLE process 02:55
596 How to check live and dead rows in tables 01:50
597 File layout of PostgreSQL Tables 09:22
598 Using SELECT INTO to create a new table with joins 12:07
599 Duplicate a table with or without data 03:09
600 Import data from CSV files 07:00
601 Export Data to CSV files 02:43
602 Deleting duplicate records 07:27
603 Database operations and table size 05:58
604 Tracking table size 07:27
605 PostgreSQL autovacuum proces 10:29
606 Recovering unused space with VACUUM 09:56
607 Generated Columns 10:46
608 Create a custom index method 22:37
609 Create a user-defined aggregate function 10:57
610 Thank You! 00:49

Similar courses to PostgreSQL Bootcamp : Go From Beginner to Advanced, 60+hours

MySQL High Performance Tuning Guide

MySQL High Performance Tuning Guideudemy

Duration 2 hours 49 minutes 22 seconds
Learn Database Design with MySQL

Learn Database Design with MySQLoreillymedia

Duration 6 hours 14 minutes 51 seconds
Complete SQL Mastery

Complete SQL Masterycodewithmosh (Mosh Hamedani)

Duration 10 hours 47 minutes 7 seconds