Friday, 13 January 2023

PostgreSQL Refcursor || Cursors In PostgreSQL || Part 4 Refcursor Cursor...


In the fourth installment of our PostgreSQL Cursors series, we dive into the world of Refcursors, a powerful and flexible feature in PostgreSQL that allows for dynamic and complex data retrieval. Unlike regular cursors, Refcursors provide the ability to open a cursor in one function and fetch data from it in another, making them incredibly useful for modular and reusable database operations.

This tutorial begins with an introduction to Refcursors, explaining what they are and how they differ from other types of cursors available in PostgreSQL. We then move on to demonstrate how to declare, open, and use Refcursors within your database procedures, providing step-by-step instructions and practical examples to ensure you understand the concept thoroughly.

We also cover scenarios where Refcursors shine, such as when you need to return a cursor from a function to be used later or in different parts of your application. Additionally, we discuss best practices for using Refcursors efficiently, ensuring that your database operations remain performant and reliable.

Whether you’re managing complex queries or looking to build more modular database functions, this video will equip you with the knowledge needed to effectively utilize Refcursors in PostgreSQL.


PostgreSQL Refcursors, Refcursors in PostgreSQL, PostgreSQL cursors, advanced SQL cursors, using Refcursors PostgreSQL, SQL Refcursor examples, PostgreSQL database management, dynamic data handling, database programming, PostgreSQL tutorial


select refcursor_cursor(1,'lv_refcursor');
fetch all in lv_refcursor;

create or replace function refcursor_cursor(in_actor_id in integer, lv_ref_cur refcursor)
returns refcursor
language plpgsql
as $$
begin
open lv_ref_cur
for select 'Title: '||f.title as Title
from film_actor fa, film f
where fa.film_id = f.film_id
and fa.actor_id = in_actor_id;
return lv_ref_cur;
exception when others then
raise notice 'Something Went Wrong';
end;
$$

Thursday, 12 January 2023

PostgreSQL Cursors || Cursors Available In PostgreSQL || Part 3 For Loop...


In the third part of our PostgreSQL Cursors series, we focus on For Loop Cursors, a powerful feature that allows you to iterate over the rows of a result set one by one. This technique is particularly useful when you need to perform operations on each row returned by a query, such as updating records, calculating values, or logging data.

We begin by explaining the concept of cursors in a For Loop and how they differ from other types of cursors. You’ll learn how to declare and use a For Loop Cursor in PostgreSQL, with step-by-step instructions and clear examples that demonstrate its practical applications. We also discuss common scenarios where For Loop Cursors are most effective, such as batch processing and automated data handling tasks.

The video also covers best practices for using For Loop Cursors efficiently, including tips on optimizing performance and managing resources within your PostgreSQL environment. By the end of this tutorial, you will have a thorough understanding of how to leverage For Loop Cursors to automate and enhance your database operations.

Whether you're new to PostgreSQL or looking to expand your expertise, this tutorial provides valuable insights into the effective use of cursors in a loop for database programming.

PostgreSQL For Loop Cursors, using For Loop Cursors PostgreSQL, cursor loops in PostgreSQL, SQL cursors tutorial, PostgreSQL database management, loop processing SQL, PostgreSQL cursor examples, data handling PostgreSQL, database automation, advanced SQL techniques


call for_loop_cursor(1);

create or replace procedure for_loop_cursor(in_actor_id in integer)
language plpgsql
as $$
declare
lv_string character varying(200);
loop_rec record;
begin
for loop_rec in 
select f.title from film_actor fa,film f 
where fa.film_id = f.film_id 
and actor_id = in_actor_id
LOOP
lv_string := 'Title: '||loop_rec.title;
raise notice '%',lv_string;
end loop;
exception when others then
raise notice 'Something Went Wrong';
end;
$$

Saturday, 7 January 2023

PostgreSQL Cursors || Cursors Available In PostgreSQL || Part 2 Paramete...



In Part 2 of our PostgreSQL Cursors series, we focus on Parameterized Cursors, an advanced type of cursor that allows for dynamic data retrieval based on parameters passed at runtime. Parameterized cursors are incredibly useful when you need to execute the same query with different values, making your database operations more flexible and efficient.

The tutorial begins with a brief overview of what parameterized cursors are and how they differ from simple cursors. You’ll learn how to define a parameterized cursor in PostgreSQL, set the necessary parameters, and use these cursors to fetch data dynamically. The video includes detailed, step-by-step examples that illustrate how to use parameterized cursors in various scenarios, such as filtering data or performing operations on subsets of data based on different criteria.

We also cover the best practices for managing parameterized cursors, ensuring that your queries run efficiently without putting undue strain on your database resources. By the end of this video, you will have a solid understanding of how to implement and optimize parameterized cursors in your PostgreSQL environment, helping you to build more dynamic and responsive database applications.

