정보 인코딩과 관련된 문제. 잘못된 웹페이지 인코딩 문제를 해결합니다. ASCII - 라틴 알파벳의 기본 텍스트 인코딩

나는 내 기사에 어떤 데이터베이스 관리 시스템(DBMS)을 선택할지 오랫동안 고민했고 PostgreSQL을 선택하기로 결정했습니다.
선택에는 여러 가지 이유가 있습니다.

  1. 무료 DBMS
  2. 설치가 쉽습니다.
  3. 주요 운영 체제 지원
  4. 데이터베이스 작업을 위한 편리한 pgAdmin 프로그램
  5. 이것 최신 DBMS좋은 기회로

기본적으로 JDK에는 Derby라는 데이터베이스가 내장되어 있습니다. 하지만 제 생각에는 사용하기가 매우 불편합니다. MySQL도 일반적으로 나쁘지는 않지만 명령을 입력하는 데 다소 불편한 유틸리티가 있습니다. 나머지 데이터베이스는 유료이거나 거의 알려지지 않았습니다. 물론 내 기사를 읽은 후에는 누구도 이러한 데이터베이스를 직접 사용하는 것을 막을 수 없습니다.

다운로드 필요한 버전 PostgreSQL은 다음 페이지에서 사용할 수 있습니다. PostgreSQL 다운로드.
~에 이 순간버전 9.5.2를 사용했습니다. 기사를 읽는 시점에서는 어떤 버전이 될지 모르겠습니다. 그러나 앞으로 몇 년 동안 상황이 급격하게 변하지 않기를 바랍니다.
주의하세요. 해당 버전을 다운로드하세요. 운영 체제. 그런 다음 설치를 시작합니다. 화면에서는 이렇게 보입니다.

두 번째 화면에서는 설치 디렉터리를 선택해야 합니다. “에 설치하는 것을 권장하지 않습니다. 프로그램 파일" 기본적으로 윈도우즈에서 서버 플랫폼이것은 어려움을 겪을 수 있습니다. 가정용 시스템에서는 문제가 없을 가능성이 높지만 "우유를 마시면 물이 나옵니다"라고 말합니다. 그래서 저는 보통 "C:\PostgreSQL\" 디렉터리에 넣습니다.

~에 다음 화면"postgres" 사용자의 비밀번호를 입력해야 합니다. 개발을 위해 동일한 비밀번호인 "postgres"를 선택합니다.

다음 화면에서는 PostgreSQL이 중단될 포트를 묻습니다. PostgreSQL이 설치되어 있지 않은 경우 기본값 “5432”를 그대로 둘 수 있습니다.

현지화는 그대로 둘 수 있습니다. 관심 있는 사람은 누구나 구체적인 것을 선택할 수 있습니다. 원칙적으로 기본값을 선택하는 데 문제가 없었습니다.

설치를 시작해보자..

그리고 그것이 끝날 때까지 기다리십시오.

완료되면 설치하라는 메시지가 표시됩니다. 추가 유틸리티스택 빌더 - 저는 평소에 체크를 안 하므로 체크를 해제하고 '마침'을 누르면 됩니다.

안에 일반 설치끝났다. 이제 목록에 Windows 서비스 PostgreSQL을 볼 수 있습니다

자주 설치해요 수동 시작서비스이지만 이것이 귀하에게 편리합니다.

이제 남은 것은 PostgreSQL 패키지에 DBMS 관리를 위한 매우 편리하고 이해하기 쉬운 프로그램인 pgAdmin III이 포함되어 있다는 사실을 알아내는 것입니다. 시작페이지에서 확인 가능 윈도우 메뉴(다른 OS에서 작업하는 경우 검색하면 찾을 수 있습니다.)
시작하면 모든 것이 매우 간단합니다.

왼쪽에서 PostgreSQL 9.5를 두 번 클릭하면 비밀번호를 입력하라는 메시지가 나타날 수 있습니다.
다음으로 왼쪽에 DBMS의 구조가 표시됩니다.

