PostgreSQL에서 (MySQL의) show tables
을 표시하는 것과 동일한 것은 무엇입니까?
질문자 :flybywire
psql
명령줄 인터페이스에서
먼저 데이터베이스를 선택하십시오.
\c database_name
그러면 현재 스키마의 모든 테이블이 표시됩니다.
\dt
프로그래밍 방식으로(또는 psql
인터페이스에서도):
SELECT * FROM pg_catalog.pg_tables;
시스템 테이블은 pg_catalog
데이터베이스에 있습니다.
Mihai Limbășan
수퍼유저로 로그인:
sudo -u postgres psql
\l
명령으로 모든 데이터베이스와 사용자를 나열할 수 있습니다(다른 명령은 \?
나열).
이제 다른 데이터베이스를 보려면 \c template1
, \c postgres postgres
와 \c
명령으로 \d
, \dt
또는 \dS
를 사용하여 테이블/뷰/등을 볼 수 있습니다.
JLarky
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 *.*
모든 스키마의 테이블 나열 -
SELECT * FROM my_table;
과 같은 SQL 문을 실행할 수 있습니다. (참고: 문은 세미콜론으로 끝나야 합니다;
) -
\q
psql 종료
Yuci
(완벽함을 위해)
(SQL 표준) 정보 스키마를 쿼리할 수도 있습니다.
SELECT table_schema || '.' || table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema');
Milen A. Radev
postgres 사용자로 첫 로그인:
sudo su - postgres
필요한 db에 연결:
psql -d databaseName
\dt
는 연결된 데이터베이스의 모든 테이블 목록을 반환합니다.
nish
모든 데이터베이스와 해당 스키마를 확인할 수 있도록 수퍼유저로 로그인합니다.
sudo su - postgres
그런 다음 다음 명령을 사용하여 postgresql 셸로 이동할 수 있습니다.
psql
이제 다음 명령을 사용하여 모든 데이터베이스 목록을 확인할 수 있습니다.
\l
데이터베이스의 크기도 확인하려면 다음을 사용하십시오.
\l+
돌아가려면 q
를 누르십시오.
이제 데이터베이스를 찾았으면 다음 명령을 사용하여 해당 데이터베이스에 연결할 수 있습니다.
\c database_name
연결되면 다음을 통해 데이터베이스 테이블 또는 스키마를 확인할 수 있습니다.
\d
이제 쉘로 돌아가려면 다음을 사용하십시오.
q
이제 특정 테이블의 세부 정보를 보려면 다음을 사용하십시오.
\d table_name
postgresql_shell로 돌아가려면 \q
누르십시오.
그리고 터미널로 돌아가려면 exit
누르십시오.
Shashishekhar Hasabnis
-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; **************************
bsb
사용 테이블만 참조
=> \dt
스키마 테이블을 보고 싶다면
=>\dt+
특정 스키마 테이블을 보고 싶다면
=>\dt schema_name.*
Aryan
생성한 테이블 목록만 보고 싶다면 다음과 같이 말할 수 있습니다.
\dt
그러나 표시할 테이블을 사용자 정의하는 데 도움이 되는 PATTERN
도 있습니다. pg_catalog
스키마를 포함하여 모두 표시하려면 *
를 추가할 수 있습니다.
\dt *
당신이 할 경우: \?
\dt[S+] [PATTERN] 목록 테이블
Banned_User
먼저 다음 명령을 사용하여 데이터베이스에 연결합니다.
\c database_name
그러면 다음 메시지가 표시됩니다. You are now connected to database database_name
그리고 그들은 다음 명령을 실행합니다
SELECT * FROM table_name;
database_name 및 table_name에서 데이터베이스 및 테이블 이름으로 업데이트하십시오.
J4cK
PostgreSQL에서 pgAdmin4를 사용하는 경우 이를 사용하여 데이터베이스의 테이블을 표시할 수 있습니다.
select * from information_schema.tables where table_schema='public';
Reynante Daitol
\dt
만으로도 사용 중인 데이터베이스 의 공개 스키마에 있는 테이블이 나열됩니다. 내 테이블을 별도의 스키마로 유지하는 것을 좋아하므로 허용되는 답변이 효과가 없었습니다.
특정 스키마 내의 모든 테이블을 나열하려면 다음을 수행해야 했습니다.
1) 원하는 데이터베이스에 연결합니다.
psql mydb
\dt
명령 다음에 테이블을 보려는 스키마 이름을 지정합니다.
\dt myschema.*
이것은 내가 관심있는 결과를 보여줍니다.
List of relations Schema | Name | Type | Owner ----------+-----------------+-------+---------- myschema | users | table | postgres myschema | activity | table | postgres myschema | roles | table | postgres
rotarydial
select * from pg_catalog.pg_tables where schemaname != 'information_schema' and schemaname != 'pg_catalog';
Abdelhak
\dt (no * 필수) -- 이미 연결된 기존 데이터베이스의 모든 테이블을 나열합니다. 또한 참고할 사항:
\d [table_name] -- 유형 정보, 참조 및 키 제약 조건을 포함하여 주어진 테이블에 대한 모든 열을 표시합니다.
user4642897
\dt
를 사용하여 현재 데이터베이스의 테이블을 나열할 수 있습니다.
Fwiw, \d tablename
show columns from tablename
와 같이 주어진 테이블에 대한 세부 정보를 표시하지만 약간의 정보가 더 있습니다.
JohnK
명령줄에서 모든 테이블을 나열하는 가장 간단한 방법은 내 취향에 따라 다음과 같습니다.
psql -a -U <user> -p <port> -h <server> -c "\dt"
주어진 데이터베이스에 대해 데이터베이스 이름을 추가하십시오.
psql -a -U <user> -p <port> -h <server> -c "\dt" <database_name>
Linux와 Windows 모두에서 작동합니다.
Alain Cherpin
psql 사용 : \dt
또는:
SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE pg_catalog.pg_table_is_visible(c.oid) AND c.relkind = 'r' AND relname NOT LIKE 'pg_%' ORDER BY 1
MisterJoyson
우선 다음과 같이 데이터베이스에 연결해야 합니다.
내 데이터베이스는 우분투입니다
이 명령을 사용하여 연결
\c ubuntu
이 메시지가 표시됩니다
"이제 "postgres" 사용자로 "ubuntu" 데이터베이스에 연결되었습니다."
지금
이 명령을 실행하여 모든 테이블을 표시하십시오.
\d+
Usman Yaqoob
빠른 원 라이너로
# just list all the postgres tables sorted in the terminal db='my_db_name' clear;psql -d $db -t -c '\dt'|cut -c 11-|perl -ne 's/^([a-z_0-9]*)( )(.*)/$1/; print'
또는 훨씬 더 명확한 json 출력 다중 라이너를 선호하는 경우 :
IFS='' read -r -d '' sql_code <<"EOF_CODE" select array_to_json(array_agg(row_to_json(t))) from ( SELECT table_catalog,table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name ) t EOF_CODE psql -d postgres -t -q -c "$sql_code"|jq
Yordan Georgiev
\dt는 테이블을 나열하고 "\pset pager off"는 별도의 테이블로 전환하지 않고 동일한 창에 테이블을 표시합니다. dbshell에서 그 기능을 아주 좋아합니다.
lauri108
이 SQL 쿼리는 대부분의 PostgreSQL 버전에서 작동하며 매우 간단합니다.
select table_name from information_schema.tables where table_schema='public' ;
Vineet Kumar Gupta
psql에서 외부 테이블을 보려면 \dE
Ian Hunter
로그인 후 PostgreSQL 명령줄 인터페이스에서 다음 명령어를 입력하여 원하는 데이터베이스에 접속합니다.
\c [database_name]
You are now connected to database "[database_name]"
메시지가 표시됩니다.
모든 테이블을 나열하려면 다음 명령을 입력하십시오.
\dt
Ameen Ali
이 단계는 PostgreSQL 13.3
및 Windows 10
- cmd를 열고
psql -a -U [username] -p [port] -h [server]
-
\c [database]
를 입력하여 데이터베이스에 연결하십시오. - 모든 테이블을 표시하려면
\dt
또는\d
를 입력하십시오.
Anis KCHAOU
먼저 Mac에서 postgre.app을 사용하거나 postico를 사용하여 postgres 데이터베이스에 연결할 수 있습니다. 다음 명령을 실행합니다.
psql -h localhost -p port_number -d database_name -U user_name -W
그런 다음 비밀번호를 입력하면 데이터베이스에 액세스할 수 있습니다.
Patcho
출처 : http:www.stackoverflow.com/questions/769683/postgresql-show-tables-in-postgresql
'etc. > StackOverFlow' 카테고리의 다른 글
C#의 enum에서 int 값 가져오기 (0) | 2021.12.20 |
---|---|
목록에서 항목을 무작위로 선택하려면 어떻게 합니까? (0) | 2021.12.20 |
Microsoft Office를 설치하지 않고 C#에서 Excel(.XLS 및 .XLSX) 파일을 어떻게 만듭니까? (0) | 2021.12.20 |
Makefile에서 .PHONY의 목적은 무엇입니까? (0) | 2021.12.20 |
java.net.URLConnection을 사용하여 HTTP 요청을 실행하고 처리하는 방법 (0) | 2021.12.20 |