Whether you're a database administrator, developer, or just looking to deepen your PostgreSQL knowledge, this tutorial provides the insights and techniques you need to effectively use parameterized cursors.

PostgreSQL parameterized cursors, parameterized cursors PostgreSQL, dynamic SQL PostgreSQL, using cursors in PostgreSQL, SQL parameterized queries, PostgreSQL cursor examples, PostgreSQL tutorial, database management, advanced SQL, PostgreSQL tips


call parameterized_cursor(1);

create or replace procedure parameterized_cursor(in_actor_id in integer)
language plpgsql
as $$
declare
lv_string character varying(200);
loop_rec record;
rec1 record;
cur1 cursor(p_film_id integer) for 
select title from film where film_id = p_film_id order by film_id;
begin
for loop_rec in select film_id from film_actor where actor_id = in_actor_id
LOOP
open cur1(loop_rec.film_id);
loop 
fetch cur1 into rec1;
exit when not found;
lv_string := 'Title: '||rec1.title;
raise notice '%',lv_string;
end loop;
close cur1;
end loop;
exception when others then
raise notice 'Something Went Wrong';
end;
$$

Keywords

postgresql cursors parameterized cursor cursors available in postgresql,
parameterized cursor,
parameterised cursor,
cursors available in postgresql,
postgresql cursors,
postgresql,
cursors,
cursor,
postgres,
pg admin,
pg admin 4,
postgres pg admin,
how to create cursor in posgresql,
create cursor in posgresql,
create parameterized cursor,
create parameterised cursor,
fetch cursor,
loop cursor,
exit cursor,
declare cursor,
define cursor,
cursor in procedure,
cursor in function,
knowledge 360,
akram sohail

Wednesday, 4 January 2023

PostgreSQL Cursors || Cursors Available In PostgreSQL || Part 1 Simple C...


In this video, we introduce you to PostgreSQL Cursors, focusing on simple cursors as the first part of our series on cursors available in PostgreSQL. Cursors are an essential tool for managing large result sets, allowing you to retrieve and process data in smaller, more manageable chunks rather than all at once.

We start by explaining what a cursor is and how it works in PostgreSQL. You'll learn the scenarios where cursors are particularly useful, such as when working with large datasets or when you need to process query results row by row. The video then guides you through the steps to create and use a simple cursor, with clear and concise examples to help you understand how to implement this in your own database projects.

Additionally, we discuss best practices for using cursors effectively, ensuring that you can handle large amounts of data without overloading your system or causing performance issues. By the end of this tutorial, you'll have a solid understanding of how to leverage simple cursors in PostgreSQL, setting the foundation for more advanced cursor techniques in upcoming videos.

Whether you’re a beginner or looking to expand your PostgreSQL skills, this video is a great resource for understanding and utilizing cursors in your database operations.


PostgreSQL cursors, simple cursor PostgreSQL, using cursors in PostgreSQL, SQL cursors tutorial, PostgreSQL database management, fetch data with cursors, PostgreSQL cursor example, data handling PostgreSQL, database optimization, PostgreSQL tutorial


call simple_cursor();

create or replace procedure simple_cursor()
language plpgsql
as $$
declare
lv_string character varying(200);
rec1 record;
cur1 cursor for 
select actor_id, first_name, last_name as end_name from actor order by actor_id;
begin
open cur1;
loop 
fetch cur1 into rec1;
exit when not found;
lv_string := 'Actor ID: '||rec1.actor_id||', Actor First Name: '||rec1.first_name||', Actor Last Name: '||rec1.end_name;
raise notice '%',lv_string;
end loop;
close cur1;
exception when others then
raise notice 'Something Went Wrong';
end;
$$



Keywords:

postgresql cursors simple cursor cursors available in postgresql,simple cursor,cursors available in postgresql,postgresql cursors,postgresql,cursors,cursor,postgres,pg admin,pg admin 4,postgres pg admin,how to create cursor in posgresql,create cursor in posgresql,create simple cursor,fetch cursor,loop cursor,exit cursor,declare cursor,define cursor,cursor in procedure,cursor in function,knowledge 360,akram sohail,cursors in postgresql,postgresql cursor syntax

Friday, 18 November 2022

How To Resolve/Fix 'ServerManager' Object Has No Attribute 'user info' I...


If you’ve encountered the 'ServerManager' object has no attribute 'user info' error in PostgreSQL pgAdmin 4, you’re not alone. This common error can be frustrating, but with the right steps, it can be resolved quickly. In this tutorial, we guide you through the process of identifying the cause of this issue and implementing the correct fix.

We begin by explaining what this error means and why it occurs in the PostgreSQL environment. You'll learn about the underlying factors that can lead to this issue, such as configuration problems or software bugs. Then, we provide a detailed, step-by-step walkthrough of the solution, ensuring that you can follow along and apply the fix to your own setup.

Additionally, the video covers preventative measures to help you avoid encountering this error in the future. By understanding the root cause and applying best practices in your PostgreSQL and pgAdmin 4 configurations, you can maintain a more stable and reliable database environment.

