PostgreSQL (Postgres) – Installation & Overview |¦| SQL Tutorial |¦| SQL for Beginners

안녕하세요 뷰어 나는 당신을 당신의 새로운 친구에게 소개 할 것이기 때문에 당신이 오늘 나와 함께 할 수있어서 기쁩니다

PostgreSQL 이 오픈 소스 데이터베이스는 지상과 저기에 폭풍에 의해 세계를 지배하고 있습니다 클라우드에서 그것은 당신에게 무료의 낮은, 저렴한 가격에 대한 고급 관계형 데이터베이스를 제공합니다 무료로 현지 통화로 변환하면 무료입니다 막대기로 그걸 이길 수는 없지, 그렇지? 나는 옳다

잠시 시간을내어 그 이름을 쳐다 보자 이것은 "Post gres SQL"이라고 발음하지만, 대부분의 사람들은 단순히 "Post gres"라고 말합니다 짧은 왜냐하면 정직하게 – 누가 음절을 쓸 시간이 있니? 우리는해야 할 일과 저장할 데이터가 있습니다 시작하려면 잠시 시간을내어 이름을 조금 더 보자

"post"라는 접두사는 "gres"앞에 무엇인가가 왔음을 암시합니다 그리고 이것은 사실입니다 이름을 이해하기 위해서는 1970 년대까지 거슬러 올라가야합니다

장소? 버클리, 캘리포니아 시간? 1970 년대 불행한 유행이 많고 세계적인 수준의 대학이 있습니다 과학자들은 "잉그레스 (Ingres)"라는 연구 프로젝트에 열심입니다 많이 기뻐했다

그러나 완벽하지는 않습니다 그래서 1980 년대에 일부 프로젝트를 수정하기위한 후속 프로젝트가 시작되었습니다 Ingres의 문제점 "ingres"이후에 나온 것이므로이 프로젝트는 "POSTgres"라고 불렀습니다 컴퓨터 과학자 인 당신은 아주 영리합니다

그리고 1990 년대에는 더 많은 개선이 이루어졌습니다 "POSTQUEL 쿼리 언어"대신 SQL을 지원하도록 데이터베이스가 업데이트되었습니다 폭풍우에 의해 세계를 잡고 있었다 PostgreSQL이 탄생했습니다 더 기뻤습니다

그리고 다운로드 중 Postgres를 설치하려면 공식 웹 사이트 "postgresqlorg"를 방문하십시오 이 페이지를 방문하여 상황이 다른 것처럼 보일 경우 당황하지 마십시오 웹 사이트가 바뀌면 변화를 두려워해서는 안됩니다 변화가 무서운 경우가 아니라면 두려워해야합니다 다운로드를 클릭하십시오 그리고 사용중인 운영 체제의 버전을 선택하십시오 EnterpriseDB 설치 프로그램을 사용하여 설치 절차를 시연합니다 나는 너를 모른다 그러나 나는 그 가장자리에서 살기를 좋아한다 그래서 나는 가장 많이 선택할 것이다

최근 버전의 Postgres 여기에 나열된 버전보다 최신 버전이 표시되면 미래의 뷰어를 축하합니다 Postgres를 설치하기 전에 서스펜스를 구축하려면 시간을 들여서 처음에는 Postgres 홈 페이지를 방문했습니다 그게 미친 시간 이었어 코끼리가 도처에있다

왜 이런거야? 우선, 코끼리는 아름답고 놀라운 동물입니다 크고 위엄있는 그러나 주된 이유는 "코끼리는 결코 잊지 않는다"는 것입니다

그리고 데이터베이스를 잊어 버리지 않으려면 마스코트에 대한 좋은 선택 잘 했어, Postgres

이제 Postgres를 설치할 준비가되었습니다 설치 프로그램을 실행하십시오 pgAdmin 구성 요소를 별도로 설치하므로 해당 확인란의 선택을 취소하십시오 엔지니어는 이중의 존경심을 얻으므로 확실히 명령 줄 도구를 설치하려고합니다 명령을 입력 할 때와 GUI를 사용할 때를 가리 킵니다

하지만 걱정하지 마 우리는 pgAdmin GUI를 곧 설치할 것이므로 아무도 찾고 있지 않을 때 사용할 수 있습니다 Postgres 데이터를 OS 드라이브와 별도의 하드 드라이브에 저장하겠습니다 하드 드라이브가 하나뿐이라면 당황하지 마십시오 해로울 것이 없습니다

이제 중요한 결정을 내려야합니다 수퍼 유저 비밀번호를 선택하십시오 "암호"가 아닌 것이 좋습니다 수퍼 유저가 되려면 수퍼 패스워드를 선택해야합니다 그런 다음 서버의 포트를 선택할 수 있습니다

Postgres는 기본적으로 5-4-3-2를 사용하는데, 이는 우리가 사용할 것입니다 오, 더 많은 질문 기본 로케일

다음 것 끝은 시야에있다 모든 것이 올바른지 확인하고 "다음"을 다시 클릭하십시오 너 지금 농담하는 거지… 다음 것… 이것은 내가보고 싶은 것입니다 상태 표시 줄, 빠르게 변화하는 텍스트 및 몇 초 안에 새로운 데이터베이스의 약속 또는 아마도 몇 분 참을성이 없어서 스택 빌더 옵션을 선택 취소 할 수있는 권리가 있습니다 우리의 데이터베이스를 구축하기 시작하십시오 하지만 먼저 Postgres GUI 도구를 설치합니다

우리가 설치할 것은 "pgAdmin"입니다 "pg"가 무엇을 의미하는지 궁금 할 것입니다 꽤 좋은 내 생각 엔 이 도구를 다운로드하려면 "pgAdminorg"로 이동하십시오

나는 코끼리를 본다 그래서 우리는 올바른 곳에 있어야한다 여기에서 우리는 훈련을 안다 다운로드를 클릭하십시오 운영 체제를 선택하십시오 대담하고 최신 버전 사용 일반적으로 새 소프트웨어를 설치할 때처럼 "다음"을 클릭하십시오 모든 대문자로 많은 텍스트가있는 라이센스 계약 나는 항상 나의 CV에 비슷한 경고를 포함한다 설치하십시오 이제 Postgres 데이터베이스와 pgAdmin 도구를 모두 설치 했으니 이제 보자 우리 노동의 결실 pgAdmin 도구를 시작하십시오

축하해 우리는 시작 선으로 만들었습니다 이제 pgAdmin 인터페이스 둘러보기를 시작합니다 pgAdmin 인터페이스는 초대를 받아야합니다 Postgres 코끼리는 우리에게 따뜻한 마음으로 "환영합니다"라고 말합니다

맨 위에는 도구 모음이 있습니다 아래에는 대시 보드가 이미 선택된 여러 탭이 있습니다 시작하는 데 도움이되는 링크가 있습니다 새 서버 만들기 pgAdmin GUI 구성 도움을 받기위한 자료

내가 제일 좋아하는 것은 PostgreSQL 사용자 매뉴얼이다 3,500 페이지가 넘는 페이지에서 매혹적인 매뉴얼입니다 400 시간 밖에되지 않는 오디오 북 버전도 있습니다 나는 마지막을 위해 최선을 모았습니다 사이드 바

맨 위에는 "서버"라는 "서버 그룹"이 있습니다 이름에서 알 수 있듯이 "서버 그룹"은 서버 구성을위한 컨테이너입니다 "서버"라는 이름 뒤에 "1"이 있으면 현재 서버가 하나 있음을 알 수 있습니다 이 그룹 기본 서버는 "PostgreSQL 11"이며 코끼리 아이콘 상태가 부여됩니다

이 서버를 확장하면 추가 범주가 표시됩니다 데이터베이스 로그인 및 그룹 역할 그리고 Tablespaces 우리는 지금까지 Postgres 데이터베이스를 보았습니다 그러니 정신이 산만하지 않게합시다 "Databases"를 확장하면 "postgres"데이터베이스가 나타납니다 "template0"및 "template1"이라는 데이터베이스를 보거나 보지 못할 수도 있습니다

당신이 그들을 보게되면, 그들을 내버려둬 라 날 믿어… 나는 한때이 템플릿 데이터베이스를 창에서 삭제 한 사람 (Michael Harrison)을 알고있었습니다 그리고 레지스트리를 정리하고 데이터베이스를 재설치하는 데 상당한 시간을 소비해야했습니다 일을 순서대로 되돌리기 위해 데이터베이스를 만들려면 "데이터베이스"를 마우스 오른쪽 단추로 클릭하고 만들기 데이터베이스 를 선택하십시오

우리는 "socratica"라는 데이터베이스를 생성 할 것입니다 소유자는 슈퍼 유저 인 "postgres"입니다 이것은 다가오는 액션 영화의 제목이기도합니다 "저장"을 클릭하기 전에 "SQL"탭을 살펴 보겠습니다 이 데이터베이스를 생성하기 위해 실행될 SQL 명령을 보여줍니다

