Wie in den PostgreSQL-Dokumenten hier angegeben:
Der SQL CASE-Ausdruck ist ein generischer bedingter Ausdruck, ähnlich wie if/else-Anweisungen in anderen Programmiersprachen.
Code-Snippet, das speziell Ihre Frage beantwortet:
SELECT field1, field2,
CASE
WHEN field1>0 THEN field2/field1
ELSE 0
END
AS field3
FROM test