왼쪽의 "데이터베이스" 섹션을 열고 이미 사전 생성된 "postgres" 데이터베이스를 확인하세요.
딸깍 하는 소리 마우스 오른쪽 버튼으로 클릭"데이터베이스" 항목에 마우스를 놓고 "를 선택합니다. 새로운 기지데이터..." 입력 양식이 나타납니다. 시작하려면 데이터베이스 이름을 입력하세요. 저는 "contactdb"라고 불렀습니다.

새로 생성된 데이터베이스를 마우스로 선택하고 원하는 모든 작업을 수행할 수 있는 기회를 얻으세요.

명령을 실행하려면 SQL 편집기를 열어야 합니다. 가장 쉬운 방법은 상단 패널의 버튼을 누르는 것입니다.

안에 창문을 열어라 SQL 명령을 입력할 수 있습니다.

일반적으로 모든 것이 준비되었습니다. 연락처에 필요한 테이블을 생성하고 여기에 테스트 데이터를 삽입하는 SQL 스크립트를 실행할 수 있습니다.
필요한 데이터를 생성하기 위해 SQL 스크립트는 다음과 같습니다.

존재하는 경우 테이블 삭제 JC_CONTACT; CREATE TABLE JC_CONTACT (CONTACT_ID SERIAL, FIRST_NAME VARCHAR(50) NOT NULL, LAST_NAME VARCHAR(50) NOT NULL, PHONE VARCHAR(50) NOT NULL, EMAIL VARCHAR(50) NOT NULL, PRIMARY KEY(CONTACT_ID)); JC_CONTACT에 삽입(FIRST_NAME, LAST_NAME, PHONE, EMAIL) 값("Peter","Belgy","+79112345678"," [이메일 보호됨]"); JC_CONTACT에 삽입(FIRST_NAME, LAST_NAME, 전화, 이메일) 값("Helga","Forte","+79118765432"," [이메일 보호됨]"); SELECT * JC_CONTACT에서;

존재하는 경우 테이블 삭제 JC_CONTACT ;

테이블 JC_CONTACT 생성

CONTACT_ID 일련 번호,

FIRST_NAME VARCHAR (50 ) NOT NULL ,

LAST_NAME VARCHAR (50 ) NOT NULL ,

전화 VARCHAR(50)은 NULL이 아닙니다.

이메일 VARCHAR(50)은 NULL이 아닙니다.

기본 키(CONTACT_ID)

JC_CONTACT에 삽입(FIRST_NAME, LAST_NAME, PHONE, EMAIL) 값("Peter" , "Belgy" , "+79112345678" , " [이메일 보호됨]" ) ;

JC_CONTACT에 삽입(FIRST_NAME, LAST_NAME, 전화, 이메일) 값("Helga", "Forte", "+79118765432", " [이메일 보호됨]" ) ;