This tutorial is essential for database administrators, developers, or anyone who regularly works with PostgreSQL and pgAdmin 4. Whether you’re troubleshooting this error for the first time or looking to improve your PostgreSQL management skills, this video offers valuable insights and solutions.

PostgreSQL error fix, ServerManager object error, pgAdmin 4 troubleshooting, PostgreSQL troubleshooting, fix ServerManager error, PostgreSQL pgAdmin 4 tips, database error resolution, PostgreSQL tutorial, SQL error fixing, pgAdmin 4 user info error


Download pgAdmin 4: https://www.pgadmin.org/download/pgadmin-4-windows/ How To Resolve/Fix 'ServerManager' Object Has No Attribute 'user info' In PostgreSQL pgAdmin 4 v6.16 'ServerManager' object has no attribute 'user_info' For PostgreSQL 15, the pgAdmin is not supported. We have the pgAdmin 4 6.8 version. But we need to install the latest version which comes with the installation file for PostgreSQL. I have already made that video. The link is in the description to download that. So we need to download only the pgAdmin. If we want to keep our database as it is. The pgAdmin download link is given in the video description. We have version 6.8 but the latest v is 6.16 Before installing this one, let's close the pgAdmin. Open the pgAdmin 4 v6 As we can see, I am able to log in to PostgreSQL 15 version. Also, I can see my PostgreSQL 14 as well, along with my previous works. Well, if you don't want to keep the previous version at all. Uninstall the existing system PostgreSQL. Then install PostgreSQL 15, which will come with the latest version of pgAdmin 4 itself. Thanks for watching... How To Resolve/Fix 'ServerManager' Object Has No Attribute 'user info' In PostgreSQL pgAdmin 4, Resolve/Fix 'ServerManager' Object Has No Attribute 'user info', 'ServerManager' Object Has No Attribute 'user info', Resolve/Fix 'ServerManager' Object Has No Attribute 'user info', Resolve 'ServerManager' Object Has No Attribute 'user info', Fix 'ServerManager' Object Has No Attribute 'user info', PostgreSQL pgAdmin 4, PostgreSQL, internal server error, resolve server error, fix server manager, fix user info postgres

Wednesday, 16 November 2022

How To Call A Stored Procedure From Another Stored Procedure In PostgreS...


In this tutorial, we explore a powerful feature of PostgreSQL: calling a stored procedure from another stored procedure using PL/pgSQL. This capability allows you to create more modular and organized database operations, making your code easier to maintain, reuse, and manage.

The video starts by introducing the concept of stored procedures in PostgreSQL and explains why you might want to call one stored procedure from another. We then dive into the syntax and structure required to implement this technique, providing clear, step-by-step instructions. You'll see how to pass parameters between procedures, handle return values, and manage potential errors effectively.

Additionally, the tutorial includes practical examples that demonstrate how nested stored procedures can be used in real-world database applications, such as managing complex business logic, automating repetitive tasks, or structuring large codebases. We also cover best practices for writing PL/pgSQL code, ensuring that your stored procedures are efficient, readable, and maintainable.

By the end of this video, you'll have a solid understanding of how to leverage nested stored procedures in PostgreSQL, enabling you to build more sophisticated and flexible database applications.

Whether you’re a database administrator, developer, or just looking to deepen your PostgreSQL knowledge, this tutorial provides the insights and techniques you need to effectively use stored procedures in PL/pgSQL.

PostgreSQL stored procedures, calling stored procedure PostgreSQL, PL/pgSQL nested procedures, PostgreSQL tutorial, database management, PostgreSQL stored procedure example, SQL programming, advanced SQL, pgAdmin tutorial, PostgreSQL tips



/*In this video we will see how to call a stored procedure 
from another stored procedure in PostgreSQL PLpgSQL*/

-- Please watch till the end, and leave a like-comment.
-- Don't forget to subscribe the channel

CREATE OR REPLACE PROCEDURE public.proc1()
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
BEGIN
 RAISE NOTICE 'This is proc 1, it will be called from proc2';
END;
$BODY$;

-- This is proc1 I have created
-- This will display the output
-- so, lets create it


CREATE OR REPLACE PROCEDURE public.proc2()
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
BEGIN
RAISE NOTICE 'This is proc 2';
-- Calling another procedure proc1()
call proc1(); -- here it is
END;
$BODY$;

-- This is proc2
-- I am calling proc1 inside proc2
-- When it gets executed, it should give output like this

-- 'This is proc 2'
-- 'This is proc 1, it will be called from proc2'

-- Now, lets call the procedure

-- In the next video, I will show how to call a parameterized procedure or function with
-- OUT parameter
-- Please subscribe the channel to get updates for such videos

call proc2();

-- As shown, the procedure is getting called from another procedure
-- Thanks for watching
-- Please leave your comment for the video

