PostgreSQL 시작
PostgreSQL을 선택해야 하는 이유
이 글에서, 나는 어떻게 위탁 관리 PostgreSQL을 만드는지 연구할 것이다. (지금부터 나는 SQL 데이터베이스만 호출할 것이다.) 그리고 node\upostgres를 사용하여 그것에 연결할 것이다.저는 MongoDB 데이터베이스를 많이 사용한 경험이 있고 Prisma를 사용하여 상당히 큰 프로젝트를 구축했습니다. 이 프로젝트는 백그라운드에서 SQL을 사용하지만 저는 SQL 조회를 작성하고 SQL 데이터베이스와 직접 상호작용을 한 적이 없습니다.
Mongo Atlas(또는 mLab)와 mongose가 있어서 어떻게 시작하고 실행하는지 쉽게 찾을 수 있지만 저는 자신의 SQL 데이터베이스로 시작하고 실행하기가 매우 어렵습니다.
다음은 고려 사항입니다.
PostgreSQL 데이터베이스 만들기
만약 네가 아직 Digital Ocean을 사용하지 않았다면 정말 좋았을 것이다.요컨대 가상 서버를 설정할 수 있는 사이트다.처음에 저는 MySQL을 설치한 상태에서 서버를 만들려고 했습니다. (매달 약 5달러 운행) 이해하기 어려웠습니다. 결국 제 목표는 SQL 데이터베이스에 접근해서 전단 응용 프로그램을 작성할 수 있도록 하는 것입니다. 그래서 저는 모든 시간을 거기에 쓰고 싶지 않습니다.그래서
Digital Ocean에서 관리하는 데이터베이스를 선택했습니다.이 한 달의 비용은 15달러이지만 한 과정보다 싸다. 이것은 합법적이다. 나는 많은 시간을 절약했다. (내 말은 사람들이 데이터베이스를 관리하는 전업을 하고 있다는 것이다.) Digital Ocean은 너에게 코드를 추천해서 일정 시간(보통 30-60일)에 학점을 받게 하고 나는 학점이 있기 때문에 자유롭게 시도할 수 있다!sign up using my referral code을 시험해 보고 싶으면 30일 안에 50달러의 포인트를 받을 수 있기 때문에 무료로 시작할 수 있습니다.
DigitalOcean 데이터베이스 구축
데이터베이스에 연결
나는 결코 완전한 응용 프로그램을 만드는 방법에 관한 강좌를 쓰고 싶지 않기 때문에, 우리는 여기서 몇 가지 절차만 토론할 것이다.우선, 우리는 노드postgres를 설정한 다음, 새 테이블을 만들고 컨트롤러에 기록할 기본 조회를 작성할 것입니다.
프로젝트 설정
너를 연결하려면 단지 두 가지 일이 필요하다. 하나.연결된 js 파일 및.Digital Ocean에서 다운로드한 crt 인증서.이것은 나의 구조다.
postgresql-tutorial
/certificate.crt (I renamed this)
/connect.js (you can name whatever you want)
연결 설정
우선, 나는 데이터베이스에 연결해야 한다.나는 docs on node-postgres에서 모든 정보를 얻었지만, 그 중에서 모든 부분을 설명하기 위해 평론을 남겼다.DigitalOcean에서 다음 그림과 같이 모든 구성 옵션에 액세스할 수 있습니다.
// node-postgres also support a pool connection, but I was more familiar with the Client type so I started with that
const { Client } = require('pg');
// fs is used to read the certificate
const fs = require('fs');
const config = {
// everything here you can get from the "Connection Details" when viewing your database in DigitalOcean
user: 'doadmin',
host: 'db-postgresql-nyc1-21328-do-user-4669604-0.db.ondigitalocean.com',
database: 'defaultdb',
password: 'tqjgkd6uxyqger6n',
port: 25060,
/* You have to include the ssl options because DigitalOcean requires them.
This is essentially just added on from the boilerplate config in the node-postgres docs */
ssl : {
rejectUnauthorized : false,
ca: fs.readFileSync("./certificate.crt").toString(), //make sure name matches your certificate name you downloaded
}
}
// creates a new Client instance with the config options above (you can also just put them directly in as argument)
const client = new Client(config);
// Connects! (Or tells me I don't know what I'm doing)
client.connect((err) => {
if (err) {
console.log("Connection error!", err)
} else {
console.log("Connection to DB successful")
}
});
테스트 데이터베이스
위의 코드와 설정 옵션이 있습니다. 위의 옵션은 더 이상 작동하지 않기 때문입니다. 컨트롤러에서 연결 중인 것을 볼 수 있습니다.여기서 데이터베이스를 사용하는 것은 매우 쉽다.기본적으로 노드postgres에는 queries이 있습니다. 이 중에서 SQL 조회를 전달할 수 있습니다.어쨌든, 나는 그다지 많이 들어가지 않았다. 이것은 본래 이 방면에서 더욱 잘하기 위해서였다.질의가 성공하면 응답 대상이 반환됩니다.
동일한 연결에서js 파일, 다음 코드를 추가합니다.
const makeTable = `
CREATE TABLE products (
product_no integer,
name text,
price numeric
);`;
const testQuery = `SELECT * FROM products`
client.query(makeTable) //pass in the testQuery to see if making the table was successful
.then(res => console.log(res))
.catch(e => console.error(e))
.then(() => client.end())
이 줄을 추가하면 node connect.js
을 실행하고 되돌아오는 응답 대상을 볼 수 있습니다.본질적으로 고객이다.조회는makeTable SQL 조회를 받습니다. 이것은 응답이나 오류를 기록하는 약속입니다.마지막으로 연결이 닫힙니다.
두 번째 조회
testQuery
을 보실 수 있습니다. client.query
(makeTable 교체)에 전달할 수 있습니다. 이 대상은 처음에 만든 표의 상세한 정보를 보여 줍니다.그렇습니다.다른 사람들이 이 점을 발견하고 실제 응용 프로그램에서 SQL을 사용하기 시작하기를 바랍니다!
나는 곧 이 글을 썼다. 왜냐하면 내 손이 에어컨이 있는 성바크리에서 얼어 죽었기 때문이다. 그러므로 만약 잘 모르는 곳이 있으면 나에게 알려줘. 이렇게 하면 내가 수정하고 해명할 수 있어!
Reference
이 문제에 관하여(PostgreSQL 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/doylecodes/getting-started-with-postgresql-5g29텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)