PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trả lại mảng UUID PostgreSQL dưới dạng danh sách với psycopg2

Nó hoạt động cho tôi mà không cần phân tích cú pháp:

import psycopg2

query = """
    select array(select * from (values (1), (2)) s);
"""

conn = psycopg2.connect('dbname=cpn user=cpn')
cursor = conn.cursor()
cursor.execute(query)
rs = cursor.fetchall()

for l in rs:
    print l[0]

cursor.close()
conn.close()

Kết quả khi thực hiện:

$ python stackoverflow_select_array.py 
[1, 2]

Cập nhật

Bạn cần đăng ký loại uuid:

import psycopg2, psycopg2.extras

query = """
    select array(
        select *
        from (values
            ('A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11'::uuid),
            ('A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11'::uuid)
        )s
    );
"""

psycopg2.extras.register_uuid()

conn = psycopg2.connect('dbname=cpn user=cpn')
cursor = conn.cursor()
cursor.execute(query)
rs = cursor.fetchall()

for l in rs:
    print l[0]

cursor.close()
conn.close()

Kết quả:

$ python stackoverflow_select_array.py 
[UUID('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), UUID('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11')]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cải thiện số lượng truy vấn văn bản cho Django với Postgres

  2. Bảng cắt ngắn Postgresql với ràng buộc khóa ngoại

  3. Sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)

  4. Sử dụng .pgpass từ Apache libphp5.so

  5. Cách tự động hóa PostgreSQL 12 sao chép và chuyển đổi dự phòng với repmgr - Phần 2