"where there won't be any collision even if there are 1 billion+ entries"This is a really complicated topic, and there are multiple ways to handle what you're doing. It really depends on your read/write ratios, typical volume, growth rate, and the underlying DB software you're using.
Because there are so many considerations that require knowing real-world use cases, it's a premature optimization. Are you going to have more than 1 billion records in the next few years? If not, don't worry about this.
However, there are other reasons to use non-incremental IDs (security, for one).
To answer your question as asked though, check this out: http://www.postgresql.org/docs/8.3/static/datatype-uuid.html