PostgreSQL

3994 단어

관계형 및 비관계형?



PostgreSQL은 관계형 및 비관계형 쿼리를 모두 지원할 수 있는 관계형 데이터베이스 시스템입니다. 이는 PostgreSQL이 관계형 데이터베이스의 이점 및/또는 비관계형 데이터베이스의 이점을 모두 가질 수 있다는 것을 의미합니다. PostgreSQL은 확장성이 뛰어나므로 고유한 데이터 유형을 정의하고 사용자 지정 함수를 구축할 수 있습니다. PostgreSQL은 관리할 수 있는 데이터의 양과 수용할 수 있는 동시 사용자 수 모두에서 확장성이 뛰어난 것으로 입증되었습니다. PostgreSQL은 마치 MySQL과 Mongo에 스테로이드를 복용한 아이가 있는 것과 같습니다.

설치



시작하려면 파일 저장소 구성을 만들어야 하며 이렇게 하려면 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main">/etc/apt/sources.list를 실행해야 합니다. .d/pgdg.list'를 터미널에 입력합니다. 그런 다음 이 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |를 실행하여 저장소 서명 키를 가져와야 합니다. sudo apt-key 추가 -. 이 sudo apt-get update를 실행하여 패키지 목록을 업데이트해야 합니다. 마지막으로 시스템에서 postgres를 얻으려면 이 sudo apt-get -y install postgresql을 실행해야 합니다.



PostgreSQL에서 작업을 시작하는 방법



PostgreSQL을 성공적으로 설치했으면 sudo -u postgres psql을 실행하여 열 수 있습니다. 데이터베이스를 생성하려면 CREATE DATABASE 데이터베이스 이름을 실행할 수 있습니다. 데이터베이스를 확인하려면\l을 실행할 수 있습니다. 데이터베이스에 연결하려면\c databasename을 실행할 수 있습니다. 테이블을 생성하려면 CREATE TABLE table_name을 실행할 수 있습니다(
column1 데이터 유형(길이) column_contraint,
column2 데이터 유형(길이) column_contraint,
);. 이제 데이터베이스와 테이블이 있으므로 데이터를 조작할 수 있습니다. 테이블에 데이터를 삽입하려면 INSERT INTO table(column) VALUES (value);를 실행합니다. 데이터를 성공적으로 삽입했으면 SELECT * FROM tableName;을 실행하여 확인할 수 있습니다.


Visual Studio Code에서 PostgreSQL 사용



Visual Studio Code에서 PostgreSQL을 사용하려면 npm install pg가 필요합니다. 성공적으로 설치되면 데이터베이스를 저장할 파일을 생성하여 시작할 수 있습니다. 이 파일에서는 pg에서 클라이언트를 가져옵니다. 그런 다음 유효한 인수를 사용하여 클라이언트의 새 인스턴스를 생성하고 클라이언트는 PostgreSQL 정보를 가져옵니다. 다음으로 connect 함수로 연결하고 dot then 문을 사용하여 연결에 성공했는지 기록할 수 있습니다. 마지막으로 이 파일을 주 서버 파일로 내보내려고 합니다. 올바르게 완료되면 터미널에 로그인한 내용을 볼 수 있습니다.

const {Client} = require('pg');

const db = new Client({
    user: 'postgres',
    password: 'newpassword',
    host: 'localhost', 
    port: 5432,
    database: 'testing'
})

db.connect()
    .then(() => console.info('connected'))
    .catch((err) => console.error(err));

module.exports = db;


맨 앞으로 질의



이제 데이터베이스를 메인 서버로 가져왔으므로 데이터를 전면으로 보낼 수 있습니다. 먼저 데이터를 수신할 경로를 설정할 수 있습니다. 다음으로 가져온 데이터베이스를 사용하여 쿼리를 수행합니다. .query 함수를 사용하여 이 작업을 수행할 수 있습니다. 마지막으로 쿼리를 Augment에 문자열로 삽입하고 then 문을 사용하여 전면으로 보냅니다.

const express = require('express');
const path = require('path');
const http = require('http')
const socketio = require('socket.io')

const db = require('./database/index')

const app = express();
app.use(express.json());
const sever = http.createServer(app);
const io = socketio(sever)

const DIST_DIR = path.join(__dirname, '../client', 'dist');
app.use(express.static(DIST_DIR))

app.get('/data', (req, res) => {
    db.query(‘SELECT * FROM roles;’)
      .then(result => res.send(result.rows));
      .catch(err => res.send(err));
})

sever.listen(5000, function() {
    console.log('listen on: http://localhost:5000')
});


결론



이제 경로를 확인하고 작동하는지 확인할 수 있습니다.

좋은 웹페이지 즐겨찾기