SELECT * JC_CONTACT에서;

  • SQL
  • 웹사이트 개발
    • 번역

    오늘은 다른 시스템에 비해 Postgres의 장점에 대해 이야기하겠습니다. 오픈 소스. 우리는 이 주제를 불과 두 달 앞으로 다가온 PG Day"16 러시아에서 더 자세히 다룰 것입니다.

    “왜 PostgreSQL인가?”라고 스스로에게 질문하실 수도 있습니다. 결국, 개방형 관계형 데이터베이스에 대한 다른 옵션이 있습니다. 소스 코드(이 기사의 목적을 위해 MySQL, MariaDB 및 Firebird를 살펴보았습니다.) 그렇다면 Postgres가 제공하지 않는 기능은 무엇입니까? PostgreSQL의 태그라인은 "세계에서 가장 진보된 오픈 소스 데이터베이스"라고 명시되어 있습니다. Postgres가 그러한 진술을 하는 몇 가지 이유를 설명하겠습니다.

    이 시리즈의 첫 번째 부분에서는 데이터 저장(모델, 구조, 유형 및 크기 제한)에 대해 설명합니다. 그리고 샘플링과 데이터 조작에 더 집중해 보겠습니다.

    데이터 모델

    PostgreSQL은 단순한 관계형 DBMS가 아니라 객체 관계형 DBMS입니다. 이는 MySQL, MariaDB 및 Firebird와 같은 다른 오픈 소스 SQL 데이터베이스에 비해 몇 가지 이점을 제공합니다.

    객체 관계형 데이터베이스의 기본 특징은 데이터 유형, 함수, 작업, 도메인 및 인덱스를 포함하여 사용자 객체와 해당 동작을 지원한다는 것입니다. 이는 Postgres를 놀라울 정도로 유연하고 안정적으로 만듭니다. 무엇보다도 생성, 저장 및 검색이 가능합니다. 복잡한 구조데이터. 아래의 일부 예에서는 표준 RDBMS에서 지원하지 않는 중첩 및 복합 구성을 볼 수 있습니다.

    구조 및 데이터 유형

    Postgres가 지원하는 광범위한 데이터 유형 목록이 있습니다. 숫자, 부동 소수점, 텍스트, 부울 및 기타 예상 데이터 유형(및 다양한 변형) 외에도 PostgreSQL은 uuid, 화폐, 열거형, 기하학, 바이너리에 대한 지원을 자랑합니다. 네트워크 주소, 비트 문자열, 텍스트 검색, xml, json, 배열, 복합 유형 및 범위 및 일부 내부 유형로그의 개체와 위치를 식별합니다. 공정하게 말하면 MySQL, MariaDB 및 Firebird에도 이러한 데이터 유형 중 일부가 있지만 Postgres만이 이러한 데이터 유형을 모두 지원합니다.

    그 중 일부를 자세히 살펴보겠습니다.

    네트워크 주소
    PostgreSQL은 스토리지를 제공합니다 다른 유형네트워크 주소. CIDR(클래스 없는 인터넷 도메인 라우팅) 데이터 유형은 IPv4 및 IPv6 네트워크 주소에 대한 규칙을 따릅니다. 여기 몇 가지 예가 있어요.
    • 192.168.100.128/25
    • 10.1.2.3/32
    • 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128
    • ::ffff:1.2.3.0/128
    또한 네트워크 주소를 저장하는 데 사용할 수 있는 INET 데이터 유형은 서브넷이 선택 사항인 IPv4 및 IPv6 호스트에 사용됩니다. MACADDR 데이터 유형은 하드웨어 식별을 위해 08-00-2b-01-02-03과 같은 MAC 주소를 저장하는 데 사용될 수 있습니다.

    MySQL 및 MariaDB에도 네트워크 주소를 변환하는 INET 기능이 있지만 내부적으로 네트워크 주소를 저장하기 위한 데이터 유형을 제공하지 않습니다. Firebird에는 네트워크 주소를 저장하는 유형도 없습니다.

    다차원 배열
    Postgres는 객체 관계형 데이터베이스이므로 대부분의 경우 값 배열을 저장할 수 있습니다. 기존 유형데이터. 이 작업은 추가하여 수행할 수 있습니다. 대괄호열의 데이터 유형 사양에 적용하거나 ARRAY 표현식을 사용합니다. 배열의 크기를 지정할 수 있지만 필수는 아닙니다. 배열의 사용법을 보여주기 위해 휴일 피크닉 메뉴를 살펴보겠습니다.

    값이 배열인 테이블을 생성합니다. CREATE TABLE holiday_picnic (holiday varchar(50) -- 문자열 값 샌드위치 텍스트, -- 배열 측 텍스트, -- 다차원 배열디저트 텍스트 ARRAY, -- 음료 텍스트 배열 ARRAY -- 4개 요소의 배열); -- 테이블에 배열 값을 삽입합니다. INSERT INTO holiday_picnic VALUES ("노동절", "("로스트 비프","채소","터키")", "( ("감자 샐러드","그린 샐러드", "마카로니 샐러드"), ("칩스","크래커") )", "("과일 칵테일","베리 파이","아이스크림")", "("소다","주스","맥주" ,"물 ")");
    MySQL, MariaDB, Firebird는 이 작업을 수행할 수 없습니다. 이러한 값의 배열을 전통적인 방식으로 저장하려면 관계형 데이터베이스데이터가 있는 경우 해결 방법을 사용하여 생성해야 합니다. 별도의 테이블각 배열 값에 대한 행이 있습니다.

    기하학적 데이터
    위치 데이터는 많은 애플리케이션의 핵심 요구 사항으로 빠르게 자리잡고 있습니다. PostgreSQL은 오랫동안 점, 선, 원, 다각형과 같은 다양한 기하학적 데이터 유형을 지원해 왔습니다. 이러한 유형 중 하나는 PATH이며, 이는 많은 연속 지점으로 구성되며 개방형(시작점과 끝점이 연결되지 않음) 또는 폐쇄형(시작점과 끝점이 연결됨)일 수 있습니다. 등산로를 예로 들어보겠습니다. 안에 이 경우등산로는 순환도로이기 때문에 시작점과 끝점이 연결되어 있어 내 길이 막혀 있다는 뜻이다. 좌표 세트 주위의 둥근 괄호는 닫힌 경로를 나타내고 대괄호는 열린 경로를 나타냅니다.

    트레일을 저장할 테이블을 생성합니다. CREATE TABLE 트레일(trail_name varchar(250), trail_path path); -- 경로가 위도-경도 형식의 좌표로 결정되는 테이블에 트레일을 삽입합니다. INSERT INTO trails VALUES ("Dool Trail - Creeping Forest Trail Loop", ((37.172,-122.22261666667), (37.171616666667, -122.22385), (37.1735,-122.2236), (37.175416666667,-122.223), (37.1758,-122.22378333333), (37.179466666667,-122.22866666667), ( 37.18395,-122.226 75), (37.180783333333,-122.22466666667), (37.176116666667, -122.2222), (37.1753 ,-122.22293333333), (37.173116666667,-122.22281666667)));
    PostgreSQL용 PostGIS 확장은 보조 공간 유형, 함수, 연산자 및 인덱스를 사용하여 기존 기하학적 데이터 속성을 확장합니다. 위치 지원을 제공하고 래스터 및 벡터 데이터를 모두 지원합니다. 또한 데이터 표시, 렌더링 및 작업을 위한 다양한 타사 지리공간 도구(저작권 및 오픈 소스)와의 호환성을 제공합니다.

    버전 5.3.3 이후의 MySQL 5.7.8 및 MariaDB에는 OpenGIS 지리 정보 표준을 지원하기 위해 데이터 유형 확장이 추가되었습니다. 이것 MySQL 버전 MariaDB의 후속 버전은 기본 Postgres 지리 데이터와 유사한 데이터 유형 저장소를 제공합니다. 하지만 MySQL과 MariaDB에서는 데이터 값을 먼저 기하학적 형식으로 변환해야 합니다. 간단한 명령테이블에 삽입되기 전에 Firebird는 현재 기하학적 데이터 유형을 지원하지 않습니다.

    JSON 지원
    PostgreSQL의 JSON 지원을 통해 스키마 없는 데이터를 SQL 데이터베이스에 저장할 수 있습니다. 이는 데이터 구조에 약간의 유연성이 필요할 때 유용할 수 있습니다. 예를 들어 개발 중에 구조가 여전히 변경 중이거나 데이터 개체에 어떤 필드가 포함될지 알 수 없는 경우입니다.

    유형 JSON 데이터 Postgres에 내장된 특수 JSON 연산자 및 함수를 사용하여 쿼리를 수행하고 데이터를 조작할 수 있는 JSON 유효성 검사를 제공합니다. 또한 공백을 제거하고 객체 정렬을 유지하지 않고 가장 최적의 방식으로 저장하며 중복 키의 마지막 값만 저장하는 JSON 형식의 이진 변형인 JSONB 유형도 사용할 수 있습니다. JSONB는 일반적으로 선호되는 형식입니다. 더 적은 공간객체의 경우 반복 작업이 필요하지 않으므로 더 빠르게 색인화하고 처리할 수 있습니다. 파싱.

    MySQL 5.7.8 및 MariaDB 10.0.1에는 기본 JSON 개체에 대한 지원이 추가되었습니다. 그러나 현재 이러한 데이터베이스에서 사용할 수 있는 JSON용 함수와 연산자가 많이 있지만 PostgreSQL의 JSONB와 같은 방식으로 인덱싱되지는 않습니다. Firebird는 아직 이러한 추세에 합류하지 않았으며 JSON 개체만 텍스트로 지원합니다.

    새 유형 만들기
    Postgres의 광범위한 데이터 유형 목록이 충분하지 않은 경우 CREATE TYPE 명령을 사용하여 복합, 열거, 범위 및 기본과 같은 새로운 데이터 유형을 생성할 수 있습니다. 새로운 복합 유형의 요청을 생성하고 전송하는 예를 살펴보겠습니다.

    새 항목 만들기 복합형"와인" CREATE TYPE wine AS (wine_vineyard varchar(50), wine_type varchar(50), wine_year int); -- 복합 유형 "wine"을 사용하는 테이블을 생성합니다. CREATE TABLE pairings (menu_entre varchar(50), wine_pairing wine); -- ROW INSERT INTO pairings VALUES ("Lobster Tail",ROW("Stag""s Leap","Chardonnay", 2012)), ("Elk Medallions",ROW("Rombauer" 표현식을 사용하여 테이블에 데이터를 삽입합니다. , "카베르네 소비뇽", 2012)); /* 열 이름을 사용하여 테이블에서 선택(복합 유형의 필드 이름에서 점으로 구분된 괄호 사용) */ SELECT (wine_pairing).wine_vineyard, (wine_pairing).wine_type FROM pairings WHERE menu_entre = "Elk Medallions";
    MySQL, MariaDB 및 Firebird는 객체 관계형이 아니기 때문에 이러한 강력한 기능을 제공하지 않습니다.

    데이터 차원

    PostgreSQL은 많은 양의 데이터를 처리할 수 있습니다. 현재 게시된 제한 사항은 다음과 같습니다.

    Compose에서 [약. 레인 : 원본 기사 작성자가 근무하는 조직] 데이터 양의 증가에 대해 걱정할 필요가 없도록 설치 크기를 자동으로 조정합니다. 그러나 데이터베이스 관리자라면 누구나 알고 있듯이 너무 크고 무한한 가능성. 우리는 당신이 따라하는 것이 좋습니다 상식테이블을 생성하고 인덱스를 추가할 때

    이에 비해 MySQL과 MariaDB는 행 크기 제한이 65,535바이트로 악명 높습니다. Firebird는 또한 최대 라인 크기로 64Kb만 제공합니다. 일반적으로 데이터 양은 제한되어 있습니다. 최대 크기운영 체제 파일. PostgreSQL은 테이블 형식 데이터를 여러 개의 작은 파일에 저장할 수 있으므로 이 제한을 해결할 수 있습니다. 하지만 그것도 주목할 가치가 있습니다 많은 수의파일은 성능에 부정적인 영향을 미칠 수 있습니다. MySQL 및 MariaDB 지원 많은 분량테이블당 열(데이터 유형에 따라 최대 4,096개) 및 개별 테이블 크기가 PostgreSQL보다 크지만 초과해야 함 기존 제한사항 Postgress는 극히 드문 경우에만 발생합니다.

    데이터 무결성

    Postgres는 ANSI-SQL:2008 표준을 준수하기 위해 노력하고 있습니다. ACID 요구 사항(원자성, 일관성, 격리 및 신뢰성)이며 참조 및 트랜잭션 무결성으로 잘 알려져 있습니다. 기본 키, 제약 조건 및 계단식 외래 키, 고유 제약 조건, NOT NULL 제약 조건, 검사 제약 조건 및 기타 데이터 무결성 기능을 통해 유효한 데이터만 유지됩니다.

    MySQL과 MariaDB는 InnoDB/XtraDB 테이블 엔진을 사용하여 SQL 표준을 준수하기 위해 더욱 노력하고 있습니다. 이제 사용 중인 데이터에 대한 유효성 검사를 설정하는 SQL 모드를 사용하여 STRICT 옵션을 제공합니다. 그러나 사용하는 모드에 따라 업데이트 중에 사용자가 모르는 사이에 유효하지 않거나 잘린 데이터가 삽입되거나 생성될 수 있습니다. 현재 이러한 데이터베이스 중 어느 것도 CHECK 제한을 지원하지 않습니다. 또한 외래 키에 대한 참조 무결성 제약 조건과 관련된 많은 기능이 있습니다. 위의 사항 외에도 선택한 스토리지 엔진에 따라 데이터 무결성이 크게 손상될 수 있습니다. MySQL(및 MariaDB 포크)은 속도와 효율성을 위해 무결성과 표준 준수를 교환한다는 사실을 비밀로 하지 않았습니다.

    합산

    Postgres에는 많은 기능이 있습니다. 객체 관계형 모델을 사용하여 구축된 이 제품은 복잡한 구조와 광범위한 내장 및 사용자 정의 데이터 유형을 지원합니다. 확장된 데이터 용량을 제공하며 데이터 무결성을 신중하게 처리하므로 신뢰를 받습니다. 이 문서에서 살펴본 고급 스토리지 기능이 모두 필요하지 않을 수도 있지만 필요한 사항이 빠르게 추가될 수 있으므로 모든 기능을 손쉽게 사용할 수 있다는 확실한 이점이 있습니다.

    PostgreSQL이 귀하의 요구 사항에 적합하지 않다고 생각하거나 즉석에서 실행하는 것을 선호하는 경우 다음을 고려해 볼 수 있습니다. NoSQL 데이터베이스 Compose에서 제공하는 데이터 또는 다른 사람에 대해 생각하는 데이터 SQL 데이터베이스우리가 언급한 데이터. 그들 각각은 고유한 장점을 가지고 있습니다. Compose는 적합한 데이터베이스를 선택하는 것이 매우 중요하다고 굳게 믿습니다. 특정 작업...때때로 이는 여러 데이터베이스를 선택하는 것을 의미합니다!

    더 많은 Postgres를 원하시나요?

    PostgreSQL은 오픈 소스, 크로스 플랫폼 개체 관계형 DBMS입니다. 이 문서에서는 PostgreSQL을 설치하는 방법을 설명합니다. 우분투 리눅스, 그것에 연결하고 쌍을 수행하십시오 간단한 SQL 쿼리, 백업 설정 방법도 설명되어 있습니다.

    Ubuntu 12.10에 PostgreSQL 9.2를 설치하려면 다음 명령을 실행하십시오.

    sudo apt-add-repository ppa:pitti/ postgresql
    sudo apt-get 업데이트
    sudo apt-get postgresql-9.2 설치

    셸을 통해 DBMS 작업을 시도해 보겠습니다.

    sudo -u 포스트그레스 psql

    테스트 데이터베이스와 테스트 사용자를 만들어 보겠습니다.

    데이터베이스 생성 test_database;
    비밀번호 "qwerty"로 사용자 test_user 생성 ;
    test_user에게 데이터베이스 test_database의 모든 권한을 부여합니다.

    셸을 종료하려면 \q 명령을 입력합니다.

    이제 test_user를 대신하여 생성된 데이터베이스로 작업해 보겠습니다.

    psql -h localhost test_database test_user

    새 테이블을 만들어 보겠습니다.

    시퀀스 user_ids 생성;
    CREATE TABLE 사용자(
    ID INTEGER PRIMARY KEY DEFAULT NEXTVAL ("user_ids" ) ,
    로그인 CHAR(64) ,
    비밀번호 CHAR(64));

    다른 DBMS와 달리 PostgreSQL에는 auto_increment 속성이 있는 열이 없습니다. 대신 Postgres는 시퀀스를 사용합니다. 지금은 nextval 함수를 사용하여 주어진 시퀀스에 대해 고유한 숫자를 얻을 수 있다는 것을 아는 것으로 충분합니다.

    NEXTVAL 선택("사용자 ID") ;

    ID 필드를 기본값으로 설정하여 사용자 테이블의미 NEXTVAL("user_ids"), 우리는 auto_increment가 제공하는 것과 동일한 효과를 얻었습니다. 테이블에 새 레코드를 추가할 때 고유 ID가 자동으로 생성되므로 ID를 지정하지 않을 수 있습니다. 여러 테이블이 동일한 순서를 사용할 수 있습니다. 이렇게 하면 이 테이블의 일부 필드 값이 겹치지 않도록 보장할 수 있습니다. 이런 의미에서 시퀀스는 auto_increment보다 더 유연합니다.

    단 하나의 명령을 사용하여 완전히 동일한 테이블을 생성할 수 있습니다.

    CREATE TABLE 사용자2(
    ID 직렬 기본 키,
    로그인 CHAR(64) ,
    비밀번호 CHAR(64));

    이 경우 id 필드의 시퀀스가 ​​자동으로 생성됩니다.

    이제 \d 명령을 사용하면 사용 가능한 모든 테이블 목록을 볼 수 있고, \d users를 사용하면 사용자 테이블에 대한 설명을 볼 수 있습니다. 원하는 정보를 얻지 못한 경우 \d 대신 \d+를 사용해 보세요. \l 명령을 사용하여 데이터베이스 목록을 가져올 수 있고, \c dbname 명령을 사용하여 특정 데이터베이스로 전환할 수 있습니다. 명령 도움말을 표시하려면 \? .

    PostgreSQL은 기본적으로 테이블 및 열 이름을 소문자로 변환한다는 점에 유의하는 것이 중요합니다. 이 동작을 원하지 않으면 큰따옴표를 사용할 수 있습니다.

    CREATE TABLE "anotherTable" ("someValue" VARCHAR (64 ) ) ;

    이 DBMS 작업을 시작할 때 어려움을 초래할 수 있는 PostgreSQL의 또 다른 기능은 소위 "스키마"입니다. 스키마는 데이터베이스 내부에 테이블이 있는 디렉터리와 같은 테이블의 네임스페이스와 같습니다.

    스키마 만들기:

    스키마 예약 생성;

    구성표로 전환:

    검색 경로를 예약으로 설정하세요.

    \dn 명령을 사용하여 기존 구성표 목록을 볼 수 있습니다. 기본 스키마의 이름은 public입니다. 원칙적으로는 스키마 존재 여부를 몰라도 PostgreSQL을 성공적으로 사용할 수 있습니다. 그러나 레거시 코드로 작업할 때와 일부 극단적인 경우에는 스키마에 대해 아는 것이 매우 유용할 수 있습니다.

    그렇지 않으면 PostgreSQL로 작업하는 것은 다른 관계형 DBMS로 작업하는 것과 크게 다르지 않습니다.

    INSERT INTO 사용자(로그인, 비밀번호)
    VALUES ("afiskon" , "123456" ) ;
    SELECT * 사용자로부터;

    이제 다른 컴퓨터에서 Postgres에 연결하려고 하면 실패합니다.

    psql -h 192.168.0.1 test_database test_user

    PSQL: 할 수 없었다서버에 연결: 연결이 거부되었습니다.
    서버가 호스트 "192.168.0.1"에서 실행 중이고 수락합니까?
    포트 5432의 TCP/IP 연결?

    이 문제를 해결하려면 다음 줄을 추가하세요.

    listening_addresses = "localhost,192.168.0.1"

    .../etc/postgresql/9.2/main/postgresql.conf 파일에도 적용됩니다.



    질문이 있으신가요?

    오타 신고

    편집자에게 전송될 텍스트: