Snabbstart: Använd Node.js för att ansluta och fråga efter data i Azure Database for PostgreSQL – enskild server
GÄLLER FÖR: Azure Database for PostgreSQL – enskild server
Viktigt!
Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.
I den här snabbstarten ansluter du till en Azure Database for PostgreSQL med hjälp av ett Node.js program. Den visar hur du använder SQL-instruktioner för att fråga, infoga, uppdatera och ta bort data i databasen. I den här artikeln förutsätter vi att du har kunskaper om Node.js och att du inte har arbetat med Azure Database for PostgreSQL tidigare.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Slutförande av snabbstart: Skapa en Azure Database for PostgreSQL-server i Azure-portalen eller snabbstart: Skapa en Azure Database for PostgreSQL med hjälp av Azure CLI.
Installera pg-klienten
Installera pg, som är en PostgreSQL-klient för Node.js.
Kör du node package manager (npm) för JavaScript från kommandoraden och installera pg-klienten.
npm install pg
Verifiera installationen genom att visa en lista över de paket som har installerats.
npm list
Hämta anslutningsinformation
Hämta den information som du behöver för att ansluta till Azure Database för PostgreSQL. Du behöver det fullständiga servernamnet och inloggningsuppgifter.
I Azure-portalen söker du efter och väljer den server som du har skapat (till exempel mydemoserver).
I serverns översiktspanel antecknar du servernamnet och administratörsanvändarnamnet. Om du glömmer lösenordet kan du även återställa det på den här panelen.
Kör JavaScript-kod i Node.js
Du kan köra Node.js från Bash-gränssnittet, terminalen eller Windows kommandotolk genom att skriva node
och sedan köra JavaScript-exempelkoden interaktivt genom att kopiera och klistra in den i kommandotolken. Du kan också spara JavaScript-koden i en textfil och starta node filename.js
med namnet som en parameter för att köra den.
Ansluta, skapa tabell och infoga data
Använd följande kod för att ansluta och läsa in data med hjälp av SQL-instruktionerna CREATE TABLE och INSERT. Objektet pg. Klienten används för gränssnittet med PostgreSQL-server. Funktionen pg.Client.connect() används för att etablera anslutningen till servern. Funktionen pg. Client.Query() används för att köra SQL-frågor mot en PostgreSQL-databas.
Ersätt parametrarna host, dbname,user och password med de värden som du angav när du skapade servern och databasen.
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();
});
}
Läsa data
Använd följande kod för att ansluta och läsa data med en SELECT-SQL-instruktion. Objektet pg. Klienten används för gränssnittet med PostgreSQL-server. Funktionen pg.Client.connect() används för att etablera anslutningen till servern. Funktionen pg. Client.Query() används för att köra SQL-frågor mot en PostgreSQL-databas.
Ersätt parametrarna host, dbname,user och password med de värden som du angav när du skapade servern och databasen.
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);
});
}
Uppdatera data
Använd följande kod för att ansluta och läsa data med en UPDATE-SQL-instruktion. Objektet pg. Klienten används för gränssnittet med PostgreSQL-server. Funktionen pg.Client.connect() används för att etablera anslutningen till servern. Funktionen pg. Client.Query() används för att köra SQL-frågor mot en PostgreSQL-databas.
Ersätt parametrarna host, dbname,user och password med de värden som du angav när du skapade servern och databasen.
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;
});
}
Ta bort data
Använd följande kod för att ansluta och läsa data med en DELETE-SQL-instruktion. Objektet pg. Klienten används för gränssnittet med PostgreSQL-server. Funktionen pg.Client.connect() används för att etablera anslutningen till servern. Funktionen pg. Client.Query() används för att köra SQL-frågor mot en PostgreSQL-databas.
Ersätt parametrarna host, dbname,user och password med de värden som du angav när du skapade servern och databasen.
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;
});
}
Rensa resurser
Om du vill rensa alla resurser som används under den här snabbstarten tar du bort resursgruppen med följande kommando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes