I know I am all late... but thought I would add a little information.
I wouldn't get an undergravel filter... IMO its a waste of dough and if it gets clogged ph and ammonia levels will skyrocket and cause a mini cycle which could kill your fish. Goldfish are very dirty fish and poop A LOT.
in a 45g tank I wouldn't put more than 3 or 4 fish.. they can get pretty large. With proper water changes (25% of total water a week) and a good filter (if you don't want to mess with a canister filter Penguin and Emperor make some excellent hang on the back of the tank filters) you could manage 4 or 5. You will want to get something that will cycle about 10X your gallonage per hour.
I like to use pre washed and screened playsand for fishy substrate. I looks excellent IMO and keeps the pooh and decaying food from building up. You can just vacuum the pooh right off the top of the sand base... about 1 inch of playsand should work just fine.
You also might want to consider setting up the tank about a month before you decide to buy fish. Just set it all up like your about to add fish... go to the store buy some cocktail shrimp (cooked raw doesn't matter).. add only one to your tank and let it simmer away. This will cause a huge cycle... ammonia and nitrites will go off the chart and it might smell a lil bit (just keep the hood closed)... but when the ammonia and nitrites levels get back to 0 you will be able to add all the fish you want and not cause another mini cycle. Its just the most humane way I know to go about it.
Don't forget your test kits, go light on feedings (extra rotting food also can cause minicycling) and good luck.