Excerpt from: http://www.mamicode.com/info-detail-879792.html
The actions are the same when deleting and updating
1 Restrict prohibit the deletion of referenced rows (you cannot defer constraint checking until later in the transaction)
2 No action throws an error if there are any reference rows, and no action is the default behavior if no behavior is declared (allows constraint checking to be deferred until later in the thing)
3 Cascade When a quoted row is deleted, the reference to his row is automatically deleted
4 Set NULL (only on foreign keys) when the referenced row is deleted, the reference to his field is set to null
5 Set Default (only on foreign keys) when the referenced row is deleted, the reference to his field is set to the default value
Note: An action is declared as set default but the default value does not satisfy the foreign key, then the action fails
Restrictions and cascading deletions in Postgressql