+1 para a resposta do NettaB, mas apenas gostaria de acrescentar que, se todos os seus arquivos tiff estiverem na mesma pasta, você poderá fazer isso usando um único comando (seja na linha de comando ou via subprocesso em Python):
# Set environment variables for database connection
set PGHOST=db.qgiscloud.com
set PGPORT=5432
set PGUSER=enter_qgiscloud_user
set PGPASSWORD=enter_qgiscloud_pw
set PGDATABASE=enter_qgiscloud_db
# Call the raster2pqsql utility
raster2pgsql -s 3857 -C -F -t auto C:/qgis_cloud_data/*.tif schema.target_table | psql
Isso criará uma nova tabela denominada schema.target_table e enviará os dados para ela. Se você precisar de mais informações sobre os comutadores a usar, esta página é útil - e inclui alguns exemplos.
Com a implementação do Python, você não precisa usar o Psycopg, a menos que planeje executar consultas SQL - se estiver apenas carregando os dados diretamente, precisará do utilitário raster2pgsql. Portanto, seu código pode ser adaptado para:
import os
import subprocess
db_name = 'enter_qgiscloud_db'
db_host = 'db.qgiscloud.com'
db_user = 'enter_qgiscloud_user'
db_password = 'enter_qgiscloud_pw'
# Set pg password environment variable - others can be included in the statement
os.environ['PGPASSWORD'] = db_password
# Build command string
cmd = 'raster2pgsql -s 3857 -C -F -t auto C:/qgis_cloud_data/*.tif schema.target_table | psql -U {} -d {} -h {} -p 5432'.format(db_user,db_name,db_host)
# Execute
subprocess.call(cmd, shell=True)