pgAdmin을 사용하여 데이터베이스를 변경할 때마다 다음을 살펴볼 것을 제안합니다 SQL 탭 SQL에 대한 이해를 높이고 유용한 코드 스 니펫을 제공합니다 스크립트 및 코드에서 사용할 수 있습니다 이제 '일반'탭으로 돌아가서 '저장'합니다

데이터베이스가 생성되었습니다 얼마나 많은 테이블이 있는지 보려면 "스키마"폴더를 엽니 다 기본적으로이 데이터베이스에는 공용 스키마가 있습니다 공개 스키마를 확장하면 구축 할 때 사용할 수있는 긴 기능 목록이 표시됩니다 귀하의 데이터베이스

가장 중요한 것은 당신의 테이블입니다 그리고 이것을 클릭하면 "socratica"데이터베이스에 현재 테이블이 없다는 것을 알 수 있습니다 그리고 그것의 외형에 의해, 의자도 없습니다 우리는 향후 비디오에서이 문제를 해결할 것입니다 이제 Postgres를 설치 했으므로 모든 사람에게 Postgres를 알릴 수 있습니다 Postgres를 설치했습니다 그러나 잠깐, 더 좋아진다 더 이상 사용자가 아닙니다

이제 수퍼 유저입니다 데이터의 세계가 저장을위한 것입니다 그러니 그 너클들을 깨고, 그 매뉴얼을 잡고, 무릎을 들어야합니다 수동 무거운 때문입니다 더 우수한 비디오를 보려면 Socratica를 구독하십시오

Kubernetes Tutorial: How to Deploy PostgreSQL on Google Kubernetes Engine (GKE)

안녕하세요 이 데모에서는 고 가용성 Postgres 데이터베이스를 설치하는 방법을 보여 드리려고합니다

Portworx와 Kubernetes Portworx를 스토리지 백엔드로 사용하기 때문에 추가로 구성 할 필요가 없습니다 Postgres의 고 가용성을 보장하는 매개 변수로, 만들 필요가 없음을 의미합니다 PostgreSQL을 상태 저장 세트로 사용하거나 다른 메커니즘을 사용하여 고 가용성을 확보하십시오 데이터베이스에 전력을 공급하는 스토리지 백엔드는 이미 가용성이 높고 중복되므로, 우리는 자동으로 데이터베이스의 HA를 달성합니다

그럼 어떻게하는지 봅시다 우리가 할 첫 번째 일은 다음과 같은 것을 만드는 것입니다 스토리지 클래스 Kubernetes에 익숙하다면 스토리지 클래스가 연관성이 있음을 알 수 있습니다 특정 스토리지 백엔드에서 우리가 생성 할 볼륨 및 볼륨 클레임을 다음 단계

이것은 Portworx 고유의 저장소 클래스입니다 모든 것이 다른 스토리지 클래스와 거의 동일하게 보이지만, 고유 한 것은 무엇입니까? 이 구성에 복제 인수라는 매개 변수가 있습니다이 경우 우리는 복제 요소를 3으로 언급하고, 이는 데이터가 Portworx 볼륨은 세 개의 노드에 걸쳐 복제 될 것이며 이는 마술입니다 Portworx는 stateful 작업 부하의 가용성을 높이기 위해 노력할 것입니다 이제 저장소 클래스를 만들어 보겠습니다 따라서 "px-repl3-sc"라는 저장소 클래스를 만듭니다

스토리지 클래스가 생기면 다음 단계는 지속적 볼륨 소유권 주장을 만드는 것입니다 이제 Kubernetes에 대한 배경 지식이 있다면 PVC가 항상 PV에 바인딩된다는 것을 알고 있습니다 영구 볼륨입니다 그러나 동적 프로비저닝 덕분에 PVC를 스토리지에 즉시 연결할 수 있습니다 이 단계를 건너 뛰고 먼저 볼륨을 작성한 다음 볼륨 클레임을 작성하십시오 우리는 스토리지 클래스를 언급하고이를 이전 스토리지와 연관시킴으로써이를 수행합니다 우리가 방금 만든 수업

