Database di Azure per PostgreSQL: usare Node.js per connettersi ai dati ed eseguire queryAzure Database for PostgreSQL: Use Node.js to connect and query data

Questa guida introduttiva illustra come connettersi a un database di Azure per PostgreSQL usando un'applicazione Node.js.This quickstart demonstrates how to connect to an Azure Database for PostgreSQL using a Node.js application. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database.It shows how to use SQL statements to query, insert, update, and delete data in the database. Le procedure descritte in questo articolo presuppongono che si abbia familiarità con lo sviluppo con Node.js, ma non con Database di Azure per PostgreSQL.The steps in this article assume that you are familiar with developing using Node.js, and are new to working with Azure Database for PostgreSQL.

PrerequisitiPrerequisites

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:This quickstart uses the resources created in either of these guides as a starting point:

È anche necessario:You also need to:

Installare il client pgInstall pg client

Installare pg, un client PostgreSQL per Node.js.Install pg, which is a PostgreSQL client for Node.js.

A tale scopo, eseguire Node Package Manager (npm) per JavaScript dalla riga di comando per installare il client pg.To do so, run the node package manager (npm) for JavaScript from your command line to install the pg client.

npm install pg

Verificare l'installazione elencando i pacchetti installati.Verify the installation by listing the packages installed.

npm list

Ottenere informazioni di connessioneGet connection information

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per PostgreSQL.Get the connection information needed to connect to the Azure Database for PostgreSQL. Sono necessari il nome del server completo e le credenziali di accesso.You need the fully qualified server name and login credentials.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Scegliere Tutte le risorse dal menu a sinistra nel portale di Azure e cercare il server creato.From the left-hand menu in Azure portal, click All resources and search for the server you created.
  3. Fare clic sul nome del server.Click the server name.
  4. Selezionare la pagina Panoramica del server.Select the server's Overview page. Annotare il Nome server e il nome di accesso dell'amministratore del server.Make a note of the Server name and Server admin login name. Database di Azure per PostgreSQL - Accesso dell'amministratore del serverAzure Database for PostgreSQL - Server Admin Login
  5. Se si dimenticano le informazioni di accesso per il server, passare alla pagina Panoramica per visualizzare il nome di accesso dell'amministratore del server e, se necessario, reimpostare la password.If you forget your server login information, navigate to the Overview page to view the Server admin login name and, if necessary, reset the password.

Esecuzione del codice JavaScript in Node.jsRunning the JavaScript code in Node.js

È possibile avviare Node.js dalla shell Bash, da Terminal o dal Prompt dei comandi di Windows digitando node, quindi eseguire l'esempio di codice JavaScript in modo interattivo copiandolo e incollandolo nel prompt.You may launch Node.js from the Bash shell, Terminal, or Windows Command Prompt by typing node, then run the example JavaScript code interactively by copy and pasting it onto the prompt. In alternativa è possibile salvare il codice JavaScript in un file di testo e avviare node filename.js con il nome del file come parametro per l'esecuzione.Alternatively, you may save the JavaScript code into a text file and launch node filename.js with the file name as a parameter to run it.

Connettersi, creare tabelle e inserire datiConnect, create table, and insert data

Usare il codice seguente per connettersi e caricare i dati usando le istruzioni SQL CREATE TABLE e INSERT INTO.Use the following code to connect and load the data using CREATE TABLE and INSERT INTO SQL statements. L'oggetto pg.Client viene usato per l'interfaccia con il server PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La funzione pg.Client.connect() viene usata per stabilire la connessione al server.The pg.Client.connect() function is used to establish the connection to the server. La funzione pg.Client.query() viene usata per eseguire la query SQL sul database PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Sostituire i parametri host, dbname, user e password con i valori specificati al momento della creazione del server e del database.Replace the host, dbname, user, and password parameters with the values that you specified when you created the server and 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();
        });
}

Leggere i datiRead data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.Use the following code to connect and read the data using a SELECT SQL statement. L'oggetto pg.Client viene usato per l'interfaccia con il server PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La funzione pg.Client.connect() viene usata per stabilire la connessione al server.The pg.Client.connect() function is used to establish the connection to the server. La funzione pg.Client.query() viene usata per eseguire la query SQL sul database PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Sostituire i parametri host, dbname, user e password con i valori specificati al momento della creazione del server e del database.Replace the host, dbname, user, and password parameters with the values that you specified when you created the server and 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);
        });
}

Aggiornare i datiUpdate data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL UPDATE.Use the following code to connect and read the data using a UPDATE SQL statement. L'oggetto pg.Client viene usato per l'interfaccia con il server PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La funzione pg.Client.connect() viene usata per stabilire la connessione al server.The pg.Client.connect() function is used to establish the connection to the server. La funzione pg.Client.query() viene usata per eseguire la query SQL sul database PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Sostituire i parametri host, dbname, user e password con i valori specificati al momento della creazione del server e del database.Replace the host, dbname, user, and password parameters with the values that you specified when you created the server and 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;
        });
}

Eliminare i datiDelete data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.Use the following code to connect and read the data using a DELETE SQL statement. L'oggetto pg.Client viene usato per l'interfaccia con il server PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La funzione pg.Client.connect() viene usata per stabilire la connessione al server.The pg.Client.connect() function is used to establish the connection to the server. La funzione pg.Client.query() viene usata per eseguire la query SQL sul database PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Sostituire i parametri host, dbname, user e password con i valori specificati al momento della creazione del server e del database.Replace the host, dbname, user, and password parameters with the values that you specified when you created the server and 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;
        });
}

Passaggi successiviNext steps