Seleccionar filas que no están presentes en otra tabla

Tengo dos tablas postgresql:

table name     column names
-----------    ------------------------
login_log      ip | etc.
ip_location    ip | location | hostname | etc.

Quiero obtener todas las direcciones IP delogin_log que no tiene una fila enip_location.
Intenté esta consulta pero arroja un error de sintaxis.

SELECT login_log.ip 
FROM login_log 
WHERE NOT EXIST (SELECT ip_location.ip
                 FROM ip_location
                 WHERE login_log.ip = ip_location.ip)
ERROR: syntax error at or near "SELECT"
LINE 3: WHERE NOT EXIST (SELECT ip_location.ip`

También me pregunto si esta consulta (con ajustes para hacerla funcionar) es la consulta de mejor desempeño para este propósito.

Respuestas a la pregunta(4)

Su respuesta a la pregunta