全部产品
Search
文档中心

AnalyticDB:Python

更新时间:Jun 26, 2025

Topik ini menjelaskan cara menggunakan Python untuk terhubung ke instance AnalyticDB for PostgreSQL.

Prasyarat

  • Endpoint internal atau publik dari instance AnalyticDB for PostgreSQL telah diperoleh.

    • Jika klien Anda berada pada instance Elastic Compute Service (ECS) di wilayah dan tipe jaringan yang sama dengan instance AnalyticDB for PostgreSQL, Anda dapat menggunakan endpoint internal untuk terhubung ke instance AnalyticDB for PostgreSQL. Masuk ke konsol AnalyticDB for PostgreSQL. Di halaman Basic Information, lihat bagian Database Connection Information untuk menemukan internal endpoint dari instance tersebut.

    • Jika klien Anda berada pada instance ECS di wilayah berbeda, menggunakan tipe jaringan berbeda dari instance AnalyticDB for PostgreSQL, atau sistem di luar Alibaba Cloud, Anda harus mengajukan endpoint publik dan menggunakan endpoint tersebut untuk terhubung. Untuk informasi lebih lanjut tentang cara mengajukan endpoint publik, lihat Kelola endpoint publik.

  • Alamat IP klien Anda telah ditambahkan ke daftar putih alamat IP dari instance AnalyticDB for PostgreSQL. Untuk informasi lebih lanjut, lihat Konfigurasi daftar putih alamat IP.

Prosedur

Anda dapat menggunakan psycopg2 untuk terhubung ke Greenplum atau PostgreSQL dalam Python.

  1. Instal psycopg2. Jika Anda menggunakan CentOS, gunakan salah satu metode instalasi berikut:

    • Metode 1: Jalankan perintah yum -y install python-psycopg2.

    • Metode 2: Jalankan perintah pip install psycopg2.

    • Metode 3: Gunakan kode sumber.

      yum install -y postgresql-devel*
      wget  http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.tar.gz
      tar xf psycopg2-2.6.tar.gz
      cd psycopg2-2.6
      python setup.py build
      sudo python setup.py install
  2. Tetapkan variabel lingkungan PYTHONPATH untuk referensi variabel selanjutnya. Contoh kode:

     import psycopg2
     // Pernyataan SQL. 
     sql = '<SELECT * FROM gp_segment_configuration;>'
     // Nama database, nama pengguna, dan kata sandi yang digunakan untuk terhubung ke instance. 
     conn = psycopg2.connect(database='<gpdb>', user='<mygpdb>', password='<mygpdb>', host='mygpdbpub.gpdb.rds.aliyuncs.com', port=5432)
     conn.autocommit = True
     cursor = conn.cursor()
     cursor.execute(sql)
     rows = cursor.fetchall()
     for row in rows:
         print row
     conn.commit()
     conn.close()

    Contoh keluaran:

    (1, -1, 'p', 'p', 's', 'u', 3022, '192.168.2.158', '192.168.2.158', None, None)
    (6, -1, 'm', 'm', 's', 'u', 3019, '192.168.2.47', '192.168.2.47', None, None)
    (2, 0, 'p', 'p', 's', 'u', 3025, '192.168.2.148', '192.168.2.148', 3525, None)
    (4, 0, 'm', 'm', 's', 'u', 3024, '192.168.2.158', '192.168.2.158', 3524, None)
    (3, 1, 'p', 'p', 's', 'u', 3023, '192.168.2.158', '192.168.2.158', 3523, None)
    (5, 1, 'm', 'm', 's', 'u', 3026, '192.168.2.148', '192.168.2.148', 3526, None)