답변:
select * from information_schema.tables
특정 데이터베이스에 대해 Postgres가 관리하는 모든 테이블 목록을 가져 오기 위해 실행할 수 있어야 합니다.
where table_schema = 'information_schema'
정보 스키마의 테이블 만 보려면를 추가 할 수도 있습니다 .
테이블을 나열하려면 다음을 사용하십시오.
SELECT table_name FROM information_schema.tables WHERE table_schema='public'
생성 한 테이블 만 나열됩니다.
\dt information_schema.
psql 내에서 괜찮을 것입니다.
\ "Z"명령은 또한 목록 테이블 때 대화 형 psql의 세션 내부에 좋은 방법입니다.
예.
# psql -d mcdb -U admin -p 5555
mcdb=# /z
Access privileges for database "mcdb"
Schema | Name | Type | Access privileges
--------+--------------------------------+----------+---------------------------------------
public | activities | table |
public | activities_id_seq | sequence |
public | activities_users_mapping | table |
[..]
public | v_schedules_2 | view | {admin=arwdxt/admin,viewuser=r/admin}
public | v_systems | view |
public | vapp_backups | table |
public | vm_client | table |
public | vm_datastore | table |
public | vmentity_hle_map | table |
(148 rows)
'xxx'
postgresql의 개인 스키마 :
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'xxx' AND table_type = 'BASE TABLE'
이 없으면 table_type = 'BASE TABLE'
테이블과 뷰를 나열 합니다.
1. information_schema.tables에서 모든 테이블과 뷰를 가져옵니다. information_schema 및 pg_catalog를 포함합니다.
select * from information_schema.tables
2.get 테이블 및 뷰는 특정 스키마에 속합니다.
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog')
3.get 테이블 만 (거의 \ dt)
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog') and
table_type = 'BASE TABLE'
where table_schema not in ('information_schema', 'pg_catalog')
?