custom background image

Jak uzyskać dostęp do PostgreSQL z poziomu aplikacji Node.js


Dostęp do bazy danych PostgreSQL z poziomu aplikacji Node.js

Cel

Z tego tutorialu dowiesz się, jak uzyskać dostęp do bazy danych PostgreSQL za pomocą aplikacji Node.js.

Node.js jest jednym z najbardziej znanych asynchronicznych środowisk wykonawczych JavaScript sterowanych zdarzeniami. Jego popularność w ostatnich latach sprawiła, że stał się nieodzowną platformą w projektach deweloperskich. Aby dowiedzieć się więcej o możliwościach Node.js, sprawdź oficjalną dokumentację.

PostgreSQL jest jedną z najbardziej znanych baz danych na świecie. Prosta obsługa i podejście open source są głównymi elementami przemawiającymi za popularnością tego rozwiązania. Aby dowiedzieć się więcej o możliwościach PostgreSQL, sprawdź oficjalną dokumentację.

 

Wymagania

W tym tutorialu przyjmujemy, że posiadasz instancję Compute w ramach Public Cloud, serwer VPS lub serwer Bare Metal z systemem Ubuntu 22.04 oraz podstawowe umiejętności w zakresie wierszy poleceń. Na potrzeby tego tutorialu opieramy się na przykładzie instancji Compute w Public Cloud. Jeśli potrzebujesz pomocy w skonfigurowaniu instancji Public Cloud z systemem Ubuntu 22.04, skorzystaj z tego przewodnika: Tworzenie pierwszej instancji Public Cloud i łączenie się z nią.

Na wstępie zainstaluj Node.js i Postgre na Twojej instancji. W razie potrzeby skorzystaj z następujących przewodników.

Jak zainstalować Node.js na Ubuntu 22.04.
Jak zainstalować PostgreSQL na Ubuntu 22.04.

Możesz użyć IDE, aby ułatwić przetwarzanie plików źródłowych opisanych w tym tutorialu. Sprawdź VS Code lub WebStorm.

 

Wskazówki

Zainstaluj bibliotekę Node.js node-postgres, której będzie używała aplikacja Node.js.

W momencie tworzenia tego tutoriala, najnowsza dostępna wersja LTS biblioteki node-postgres to 8.7.3.

 

Uruchomienie projektu

Utwórz folder o nazwie nodejs-pg-example i uruchom polecenie NPM init:

mkdir nodejs-pg-example cd nodejs-pg-example npm init

Wynik powinien wyglądać tak:

$ mkdir nodejs-pg-example
$ cd nodejs-pg-example
$:~/nodejs-pg-example$ npm init
To narzędzie przeprowadzi Cię przez proces tworzenia pliku package.json.
Obejmuje tylko najczęstsze elementy i próbuje odgadnąć sensowne wartości domyślne.

Definitywna dokumentacja dotycząca tych pól znajduje się w punkcie "npm help init"
i dokładnie to, co robią.

Następnie użyj polecenia `npm install `, aby zainstalować pakiet i
Zapisz ją jako zależność w pliku package.json.

Naciśnij przycisk ^C w dowolnym momencie, aby zakończyć.
Nazwa pakietu: (nodejs-pg-example) 
Wersja 0-0-1 
Description: Przykładowy projekt umożliwiający dostęp do PostgreSQL z poziomu aplikacji Node.js
Punkt wejścia: (index.js) 
Polecenie testowe: 
Repozytorium Git: 
Słowa klucze: 
Autor: OVHcloud
Licencja (ISC) 
Zapiszesz do /home/ubuntu/nodejs-pg-example/package.json:

{
  "name": "nodejs-pg-example",
  Wersja 0-0-1
  Description: "Przykładowy projekt dostępu do PostgreSQL z poziomu aplikacji Node.js",
  "main": "index.js",
  "Skrypty": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "Autor": OVHCLOUD:
  Licencja "ISC" } 
}


Ok? (Tak) Tak

Plik package.json został utworzony w folderze nodejs-pg-example:

{ "name": "nodejs-pg-example", "version": "1.0.0", "description": "Example project to access PostgreSQL from a Node.js application", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "OVHcloud", "license": "ISC" }

 

Tworzenie elementów PostgreSQL

Otwórz uprzednio zainstalowaną bazę danych PostgreSQL.

Utwórz tabelę o nazwie example_table:

CREATE TABLE example_table (id INT PRIMARY KEY NOT NULL, message CHAR(50));

Wynik powinien wyglądać tak:

foo@ubuntu:~$ psql -d example
psql (14.2 (Ubuntu 14.2-1ubuntu1))
Wpisz "help", aby uzyskać pomoc.

example=> CREATE TABLE example_table (id INT PRIMARY KEY NOT NULL, message CHAR(50));
UTWÓRZ TABELĘ

Następnie wpisz wartość:

INSERT INTO example_table (id, message) VALUES (1, '👋 Hello World.'); INSERT INTO example_table (id, message) VALUES (2, '👋 Witaj, świecie.');

Wynik powinien wyglądać tak:

example=> INSERT INTO example_table (id, message) VALUES (1, '👋 Hello World.');
WSTAW 0 1
example=> INSERT INTO example_table (id, message) VALUES (2, '👋 Witaj, świecie.');
WSTAW 0 1
Opuść stronę
foo@ubuntu:~$ 

 

Skonfiguruj aplikację, aby uzyskać dostęp do bazy danych PostgreSQL

Dodaj zależność do biblioteki node-postgres w pliku package.json. W tym celu przejdź do folderu nodejs-pg-example i dodaj bibliotekę za pomocą polecenia npm:

npm install pg

Wynik powinien wyglądać tak:

~/nodejs-pg-example$ npm instalacja pg

Dodanie 15 pakietów i przeprowadzenie audytu 16 pakietów w ciągu 2 sekund

Znaleziono 0 podatności

Plik package.json został zaktualizowany za pomocą NPM:

{ "name": "nodejs-pg-example", "version": "1.0.0", "description": "Example project to access PostgreSQL from a Node.js application", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "OVHcloud", "license": "ISC", "dependencies": { "pg": "^8.7.3" } }

Teraz napisz kod Javascript, który uzyska dostęp do bazy danych.

 

Dostęp do bazy danych za pomocą aplikacji

Utwórz plik o nazwie HelloWorld.js w folderzenodejs-pg-example i wklej do niego następujący kod:

const { Client } = require('pg') async function sayHello() { const client = new Client({ user: 'foo', password: 'bar', database: 'example' }) await client.connect() const res = await client.query('SELECT * FROM example_table') console.log(res.rows[0].message) // 👋 Hello world. console.log(res.rows[1].message) // 👋 Witaj, świecie. await client.end() } sayHello()

Następnie wykonaj kod:

node HelloWorld.js

Wynik powinien wyglądać tak:

$ node HelloWorld.js 
👋 Hello World.
👋 Witaj, świecie.

Gratulacje, napisałeś swoją pierwszą aplikację Node.js, która może uzyskać dostęp do bazy danych PostgreSQL.