-- Source codes you will find from video description

Sunday, 28 August 2022

How To Resolve/Fix PostgreSQL Default Value Not Working || PostgreSQL Co...


If you’re facing issues with PostgreSQL default values not working in your columns, this tutorial is here to help. Default values are a key feature in database management, ensuring that specific columns automatically populate with preset data when no value is provided. However, there are times when these default values might not function as expected, leading to potential data inconsistencies or application errors.

In this video, we explore the possible reasons why default values might not be applied in your PostgreSQL database, such as incorrect column definitions, conflicts with triggers, or issues within the pgAdmin interface. We provide a detailed, step-by-step guide to diagnosing and fixing these problems, ensuring that your default values are correctly implemented and operational.

We start by reviewing how to properly set default values in PostgreSQL, including using the SQL DEFAULT clause in table definitions. Then, we demonstrate common pitfalls that could prevent these defaults from working, along with practical solutions to resolve each issue. You'll also learn how to test and validate that the default values are working as intended after applying the fix.

Whether you’re a seasoned database administrator or a developer just getting started with PostgreSQL, this tutorial will equip you with the knowledge to troubleshoot and fix default value issues efficiently. By the end of the video, you'll have a clear understanding of how to manage default values in PostgreSQL, ensuring your database remains reliable and consistent.

PostgreSQL default value, fix default value PostgreSQL, PostgreSQL column default, troubleshooting PostgreSQL, pgAdmin default value issue, SQL default value, PostgreSQL tutorial, PostgreSQL tips, database management, PostgreSQL error fix



-- In this video, we will

-- Use A Default Value
-- Default Value Not Working
-- Alter Column With A Default Value
-- Alter Column Datatype

-- So, keep watching and subscribe my channel

CREATE TABLE EMP(
ID NUMERIC,
NAME CHARACTER VARYING(20),
SALARY NUMERIC(10,2),
DEPTNO CHARACTER VARYING(10)
);


INSERT INTO EMP(id,name,salary,deptno)
values(1,'Akram',100.23,'10');
select * from emp;

-- Now, let's alter the table, and make Salary column default


Alter table emp alter column salary set default 50;

-- First I will show you when it works and then it won't work.


INSERT INTO EMP(id,name,deptno)
values(2,'Sohail','10');
-- This must have inserted salary as 50, which I have set default value.
-- Let's check

Select * from emp;

-- Now, I will show you when default value won't work

INSERT INTO EMP(id,name,salary,deptno)
values(3,'Knowledge 360',null,'15');

-- Here, the salary must be inserted as NULL

Select * from emp;

-- So, the conclusion is, whenever we give the default value, we do not
-- need to mention the column in the insert statement.
-- If we do so, then we have to put some value, even if it is null
-- The database will accept the null


PostgreSQL Default Value Not Working,
How To Resolve PostgreSQL Default Value Not Working,
How To Fix PostgreSQL Default Value Not Working,
Resolve PostgreSQL Default Value Not Working,
Fix PostgreSQL Default Value Not Working,
PostgreSQL Column Default Value,
pgAdmin,
Column Default Value,
PostgreSQL

Thursday, 18 August 2022

How To Create Sequence In PostgreSQL And Usage Of Sequence || Table Prim...


Sequences in PostgreSQL are a powerful tool for managing auto-incrementing values, often used for primary keys in tables or as a part of stored procedures to maintain data consistency and integrity. In this comprehensive tutorial, we walk you through the process of creating and using sequences in PostgreSQL, ensuring you have the skills to implement them effectively in your database projects.

The video starts with an introduction to sequences, explaining what they are and why they are essential in PostgreSQL. We then provide step-by-step instructions on how to create a sequence, from the basic SQL commands to more advanced options that allow you to customize how your sequence behaves.

Next, we explore the practical applications of sequences, particularly how they can be linked to table columns as primary keys, ensuring that each new entry automatically receives a unique value. This is a crucial aspect of database management, as it helps maintain data integrity and avoid conflicts in primary key values.

We also dive into how sequences can be utilized within stored procedures, allowing for dynamic data operations that can adapt to changing conditions within your database. Whether you’re automating tasks or managing large datasets, understanding how to integrate sequences into your stored procedures will make your database operations more efficient and robust.

This tutorial is essential for anyone looking to deepen their PostgreSQL knowledge, particularly in areas related to database management and stored procedures. By the end of the video, you'll be equipped with the skills to create, manage, and utilize sequences effectively in your PostgreSQL databases.

PostgreSQL sequence, create sequence PostgreSQL, sequence usage PostgreSQL, PostgreSQL primary key, auto-increment PostgreSQL, PostgreSQL stored procedure, database management, SQL sequence, PostgreSQL tutorial, pgAdmin sequence


How To Create Sequence In PostgreSQL And Usage Of Sequence || Table Primary Key || Stored Procedure

