PostgreSQL 데이터베이스 서버는 데이터베이스와 해당 테이블을 나열하는 작업이 가장 일반적인 작업 중 하나입니다.
PostgreSQL에는 서버에 연결하여 쿼리를 실행할 수 있는 psql이라는 대화형 도구가 함께 제공됩니다. psql을 사용할 때는 메타 명령도 활용할 수 있습니다. 이러한 명령은 스크립팅 및 명령줄 관리에 유용합니다. 모든 메타 명령은 따옴표가 없는 백슬래시로 시작하며 백슬래시 명령이라고도 합니다.
PostgreSQL에서 데이터베이스와 테이블을 표시하는 방법을 설명합니다.
데이터베이스를 나열
PostgreSQL 서버는 시스템 사용자로 psql 명령을 사용합니다. 서버 구성에 따라 사용자가 psql 터미널에 연결하려면 암호를 입력해야 할 수도 있습니다. 현재 로그인한 사용자로 psql 터미널에 액세스하려면 psql을 입력하십시오.
PostgreSQL 패키지가 설치되고 "postgres"라는 관리자가 생성됩니다. 기본적으로 이 사용자는 로컬 PostgreSQL Server에 암호가 없고 연결할 수 있습니다.
사용자 "postgres"로 psql 터미널에 액세스하려면 다음을 실행합니다.
sudo -u postgres psql
sudo 명령을 사용하면 명령을 다른 사용자로 실행할 수 있습니다.
psql 터미널에서 \l 또는 \list meta- 명령을 실행하여 모든 데이터베이스를 나열합니다.
출력에는 데이터베이스 수, 각 데이터베이스의 이름, 소유자, 인코딩 및 액세스 권한이 포함됩니다.
\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 서버에는 기본적으로 템플릿0, 템플릿1 및 postgres라는 세 개의 데이터베이스가 생성되어 있습니다. 처음 두 가지는 새 데이터베이스를 생성할 때 사용되는 템플릿입니다.
데이터베이스 크기에 대한 정보를 가져오려면 기본 테이블 영역 및 설명이 \l+ 또는 \list+를 사용합니다. 현재 사용자가 데이터베이스 크기에 연결할 수 있는 경우에만 데이터베이스 크기가 표시됩니다.
psql 셸에 액세스하지 않고 모든 데이터베이스 목록을 가져오려면 아래와 같이 -c 스위치를 사용하십시오.
sudo -u postgres psql -c "\l"
데이터베이스를 나열하는 또 다른 방법은 다음 SQL 문을 사용하는 것입니다.
\l meta-command와 달리 위의 쿼리는 데이터베이스 이름만 표시합니다.
SELECT datname FROM pg_database;
# datname
# -----------
# postgres
# odoo
# template1
# template0
# (4 rows)
테이블을 나열
특정 데이터베이스의 모든 테이블을 먼저 나열하려면 \c 또는 \connect meta- 명령을 사용하여 데이터베이스에 연결해야 합니다. 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+를 사용합니다.
PostgreSQL 데이터베이스 및 테이블은 psql 명령을 사용하고 나열하는 방법을 배웠습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Less 명령어, 사용 방법, 예제 (0) | 2021.10.19 |
---|---|
Debian 9 : VLC Media Player 설치 방법, 예제, 명령어 (0) | 2021.10.18 |
Linux : Nano 사용 방법, 예제, 명령어 (0) | 2021.10.16 |
Linux : UFW Firewall 규칙 나열, 삭제 방법, 예제, 명령어 (1) | 2021.10.15 |
Linux : 비빌번호 없이 Sudo 명령어 사용 방법, 예제 (0) | 2021.10.14 |