what are the different ways to specify the values in PostgreSQL?
If the values are obtained from a user input, 2) and 3) are a bad idea. 

You shouldn't put user supplied values directly into the SQL string, but use a prepared statement with bind variables. Not doing that, makes your application vulnerable to SQL Injection

How you use a prepared statement with bind variables depends on the programming language you are using.