Hi SPlum,
Do you know where David Petrie born 1846 was born? Was he born in Angus, I found two on IGI born the same year.
The first had a middle name David Palmer Petrie and was born in June 1846 Saint Vigeans, Angus, Scotland.
The second David Petrie was born the same year March 1846 in Dysart, Fife, Scotland.
I also found the 1881 census where the family is living at 186 Cleveland St
Birkenhead, Cheshire, England. Mary must have been married before as there are 3 children with the surname Garrett listed as Stepchildren. There is also a son called after his father David who is a year old.
At this time in the 1881 census David is 35 years of age and his wife Mary was 28, she was born in Lancashire England
If you can give the information on which David Petrie is yours then I can give you his parents names if you don't already have them.
Elizabeth