Inicio rápido: Uso de Node.js para conectar y consultar datos en Azure Database for PostgreSQL: servidor únicoQuickstart: Use Node.js to connect and query data in Azure Database for PostgreSQL - Single Server

En este inicio rápido se va a conectar a una instancia de Azure Database for PostgreSQL mediante una aplicación de Node.js.In this quickstart, you connect to an Azure Database for PostgreSQL using a Node.js application. Se indica cómo usar instrucciones SQL para consultar, insertar, actualizar y eliminar datos en la base de datos.It shows how to use SQL statements to query, insert, update, and delete data in the database. En los pasos de este artículo se da por hecho que está familiarizado con el desarrollo mediante Node.js, pero que nunca ha trabajado con Azure Database for 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.

PrerrequisitosPrerequisites

Instalación del cliente pgInstall pg client

Instale pg, que es un cliente de PostgreSQL para Node.js.Install pg, which is a PostgreSQL client for Node.js.

Para ello, ejecute el Administrador de paquetes de Node (npm) para JavaScript desde la línea de comandos.To do so, run the node package manager (npm) for JavaScript from your command line to install the pg client.

npm install pg

Compruebe la instalación; para ello, enumere los paquetes instalados.Verify the installation by listing the packages installed.

npm list

Obtención de información sobre la conexiónGet connection information

Obtenga la información de conexión necesaria para conectarse a Azure Database for PostgreSQL.Get the connection information needed to connect to the Azure Database for PostgreSQL. Necesitará el nombre completo del servidor y las credenciales de inicio de sesión.You need the fully qualified server name and login credentials.

  1. En Azure Portal, busque y seleccione el servidor que ha creado (como mydemoserver).In the Azure portal, search for and select the server you have created (such as mydemoserver).

  2. En el panel Información general del servidor, anote el nombre del servidor y el nombre de usuario del administrador.From the server's Overview panel, make a note of the Server name and Admin username. Si olvida la contraseña, puede restablecerla en este panel.If you forget your password, you can also reset the password from this panel.

    Cadena de conexión de Azure Database for PostgreSQL

Ejecución del código de JavaScript en Node.jsRunning the JavaScript code in Node.js

Puede iniciar Node.js desde el shell de Bash, el terminal o el símbolo del sistema de Windows; para ello, escriba node y luego copie y pegue el ejemplo de código de JavaScript para ejecutarlo de manera interactiva.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. También puede guardar el código de JavaScript en un archivo de texto e iniciar node filename.js con el nombre de archivo como parámetro para ejecutarlo.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.

Conexión, creación de una tabla e inserción de datosConnect, create table, and insert data

Use el código siguiente para conectarse y cargar los datos mediante las instrucciones SQL CREATE TABLE e INSERT INTO.Use the following code to connect and load the data using CREATE TABLE and INSERT INTO SQL statements. El objeto pg.Client se usa para interactuar con el servidor de PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La función pg.Client.connect() se usa para establecer la conexión al servidor.The pg.Client.connect() function is used to establish the connection to the server. La función pg.Client.query() se usa para ejecutar la consulta SQL en la base de datos de PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Reemplace los parámetros host, dbname, user y password por los valores especificados al crear el servidor y la base de datos.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();
        });
}

Lectura de datosRead data

Use el código siguiente para conectarse y leer los datos mediante la instrucción SQL SELECT.Use the following code to connect and read the data using a SELECT SQL statement. El objeto pg.Client se usa para interactuar con el servidor de PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La función pg.Client.connect() se usa para establecer la conexión al servidor.The pg.Client.connect() function is used to establish the connection to the server. La función pg.Client.query() se usa para ejecutar la consulta SQL en la base de datos de PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Reemplace los parámetros host, dbname, user y password por los valores especificados al crear el servidor y la base de datos.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);
        });
}

Actualización de datosUpdate data

Use el código siguiente para conectarse y leer los datos mediante la instrucción SQL UPDATE.Use the following code to connect and read the data using a UPDATE SQL statement. El objeto pg.Client se usa para interactuar con el servidor de PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La función pg.Client.connect() se usa para establecer la conexión al servidor.The pg.Client.connect() function is used to establish the connection to the server. La función pg.Client.query() se usa para ejecutar la consulta SQL en la base de datos de PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Reemplace los parámetros host, dbname, user y password por los valores especificados al crear el servidor y la base de datos.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;
        });
}

Eliminación de datosDelete data

Use el código siguiente para conectarse y leer los datos mediante la instrucción SQL DELETE.Use the following code to connect and read the data using a DELETE SQL statement. El objeto pg.Client se usa para interactuar con el servidor de PostgreSQL.The pg.Client object is used to interface with the PostgreSQL server. La función pg.Client.connect() se usa para establecer la conexión al servidor.The pg.Client.connect() function is used to establish the connection to the server. La función pg.Client.query() se usa para ejecutar la consulta SQL en la base de datos de PostgreSQL.The pg.Client.query() function is used to execute the SQL query against PostgreSQL database.

Reemplace los parámetros host, dbname, user y password por los valores especificados al crear el servidor y la base de datos.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;
        });
}

Limpieza de recursosClean up resources

Para limpiar todos los recursos utilizados durante esta guía de inicio rápido, elimine el grupo de recursos con el siguiente comando:To clean up all resources used during this quickstart, delete the resource group using the following command:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Pasos siguientesNext steps