psql을 사용하여 데이터베이스에 설치된 확장을 어떻게 나열합니까?
psql에서 데이터베이스나 스키마에 이미 설치된 모든 확장을 나열하려면 어떻게 해야 합니까?
참고 항목
psql에서는 다음과 같습니다.
\dx
자세한 내용은 psql 설명서를 참조하십시오.
일반 SQL에서 이 작업을 수행하면 다음 항목을 선택할 수 있습니다.
SELECT *
FROM pg_extension;
서버에서 사용할 수 있는 확장명을 알고 싶은 경우 추가로 다음을 수행합니다.SELECT * FROM pg_available_extensions.
및 참조.
이 SQL 쿼리는 다음과 유사한 출력을 제공합니다.\dx:
SELECT e.extname AS "Name", e.extversion AS "Version", n.nspname AS "Schema", c.description AS "Description"
FROM pg_catalog.pg_extension e
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace
LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass
ORDER BY 1;
https://blog.dbi-services.com/listing-the-extensions-available-in-postgresql/ 덕분입니다.
위에서 제안한 대로 실행하는지 여부에 대한 의견입니다. psql에서도 마찬가지입니다.
\dx
또는
select extname from pg_extension ;
명심하세요
- 올바른 데이터베이스에 연결되어 있는지 확인합니다.확장자가 로드된 데이터베이스에 따라 다릅니다.
- template1 데이터베이스에 추가된 확장자는 정의에 따라 모든 데이터베이스에 나타납니다.
확장 정보를 가져오기 전에 앱이나 드라이버에서 직접 쿼리를 사용하여 postgresql에서 이 정보를 가져오는 경우 백그라운드에서 실행 중인 내용을 조금 확인하면 유용합니다. \dx라고 불리는 카탈로그의 조합에서 정보를 끌어오는 중입니다.pg_extension, pg_namespace, pg_description그리고.regclass.
로그인, 에psql아래에 언급된 프롬프트:
psql -h localhost -d postgres -U username -E
와 함께-E모든 별칭이 사용 중인 숨겨진 명령의 세부 정보를 제공하는 스위치입니다.일단 당신이 참여하면 당신은 간단히 할 수 있습니다.\dx
그러면 다음과 같은 결과를 얻을 수 있습니다.
********* QUERY **********
SELECT e.extname AS "Name", e.extversion AS "Version", n.nspname AS
"Schema", c.description AS "Description"
FROM pg_catalog.pg_extension e
LEFT JOIN pg_catalog.pg_namespace n
ON n.oid = e.extnamespace
LEFT JOIN pg_catalog.pg_description c
ON c.objoid = e.oid AND c.classoid =
'pg_catalog.pg_extension'::pg_catalog.regclass
ORDER BY 1;
**************************
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
DBweaver 또는 PGADMIN과 같은 클라이언트를 사용하는 경우 슬래시 명령이 사용자에게 또는 ORM 등의 경우에도 작동하지 않을 수 있습니다.여기서 위의 정보를 사용하여 확장 또는 postgres의 다른 별칭 명령에 대한 유사한 정보를 얻을 수 있습니다.
다음 쿼리는 설치된 확장 및 해당 버전의 목록을 출력합니다.
SELECT oid, extname, extversion FROM pg_extension;
| 이드 | 이름을 딴 사람 | 외향성 |
|---|---|---|
| 13763 | plpgsql | 1.0 |
| 18536 | http | 1.5 |
| 22466 | dict_xsyn | 1.0 |
설치에 사용할 수 있는 다른 확장 및 해당 버전을 확인하려면 다음 쿼리를 실행합니다.
SELECT name, default_version, installed_version
FROM pg_available_extensions;
| 이름. | default_version | installed_version |
|---|---|---|
| dict_xsyn | 1.0 | 1.0 |
| 세그 | 1.4 | NULL |
| pgcrypto | 1.3 | NULL |
| plpgsql | 1.0 | 1.0 |
확장이 없는 경우 확장을 설치하려면 다음 쿼리를 실행합니다.
CREATE EXTENSION [ IF NOT EXISTS ] extension_name;
확장을 최신 버전으로 업그레이드하려면 다음 쿼리를 사용합니다.
ALTER EXTENSION extension_name UPDATE TO 'new_version';
언급URL : https://stackoverflow.com/questions/21799956/using-psql-how-do-i-list-extensions-installed-in-a-database
'programing' 카테고리의 다른 글
| 스플래시 화면을 만들려면 어떻게 해야 합니까? (0) | 2023.06.03 |
|---|---|
| Passing variables in remote ssh command (0) | 2023.06.03 |
| 루비 수면? 아니면 1초 미만의 지연? (0) | 2023.06.03 |
| Sinatra로 정적 파일 제공 (0) | 2023.06.03 |
| Git 하위 모듈과 하위 트리 간의 차이 (0) | 2023.06.03 |