CREATE SEQUENCE tbl_emp_seq
START WITH 1 -- VALUE WILL START WITH 1
INCREMENT BY 1 -- IT WILL GET INCREMENT BY 1
MINVALUE 1 -- MINIMUM VALUE CAN BE 1
MAXVALUE 10 -- MAXIMUM VALUE CAN BE 10
CYCLE; -- CYCLE MEANS, AFTER REACHING MAXVALUE, WHICH IS 10 HERE, THE SEQUENCE WILL START AGAIN FROM 1
-- NOW LET'S SEE THE SEQUENCE VALUE
-- USE THE BELOW STATEMENT FOR SEQUENCE VALUE

SELECT NEXTVAL('tbl_emp_seq');

-- THE VALUE REACHED MAXVALUE, NOW IT WILL AGAIN START FROM 1

-- NOW LET'S SEE THE CASE OF NO CYCLE
-- IN CASE OF NO CYCLE, THE SEQUENCE WON'T START AGAIN FROM 1
-- IT WILL THROW AN ERROR AFTER REACHING THE MAX VALUE

DROP SEQUENCE tbl_emp_seq;


CREATE SEQUENCE tbl_emp_seq
START WITH 1 -- VALUE WILL START WITH 1
INCREMENT BY 1 -- IT WILL GET INCREMENT BY 1
MINVALUE 1 -- MINIMUM VALUE CAN BE 1
MAXVALUE 10 -- MAXIMUM VALUE CAN BE 10
NO CYCLE; 


SELECT NEXTVAL('tbl_emp_seq');

-- HERE THE MAX VALUE IS REACHED, SO IF WE TRY TO GET THE VALUE AFTER THAT, WE WILL GET AN ERROR

ERROR:  nextval: reached maximum value of sequence "tbl_emp_seq" (10)
SQL state: 2200H

-- THIS IS WHY WE USUALLY KEEP THE MAXVALUE VERY HIGH AS MUCH POSSIBLE

-- NOW LET'S CREATE AN ACTUAL SEQUENCE AND USE IN A TABLE TO GENERATE VALUES AUTOMATICALLY

CREATE SEQUENCE tbl_emp_seq
START WITH 1 -- VALUE WILL START WITH 1
INCREMENT BY 1 -- IT WILL GET INCREMENT BY 1
MINVALUE 1 -- MINIMUM VALUE CAN BE 1
MAXVALUE 10000000000 -- MAXIMUM VALUE CAN BE 10
NO CYCLE; 


CREATE TABLE EMP
(
EMP_ID INTEGER DEFAULT NEXTVAL('tbl_emp_seq'),
EMP_NAME VARCHAR(50),
SALARY NUMERIC(5,2)
);

INSERT INTO EMP(EMP_NAME,SALARY) VALUES ('AKRAM',100.56);
INSERT INTO EMP(EMP_NAME,SALARY) VALUES ('SOHAIL',670.56);
INSERT INTO EMP(EMP_NAME,SALARY) VALUES ('KNOWLEDGE 360',757.87);

SELECT * FROM EMP;

-- WE CAN SEE, THE EMP_ID VALUES ARE GENERATED FROM SEQUENCE

-- NOW LET'S USE THE SEQUENCE IN A STORED PROCEDURE

CREATE OR REPLACE PROCEDURE public.EMP_PROC()
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
V_EMP_SEQ_VAL INTEGER;
BEGIN
SELECT NEXTVAL('tbl_emp_seq') into V_EMP_SEQ_VAL;
insert into emp(emp_id,emp_name,salary) values (V_EMP_SEQ_VAL,'New Emp',455.24);
END;
$BODY$;

call public.EMP_PROC();

select * from emp;

SELECT NEXTVAL('tbl_emp_seq');

SELECT CURRVAL('tbl_emp_seq');

-- also we can see the current value of a sequence

-- If you have any doubt, please ask me in the comments.
-- Subscribe the channel to get the videos updates.

Sunday, 17 July 2022

How To Call A Stored Procedure From A Schedule Job Using pgAgent Jobs In...


In this tutorial, we dive into the world of automating PostgreSQL tasks by calling a stored procedure from a scheduled job using pgAgent in PostgreSQL. PgAgent is a powerful job scheduling tool that integrates seamlessly with PostgreSQL, allowing you to automate repetitive tasks such as running stored procedures, backups, and more.

We begin by guiding you through the setup of pgAgent in pgAdmin, ensuring that you have the necessary environment to start automating your database operations. Then, we move on to creating a stored procedure that performs a specific task within your database. This stored procedure will later be triggered automatically by a scheduled job.

The tutorial provides a step-by-step demonstration of how to create and configure pgAgent Jobs. You’ll learn how to set up schedules, define the tasks that need to be performed, and link these tasks to your stored procedures. We also discuss the various options available within pgAgent, such as setting execution frequency, handling job success or failure, and logging the job outcomes.

