기계적 인조 인간

psql을 사용하여 postgresql 데이터베이스 및 테이블을 나열하는 방법

PostgreSQL: What is PostreSQL AKA Postrgres | Course | 2019

PostgreSQL: What is PostreSQL AKA Postrgres | Course | 2019

차례:

Anonim

PostgreSQL 데이터베이스 서버를 관리 할 때 수행 할 가장 일반적인 작업 중 하나는 데이터베이스와 해당 테이블을 나열하는 것입니다.

PostgreSQL에는 psql 이라는 대화식 도구가 제공되어 서버에 연결하고 이에 대한 쿼리를 실행할 수 있습니다. psql 을 사용할 때 메타 명령을 활용할 수도 있습니다. 이 명령은 스크립팅 및 명령 줄 관리에 유용합니다. 모든 메타 명령은 따옴표없는 백 슬래시로 시작하며 백 슬래시 명령이라고도합니다.

이 튜토리얼에서는 psql 사용하여 PostgreSQL 서버에서 데이터베이스 및 테이블을 표시하는 방법에 대해 설명합니다.

데이터베이스 나열

psql 명령을 시스템 사용자로 사용하여 PostgreSQL 서버에 연결할 수 있습니다. 서버 구성에 따라 psql 터미널에 연결하기 위해 비밀번호를 입력해야 할 수도 있습니다. 현재 로그인 한 사용자로 psql 터미널에 액세스하려면 간단히 psql 입력하십시오.

PostgreSQL 패키지가 설치되면“postgres”라는 관리 사용자가 생성됩니다. 기본적으로이 사용자는 비밀번호없이 로컬 PostgreSQL 서버에 연결할 수 있습니다.

사용자 "postgres"로 psql 터미널에 액세스하려면 다음을 실행하십시오.

sudo -u postgres psql sudo 명령을 사용하면 다른 사용자로 명령을 실행할 수 있습니다.

psql 터미널에서 \l 또는 \list meta-command를 실행하여 모든 데이터베이스를 나열하십시오.

\l

출력에는 데이터베이스 수, 각 데이터베이스 이름, 소유자, 인코딩 및 액세스 권한이 포함됩니다.

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

PostgreSQL 서버에는 기본적으로 template0, template1 및 postgres의 세 가지 데이터베이스가 있습니다. 처음 두 가지는 새 데이터베이스를 만들 때 사용되는 템플릿입니다.

psql 쉘에 액세스하지 않고 모든 데이터베이스 목록을 얻으려면 아래에 표시된 것처럼 -c 스위치를 사용하십시오.

sudo -u postgres psql -c "\l"

데이터베이스를 나열하는 다른 방법은 다음 SQL 문을 사용하는 것입니다.

SELECT datname FROM pg_database;

\l 메타 명령과 달리 위의 쿼리는 데이터베이스 이름 만 표시합니다.

datname ----------- postgres odoo template1 template0 (4 rows)

테이블 나열

특정 데이터베이스의 모든 테이블을 나열하려면 먼저 \c 또는 \connect meta-command를 사용하여 연결해야합니다. psql 터미널에 로그인 한 사용자는 데이터베이스에 연결할 수 있어야합니다.

예를 들어, “odoo”라는 데이터베이스에 연결하려면 다음을 입력하십시오.

\c odoo

데이터베이스가 전환되면 \dt meta 명령을 사용하여 모든 데이터베이스 테이블을 나열하십시오.

출력에는 테이블 수, 각 테이블 이름 및 스키마, 유형 및 소유자가 포함됩니다.

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

데이터베이스가 비어 있으면 출력은 다음과 같습니다.

No relations found.

테이블 크기 및 설명에 대한 정보를 얻으려면 \dt+ .

결론

psql 명령을 사용하여 PostgreSQL 데이터베이스 및 테이블을 나열하는 방법을 배웠습니다.

궁금한 점이 있으면 언제든지 의견을 남겨주십시오.

postgresql