+1 untuk jawaban NettaB tetapi hanya ingin menambahkan bahwa jika semua file tiff Anda berada di folder yang sama, Anda harus dapat menyelesaikan ini menggunakan perintah tunggal (baik itu dari baris perintah atau melalui subproses dengan 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
Ini akan membuat tabel baru bernama schema.target_table dan mendorong data ke dalamnya. Jika Anda memerlukan lebih banyak info tentang sakelar untuk digunakan, halaman ini bermanfaat - dan termasuk beberapa contoh.
Dengan implementasi Python Anda tidak perlu menggunakan Psycopg kecuali Anda berencana untuk mengeksekusi query SQL - jika Anda hanya memuat data secara langsung, Anda hanya perlu utilitas raster2pgsql. Jadi kode Anda dapat disesuaikan dengan:
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)