Additionally, we explore practical use cases where automating stored procedure execution can significantly enhance your database management strategy. Whether it’s for regular maintenance tasks, complex data manipulations, or timed reports, pgAgent Jobs provide a reliable and efficient solution.

By the end of this video, you'll have a solid understanding of how to use pgAgent to automate stored procedure calls in PostgreSQL, helping you streamline your database operations and save time.

PostgreSQL pgAgent jobs, call stored procedure pgAgent, PostgreSQL automation, pgAdmin scheduled jobs, PostgreSQL job scheduler, automate PostgreSQL tasks, PostgreSQL tutorial, pgAgent setup, stored procedures, SQL automation


In this video, we will see how to schedule a stored procedure
to call in pgAgent Jobs

In the last video, we have seen how to schedule a job.
In this video, we will call a stored procedure.

So, let's start.

How To Call A Stored Procedure From A Schedule Job Using pgAgent Jobs In PostgreSQL Database pgAdmin || PostgreSQL pgAgent 



-- Creating a table

CREATE TABLE public.emp
(
    id numeric,
    name character(30),
    salary numeric,
insert_date timestamp without time zone DEFAULT CURRENT_TIMESTAMP
);



-- Now we will create a stored procedure

CREATE OR REPLACE PROCEDURE public.testing_procedure()
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
BEGIN
Insert into emp(id,name,salary) values(1,'Akram Sohail',100);
Insert into emp(id,name,salary) values(2,'Knowledge 360',200);
END;
$BODY$;

CALL public.testing_procedure();

-- When this procedure will be called, two entries will be there in the Emp table.

-- Let's do it through a scheduled job using pgAgent Jobs

-- We have scheduled the procedure to be called every minute, every hour, every day, and all.

-- the First scheduler will be executed at 11:30 PM IST.
-- So, let's forward the video and wait.

Select * from emp;

-- There is no record as of now because the scheduler is not executed by now.
-- waiting...

-- We get two records at 11:30 PM as we can see from a timestamp.
-- Now, again new entries will come at 11:31 PM

-- So, our schedule job is working.
-- All the source codes and notes are in the description.
-- Please subscribe to my channel...Thank you :)




DO $$
DECLARE
    jid integer;
    scid integer;
BEGIN
-- Creating a new job
INSERT INTO pgagent.pga_job(
    jobjclid, jobname, jobdesc, jobhostagent, jobenabled
) VALUES (
    1::integer, 'New_Job'::text, 'This job will be used to call a stored procedure.'::text, ''::text, true
) RETURNING jobid INTO jid;

-- Steps
-- Inserting a step (jobid: NULL)
INSERT INTO pgagent.pga_jobstep (
    jstjobid, jstname, jstenabled, jstkind,
    jstconnstr, jstdbname, jstonerror,
    jstcode, jstdesc
) VALUES (
    jid, 'Step1'::text, true, 's'::character(1),
    ''::text, 'postgres'::name, 'f'::character(1),
    'CALL public.testing_procedure(); -- Calling the stored procedure'::text, 'This is Step1'::text
) ;

-- Schedules
-- Inserting a schedule
INSERT INTO pgagent.pga_schedule(
    jscjobid, jscname, jscdesc, jscenabled,
    jscstart, jscend,    jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths
) VALUES (
    jid, 'Scheduler1'::text, 'The Scheduler'::text, true,
    '2022-07-17 23:30:00+05:30'::timestamp with time zone, '2022-07-31 23:31:00+05:30'::timestamp with time zone,
    -- Minutes
    ARRAY[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]::boolean[],
    -- Hours
    ARRAY[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]::boolean[],
    -- Week days
    ARRAY[true,true,true,true,true,true,true]::boolean[],
    -- Month days
    ARRAY[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]::boolean[],
    -- Months
    ARRAY[true,true,true,true,true,true,true,true,true,true,true,true]::boolean[]
) RETURNING jscid INTO scid;
END
$$;




How To Call A Stored Procedure From A Schedule Job Using pgAgent Jobs,
How To Call A Stored Procedure From A Schedule Job Using pgAgent Jobs In PostgreSQL Database pgAdmin,
PostgreSQL Database pgAdmin,
PostgreSQL,
pgAgent,
Call A Stored Procedure,
Call A Stored Procedure From A Schedule Job,
Stored Procedure From A Schedule Job,
Schedule Job Using pgAgent Jobs,
Call A Stored Procedure,
Call A Stored Procedure From A pgAgent Jobs,
How To Call A Stored Procedure,
PostgreSQL Database,
Knowledge 360,
Akram Sohail,
Postgres,
database,
stored procedure,
procedure

Tuesday, 21 June 2022

How To Restore/Load PostgreSQL Database From .BAK/Backup File Using Comm...


Restoring or loading a PostgreSQL database from a .BAK file using the Command Prompt (CMD) is a crucial skill for database administrators and developers. This tutorial provides a comprehensive, step-by-step guide to help you successfully restore your PostgreSQL database from backup files, ensuring your data is safely recovered and operational.

