Mulai cepat: Menggunakan Node.js untuk menyambungkan dan mengkueri data di Azure Database for PostgreSQL - Server Tunggal
BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal
Penting
Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.
Dalam mulai cepat ini, Anda menyambungkan ke Azure Database for PostgreSQL menggunakan aplikasi Node.js. Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database. Langkah-langkah dalam artikel ini mengasumsikan bahwa Anda terbiasa mengembangkan menggunakan Node.js, dan baru bekerja dengan Azure Database for PostgreSQL.
Prasyarat
Akun Azure dengan langganan aktif. Buat akun secara gratis.
Penyelesaian Mulai cepat: Membuat server Database Azure for PostgreSQL di portal Azure atau Mulai cepat: Membuat Database Azure untuk PostgreSQL menggunakan Azure CLI.
Instal klien pg
Instal pg, yang merupakan klien PostgreSQL untuk Node.js.
Untuk melakukannya, jalankan node package manager (npm) untuk JavaScript dari baris perintah Anda untuk menginstal klien pg.
npm install pg
Verifikasi instalasi dengan mencantumkan paket yang terinstal.
npm list
Mendapatkan informasi koneksi
Dapatkan informasi terkait koneksi yang diperlukan untuk menyambungkan ke Azure Database for PostgreSQL. Anda memerlukan nama server dan kredensial untuk masuk yang sepenuhnya memenuhi syarat.
Di portal Azure, cari dan pilih server yang telah Anda buat (seperti mydemoserver).
Dari panel Gambaran Umum server, buat catatan Nama server dan Nama pengguna admin. Jika lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari panel ini.
Menjalankan kode JavaScript di Node.js
Anda dapat meluncurkan Node.js dari shell Bash, Terminal, atau Prompt Perintah Windows dengan mengetik node
, lalu menjalankan contoh kode JavaScript secara interaktif dengan menyalin dan menempelkannya ke prompt. Atau, Anda dapat menyimpan kode JavaScript ke dalam file teks dan meluncurkan node filename.js
dengan nama file sebagai parameter untuk menjalankannya.
Menyambungkan, membuat tabel, dan menyisipkan data
Gunakan kode berikut untuk menyambungkan dan memuat data menggunakan pernyataan SQL MEMBUAT TABEL dan MASUKKAN KE. Objek pg.Client digunakan untuk berinteraksi dengan server PostgreSQL. Fungsi pg.Client.connect() digunakan untuk membuat koneksi ke server. Fungsi pg.Client.query() digunakan untuk menjalankan kueri SQL terhadap database PostgreSQL.
Ganti parameter host, dbname, user, dan password dengan nilai yang Anda tentukan saat membuat server dan database.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
`;
client
.query(query)
.then(() => {
console.log('Table created successfully!');
client.end(console.log('Closed client connection'));
})
.catch(err => console.log(err))
.then(() => {
console.log('Finished execution, exiting now');
process.exit();
});
}
Membaca data
Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT. Objek pg.Client digunakan untuk berinteraksi dengan server PostgreSQL. Fungsi pg.Client.connect() digunakan untuk membuat koneksi ke server. Fungsi pg.Client.query() digunakan untuk menjalankan kueri SQL terhadap database PostgreSQL.
Ganti parameter host, dbname, user, dan password dengan nilai yang Anda tentukan saat membuat server dan database.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else { queryDatabase(); }
});
function queryDatabase() {
console.log(`Running query to PostgreSQL server: ${config.host}`);
const query = 'SELECT * FROM inventory;';
client.query(query)
.then(res => {
const rows = res.rows;
rows.map(row => {
console.log(`Read: ${JSON.stringify(row)}`);
});
process.exit();
})
.catch(err => {
console.log(err);
});
}
Memperbarui data
Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL DELETE. Objek pg.Client digunakan untuk berinteraksi dengan server PostgreSQL. Fungsi pg.Client.connect() digunakan untuk membuat koneksi ke server. Fungsi pg.Client.query() digunakan untuk menjalankan kueri SQL terhadap database PostgreSQL.
Ganti parameter host, dbname, user, dan password dengan nilai yang Anda tentukan saat membuat server dan database.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) throw err;
else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
UPDATE inventory
SET quantity= 1000 WHERE name='banana';
`;
client
.query(query)
.then(result => {
console.log('Update completed');
console.log(`Rows affected: ${result.rowCount}`);
})
.catch(err => {
console.log(err);
throw err;
});
}
Menghapus data
Gunakan kode berikut dengan tujuan menyambungkan dan membaca data menggunakan pernyataan SQL HAPUS. Objek pg.Client digunakan untuk berinteraksi dengan server PostgreSQL. Fungsi pg.Client.connect() digunakan untuk membuat koneksi ke server. Fungsi pg.Client.query() digunakan untuk menjalankan kueri SQL terhadap database PostgreSQL.
Ganti parameter host, dbname, user, dan password dengan nilai yang Anda tentukan saat membuat server dan database.
const pg = require('pg');
const config = {
host: '<your-db-server-name>.postgres.database.azure.com',
// Do not hard code your username and password.
// Consider using Node environment variables.
user: '<your-db-username>',
password: '<your-password>',
database: '<name-of-database>',
port: 5432,
ssl: true
};
const client = new pg.Client(config);
client.connect(err => {
if (err) {
throw err;
} else {
queryDatabase();
}
});
function queryDatabase() {
const query = `
DELETE FROM inventory
WHERE name = 'apple';
`;
client
.query(query)
.then(result => {
console.log('Delete completed');
console.log(`Rows affected: ${result.rowCount}`);
})
.catch(err => {
console.log(err);
throw err;
});
}
Membersihkan sumber daya
Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya menggunakan perintah berikut:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes