PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zwróć tablicę UUID PostgreSQL jako listę z psycopg2

U mnie działa bez potrzeby parsowania:

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()

Wynik po wykonaniu:

$ python stackoverflow_select_array.py 
[1, 2]

Aktualizacja

Musisz zarejestrować typ 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()

Wynik:

$ 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. PostgreSQL 9.4 - Użyj operatora niestandardowego w ograniczeniu EXCLUDE

  2. nie można połączyć się z instancją postgres AWS RDS z pgadmin4

  3. Jak przechwytywać rekordy błędów za pomocą JDBCTemplate batchUpdate w postgreSql?

  4. Zaawansowane indeksowanie obejmujące warunki OR-ed (pgsql)

  5. Wyodrębnij wszystkie wartości z json w tabeli sql