+1 para la respuesta de NettaB, pero solo quería agregar que si todos sus archivos tiff están en la misma carpeta, debería poder lograr esto usando un solo comando (ya sea desde la línea de comandos o mediante un subproceso en 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
Esto creará una nueva tabla llamada schema.target_table e insertará los datos en ella. Si necesita más información sobre los interruptores para usar, esta página es útil e incluye algunos ejemplos.
Con la implementación de Python, no necesita usar Psycopg a menos que planee ejecutar consultas SQL; si solo carga los datos directamente, solo necesita la utilidad raster2pgsql. Entonces su código se puede adaptar a:
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)