또한 애플리케이션에 최소 1GB의 소유권 주장이 있음을 확인하고 있습니다 이제 방금 만든 저장소 클래스를 기반으로 PVC를 만듭니다 그래서 이것은 이미 묶여있는 1 GB의 PVC를 만들어 낼 것입니다, 그리고 이것은 개념입니다 동적 프로비저닝을 통해 볼륨 생성을 우회하여 볼륨 공간 좋아, 그 두 곳, 스토리지 클래스와 PVC로, 이제 우리는 pgSQL을 실행하는 배포의 일부 pgSQL은 사용자 이름과 패스워드를 요구하기 때문에 우리는 베스트 프랙티스를 따를 것입니다

Kubernetes 비밀을 만드는 것 이를 위해 더미 비밀번호가 포함 된 일반 마닐라 텍스트 파일을 만들 계획입니다 이 데모에 사용할 예정입니다 우리는 개행 문자를 제거 할 것입니다 그리고 나서이 파일에서 Postgres라고하는 일반적인 비밀을 생성 할 것입니다

패스 그래서, 우리가 "비밀리에 kubectl"을 할 때, 우리는 비밀 번호로 사용할 수있는 것을 보게 될 것입니다 이제는 Postgres의 실제 배포판을 만드는 것이 좋습니다 이제 YAML 정의를 자세히 살펴 보겠습니다 이것은 복제본을 하나의 배포로 구성됩니다

앞에서 언급했듯이, 우리가 백엔드 덕분에이 인스턴스를 하나의 인스턴스로 실행하는 경우에도, 우리는 여전히 HA를 달성 할 것입니다 그런 다음 우리는 방금 생성 한 비밀을 이미 일반 비밀에서 사용하려고합니다 클러스터 및 기본 이름 공간에 저장됩니다 마지막으로이 배치를 PVC로 인한 볼륨과 연관시킵니다 따라서 클레임 이름은 여기에서 생성 된 "px-postgres-pvc"를 가리키고 있습니다

차례, 스토리지 클래스를 가리키며 이것은 파트가 어떻게 백업 될지입니다 Portworx 스토리지 백엔드 자, 이제 Postgres 배포를 만들어 보겠습니다 이것은 포드의 생성을 초래할 것이므로, 이것을 watch 모드로 두자 몇 초 안에 배포의 일부인이 포드가 상태가 실행 중이면서 준비 상태로 이동하고 성공을 나타냅니다

PostgreSQL의 구성 및 배포 우리는 거기에 갈 이제 Postgres pod가 실행되었습니다 모든 것을 완벽하게 구성하고 준비가되었는지 어떻게 확인합니까? Postgres 위에 작업 부하를 실행하려면? 음, PVC 생성으로 인한 볼륨을 확보합시다 따라서이 명령을 실행하여 기본적으로이 PVC와 관련된 볼륨 이름을 가져옵니다 이를 확인하면 Portworx 백엔드에 바인딩 된 고유 한 ID가 표시됩니다

이제 우리는 데몬 세트 실행의 일부인 포드 이름을 잡을 것입니다 Portworx 그리고 우리가 kube-system 네임 스페이스에 key-value 베타 라벨을 붙이기 때문에 이름은 Portworx와 같습니다 이것은 Portworx pod의 이름을 우리에게 줄 것입니다 이 경우, 우리는 pxctl을 호출 할 명령을 실행하려고합니다

Portworx와 함께, 우리는 Postgres 데이터베이스를 지원하는 볼륨을 검사 할 것입니다 그래서 볼륨 검사를하고 볼륨 이름을 붙였습니다 꽤 흥미로운 세부 사항들을 보여줄 것입니다 그래서 이것은 Portworx 볼륨의 이름이고 동적 볼륨의 일부이기 때문에 프로비저닝을하면 PVC와 관련되어 있다는 것을 알 수 있습니다 1GB 크기입니다

다시 말하면, 이전에 정의한 PVC를 기반으로하면 3 가지 요소를 기반으로 높은 가용성을 얻을 수 있습니다 복제 SSD 디스크 중 하나, GCP 인프라의 일부 및 GKE 클러스터에 연결됩니다 복제 요소를 3으로 설정 했으므로 자동으로 사용할 수 있습니다 우리 클러스터의 모든 세 노드에서 복제 상태가 모두 녹색이며 실행 중입니다 이것은 PostgreSQL 데이터베이스뿐만 아니라 Portworx의 매우 건전한 설치를 의미합니다

다음 비디오에서는 고 가용성을 달성하는 방법을 보여 드리겠습니다 실행중인 포드를 삭제하고 모든 데이터를 그대로 재 작성하여 지켜봐 줘서 고마워