I have a table with two columns and 150 000 000 rows. Now I wonder, If I create a index for one of these colums, does this mean it will give me 150 000 000 extra rows behind the scenes? (for that specific column that I've created a index on)
An index works like a (single) pointer to the values, so it should not increase the data volume. That's true for a consecutive index like std::array, std::vector and others where data is consecutive stored and where the access of the index is also in consecutive manner.
(Just FYI, this question is not on-topic for this forum.)
An index in a relational table does have a considerable size, roughly proportional to the row count of the table, but it's not the same as just having twice as many rows; if that was the case then nobody would use them.
The exact size increase depends on the columns data type, the data distribution (e.g. does every row contain unique values, or do many rows have duplicate values?), etc.