I don't think the G12 has a 'bulb' setting, so a remote release (suggested above) won't get you longer exposures, but will help reduce camera shake from pressing the shutter button (alternatively use the self timer instead).
If memory serves, you can get up to 15 seconds in manual, but only 1 second in Program of Aperture priority.
I'd set it to manual, open the aperture as far as it'll go (f/2.8 at the wide end of the zoom range, but slower as you zoom in) set the shutter to 15 seconds and mess with the ISO until you get the exposure you like. Lower will be cleaner.
Whatever you do, it will look grainy and noisy in the dark areas if you view at 100%. However, bear in mind that the dark areas are seldom what people are looking at in your picture. The camera screen will look very bright and vivid in the dark, so make sure you check the histogram to ensure that your exposure is good. Brighter areas are less susceptible to noise because 1) a bright, noisy pixel is less obvious against a bright feature in your image and 2) the sensor data is digitized logarithmically, so a small variation (noise) in a dark valued pixel gives a bigger change in brightness than the same small change in a bright valued pixel.
The pictures will most likely not look good at 100% because of the noise, but (unless you make big prints) nobody apart from you will look at 100%. A regular computer screen has resolution in the region of 1MP, so viewed at full size you're averaging ten 'sensor' pixels for every 'screen' pixel - your image may well look much cleaner than you think if you've been pixel peeping.
Hope that's of some help, good luck!