We start by explaining the importance of database backups, particularly the .BAK file format, which is commonly used for storing PostgreSQL backups. You'll learn how to navigate the Command Prompt and execute the necessary commands to load a backup file into your PostgreSQL database. The video covers the full process, from connecting to the PostgreSQL server via CMD to executing the restore command with the appropriate parameters.

Throughout the tutorial, we emphasize best practices for ensuring a smooth restoration process. This includes verifying the integrity of your backup files, selecting the correct database to restore into, and handling potential errors that may arise during the process. Additionally, we provide troubleshooting tips to resolve common issues, such as permission errors or conflicts with existing database objects.

Whether you're restoring a critical production database or just learning how to manage backups in PostgreSQL, this video will equip you with the knowledge and skills needed to perform database restorations efficiently using the Command Prompt.

PostgreSQL restore, load PostgreSQL database, restore PostgreSQL from BAK, CMD PostgreSQL restore, PostgreSQL backup restore, Command Prompt PostgreSQL, PostgreSQL BAK file, PostgreSQL CMD tutorial, database recovery, PostgreSQL database management


First, I am taking the backup as a .bak file

Enter the password for the Postgres user... for me its the root

The Command link is in the video description... Please subscribe
my channel to get updates...Thanks for watching

pg_restore -h localhost -d dvdrental -U postgres -p 5432 D:\dvdrental.bak

How To Restore/Load PostgreSQL Database From .BAK/Backup File Using Command Prompt/CMD PostgreSQL,
How To Restore PostgreSQL Database From .BAK/Backup File,
How To Load PostgreSQL Database From .BAK/Backup File,
PostgreSQL Database From .BAK/Backup File,
Load PostgreSQL Database,
.BAK,
Backup,
Command Prompt,
CMD,
PostgreSQL,
How To Restore PostgreSQL Database,
How To Load PostgreSQL Database

Sunday, 12 June 2022

How To Schedule A Job Using pgAgent Jobs In PostgreSQL Database Using pg...


In this tutorial, we explore the powerful job scheduling capabilities of pgAgent within PostgreSQL, a crucial tool for automating routine tasks and maintaining database efficiency. PgAgent allows you to schedule jobs that can execute various database operations, such as backups, maintenance tasks, or running stored procedures, all within a specific time frame or on a recurring basis.

The video begins by guiding you through the installation and configuration of pgAgent within pgAdmin, ensuring that your environment is set up correctly to start automating tasks. We then delve into the core process of creating a new job, from defining the job steps to setting up the schedule that determines when and how often the job will run.

Throughout the tutorial, we provide practical examples of common tasks that can be automated using pgAgent Jobs, such as database backups and maintenance operations. You’ll also learn how to monitor and manage these jobs within pgAdmin, including how to check job logs for success or failure, and how to troubleshoot any issues that might arise.

Moreover, we discuss best practices for optimizing job schedules to ensure that they run efficiently without impacting database performance. This includes tips on setting appropriate execution times, handling job dependencies, and using job categories to organize your scheduled tasks.

By the end of this video, you will have a solid understanding of how to schedule and manage jobs using pgAgent in PostgreSQL, enabling you to automate critical database operations and improve overall productivity.

PostgreSQL pgAgent, schedule job PostgreSQL, pgAdmin job scheduling, PostgreSQL automation, pgAgent tutorial, PostgreSQL database management, automate PostgreSQL tasks, SQL job scheduler, PostgreSQL tutorial, database maintenance automation


first, lets create a table.

Now, I will schedule a job and insert record into the table through
scheduler

I scheduled it to run it from 9:05 PM, currently I am at 09:00 PM

It is 09:03 PM now, and 2 minutes remaining...
Let's check if there is any data or not.
There should be no record now.

Here we can see the records are inserted...

In the next video, I will show

How to perform some complex operations through a scheduled job 
in PostgreSQL

Subscribe my channel....

create table emp(id numeric, name character(30),salary numeric);

select * from emp;

How To Add/Install pgAgent Jobs In Existing PostgreSQL Database | PostgreSQL Tutorials | pgAgent Job

 

In this blog, I will provide the download link to pg_Agent for the PostgreSQL database. So that you can install it and schedule a job in PostgreSQL.

 


In this comprehensive tutorial, we dive into the process of adding and installing pgAgent Jobs in an existing PostgreSQL database, a vital tool for automating and scheduling routine database tasks. PgAgent is an extension for PostgreSQL that allows you to schedule jobs, such as running SQL scripts, performing backups, or conducting maintenance tasks, at specified intervals or times.

The video begins with a detailed walkthrough of installing pgAgent in an existing PostgreSQL setup, covering both Windows and Linux environments. We guide you through the necessary prerequisites, such as ensuring that your PostgreSQL instance is properly configured to support pgAgent and downloading the required packages.

