Insert sum of the row data of each record into separate column in postgreSQL?
Use an UPDATE statement. 

update student 
   set total = social + math + science;


But that column is totally useless. In general you should not store data in a database that can easily be derived from existing values. 

In your, adding the values of the three columns adds no (noticeable) overhead to a select statement, so there is no point in storing the total. 

You should rather remove the column completely and then create a view doing this for you. Otherwise you need to update that column each time one of the other three columns are changed. 

create view total_score
as
select id, name, class, social, science, math, 
       social + math + science as total
from student;




Plus: your name column should be defined as NOT NULL.