show tables
PostgreSQL의 (MySQL에서) 와 동등한 기능은 무엇입니까 ?
답변
로부터 psql
명령 줄 인터페이스,
먼저 데이터베이스를 선택하십시오
\c database_name
그런 다음 현재 스키마의 모든 테이블을 보여줍니다.
\dt
프로그래밍 방식으로 (또는 psql
인터페이스에서도)
SELECT * FROM pg_catalog.pg_tables;
시스템 테이블은 pg_catalog
데이터베이스에 있습니다.
답변
수퍼 유저로 로그인 :
sudo -u postgres psql
모든 데이터베이스와 사용자를 \l
명령 별로 나열 할 수 있습니다 (다른 명령을로 나열 \?
).
이제 당신은 당신이에 의해 사용자 / 데이터베이스를 변경할 수있는 다른 데이터베이스를보고 싶다면 \c
같은 명령 \c template1
, \c postgres postgres
사용 \d
, \dt
또는 \dS
/ 등 테이블 / 뷰를 볼 수 있습니다.
답변
(완전성을 위해)
(SQL 표준) 정보 스키마를 쿼리 할 수도 있습니다 .
SELECT
table_schema || '.' || table_name
FROM
information_schema.tables
WHERE
table_type = 'BASE TABLE'
AND
table_schema NOT IN ('pg_catalog', 'information_schema');
답변
PostgreSQL의 대화식 터미널 Psql을 사용하여 PostgreSQL에 테이블을 표시 할 수 있습니다.
1. Psql 시작
일반적으로 다음 명령을 실행하여 psql에 입력 할 수 있습니다.
psql DBNAME USERNAME
예를 들어 psql template1 postgres
루트로 로그인하고 데이터베이스 이름을 기억하지 못한다고 가정하십시오. 다음을 실행하여 Psql에 먼저 들어갈 수 있습니다.
sudo -u postgres psql
일부 시스템에서는 sudo 명령을 사용할 수 없으며 대신 아래 명령 중 하나를 실행할 수 있습니다.
psql -U postgres
psql --username=postgres
2. 테이블 표시
이제 Psql에서 다음과 같은 명령을 실행할 수 있습니다.
\?
모든 명령을 나열\l
데이터베이스 목록\conninfo
현재 연결에 대한 정보를 표시합니다\c [DBNAME]
예를 들어, 새로운 데이터베이스에 연결\c template1
\dt
공개 스키마의 테이블 목록\dt <schema-name>.*
특정 스키마의 테이블 목록 (예 :\dt public.*
\dt *.*
모든 스키마의 테이블 목록- 그런 다음 SQL 문을 실행할 수 있습니다
SELECT * FROM my_table;
( 예 : 명령문은 세미콜론으로 끝나야합니다;
) \q
psql을 종료
답변
-
postgres 사용자로 처음 로그인 :
sudo su - postgres
-
필요한 db에 연결하십시오.
psql -d databaseName
-
\dt
연결된 데이터베이스의 모든 테이블 목록을 반환합니다.
답변
-E 플래그와 함께 psql을 실행하면 \ dt 등을 구현하기 위해 내부적으로 사용되는 쿼리가 에코됩니다.
sudo -u postgres psql -E
postgres=# \dt
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
답변
모든 데이터베이스 및 스키마를 확인할 수 있도록 수퍼 유저로 로그인하십시오.
sudo su - postgres
그런 다음 다음 명령을 사용하여 postgresql 셸을 얻을 수 있습니다.
psql
이제 다음 명령을 사용하여 모든 데이터베이스 목록을 확인할 수 있습니다.
\l
데이터베이스의 크기를 확인하려면 다음을 사용하십시오.
\l+
q
돌아가려면을 누르십시오 .
데이터베이스를 찾았 으면 다음 명령을 사용하여 해당 데이터베이스에 연결할 수 있습니다.
\c database_name
연결되면 다음을 통해 데이터베이스 테이블 또는 스키마를 확인할 수 있습니다.
\d
이제 쉘로 돌아가려면 다음을 사용하십시오.
q
이제 특정 테이블 사용에 대한 세부 정보를 더 보려면 :-
\d table_name
postgresql_shell로 돌아가려면을 누르십시오 \q
.
터미널로 돌아가려면을 누르십시오 exit
.