Once the installation is complete, we move on to the configuration phase, where you'll learn how to set up pgAgent within pgAdmin, including creating the necessary database objects and setting up the pgAgent service. We provide clear instructions on how to verify that pgAgent is running correctly and how to troubleshoot any issues that may arise during the installation process.

Next, the tutorial explores how to create, manage, and schedule jobs using pgAgent. You'll learn how to define job steps, set up schedules, and monitor job execution. We also cover best practices for organizing and maintaining your pgAgent Jobs, ensuring that your automated tasks run smoothly and efficiently.

By the end of this video, you'll be equipped with the knowledge to effectively install and utilize pgAgent in your PostgreSQL environment, empowering you to automate various database operations and improve your overall workflow.

pgAgent installation, add pgAgent jobs, PostgreSQL job scheduling, install pgAgent PostgreSQL, PostgreSQL automation, pgAdmin pgAgent, database automation, PostgreSQL tutorial, schedule jobs PostgreSQL, PostgreSQL database management

How To Add/Install pgAgent Jobs In Existing PostgreSQL Database | Postgr...

 


Only 3.9% of viewers are subscribing to my channel 😓.
I request you to please give click on Subscribe button.
It really helps me grow 😢.


In this blog, I will provide the download link to pg_Agent for the PostgreSQL database. So that you can install it and schedule a job in PostgreSQL.

Download pgAgent Here

 

 

Sunday, 5 June 2022

How To Install pgAgent Jobs To Schedule A Job In PostgreSQL Database || ...


In this tutorial, we walk you through the complete process of installing pgAgent Jobs to enable job scheduling within a PostgreSQL database. PgAgent is an essential tool for database administrators and developers who want to automate routine tasks such as backups, maintenance, or custom SQL scripts, ensuring that these operations run smoothly without manual intervention.

The video begins with an introduction to pgAgent, highlighting its role in automating PostgreSQL database tasks. We then guide you through the installation process, including how to download and set up pgAgent on both Windows and Linux environments. You'll learn how to configure pgAgent within pgAdmin and ensure that the pgAgent service is properly installed and running.

After the installation, we focus on how to create and schedule jobs using pgAgent. This includes setting up job steps, defining schedules, and managing job execution. We also cover how to monitor your jobs, check for errors, and troubleshoot any issues that might arise during the setup.

Additionally, the video provides best practices for job scheduling to optimize performance and avoid potential conflicts or resource overloads. You'll gain insights into how to use pgAgent effectively to manage your PostgreSQL database operations more efficiently.

By the end of this tutorial, you’ll have the knowledge and skills to install and configure pgAgent in your PostgreSQL database, enabling you to automate a wide range of tasks and improve your database management workflow.

pgAgent installation, schedule job PostgreSQL, PostgreSQL job scheduling, install pgAgent PostgreSQL, PostgreSQL automation, pgAdmin tutorial, database management, automate PostgreSQL tasks, PostgreSQL tutorial, SQL job scheduler

Saturday, 4 June 2022

How To Describe Tables In PostgreSQL Using SQL Shell psql And pgAdmin ||...


In this PostgreSQL tutorial, we dive deep into the process of describing tables using both SQL Shell (psql) and pgAdmin, two essential tools for database management. Understanding how to describe tables is a fundamental skill for anyone working with PostgreSQL, as it allows you to explore the structure of your tables, including their columns, data types, and other relevant metadata.

The tutorial begins with a step-by-step guide on how to use SQL Shell (psql) commands to describe tables. We cover the basic commands that you can use to retrieve detailed information about table structures, such as the \d command and its variations. You'll learn how to extract valuable insights from your database directly from the command line, making it easier to manage and troubleshoot your PostgreSQL environment.

Next, we transition to pgAdmin, a popular graphical interface for PostgreSQL. Here, you'll discover how to navigate through the pgAdmin interface to find detailed descriptions of your tables. We demonstrate how to view table properties, explore column details, and understand constraints and indexes that are applied to your tables.

Throughout the video, we provide practical tips and best practices for using these tools effectively, helping you to streamline your workflow and enhance your database management capabilities. Whether you're preparing for a PostgreSQL certification, managing a production database, or simply expanding your knowledge, this tutorial will equip you with the skills needed to describe tables confidently in PostgreSQL.

PostgreSQL describe tables, SQL Shell psql, pgAdmin tutorial, PostgreSQL table structure, describe tables psql, PostgreSQL metadata, database management, SQL commands PostgreSQL, PostgreSQL table description, PostgreSQL tutorials


SELECT COLUMN_NAME  
FROM information_schema.COLUMNS  
WHERE TABLE_NAME = 'table_name';  

SELECT COLUMN_NAME
FROM information_schema.COLUMNS  
WHERE TABLE_NAME = 'actor'; 

SELECT *
FROM information_schema.COLUMNS  
WHERE TABLE_NAME = 'actor';