PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получа първичния ключ(и) на таблица от Postgres чрез plpgsql?

Заявката по-горе е много лоша, тъй като е наистина бавна.

Бих препоръчал тази официална версия:

http://wiki.postgresql.org/wiki/Retrieve_primary_key_columns

ако е необходима схема, заявката е както следва

SELECT               
  pg_attribute.attname, 
  format_type(pg_attribute.atttypid, pg_attribute.atttypmod) 
FROM pg_index, pg_class, pg_attribute, pg_namespace 
WHERE 
  pg_class.oid = 'foo'::regclass AND 
  indrelid = pg_class.oid AND 
  nspname = 'public' AND 
  pg_class.relnamespace = pg_namespace.oid AND 
  pg_attribute.attrelid = pg_class.oid AND 
  pg_attribute.attnum = any(pg_index.indkey)
 AND indisprimary


  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:psql

  2. Внедряване на настройка с множество центрове за данни за PostgreSQL – част първа

  3. Как да репликирате само INSERT, а не DELETE/UPDATE на Slony Slave Node?

  4. Как да вмъкна JSONB в Postgresql с Python?

  5. Заявка към PostgreSQL с Npgsql и Entity Framework, използвайки неакцент