One place for hosting & domains

      Cómo instalar y configurar pgAdmin 4 en el modo de servidor


      Introducción

      pgAdmin es una plataforma de administración y desarrollo de código abierto para PostgreSQL y sus sistemas de administración de bases de datos relacionados. Está escrita en Python y jQuery, y es compatible con todas las características de PostgreSQL. Puede utilizar pgAdmin para tareas que van desde redactar consultas de SQL básicas hasta monitorear sus bases de datos y configurar arquitecturas de bases de datos avanzadas.

      En este tutorial, explicaremos el proceso de instalación y configuración de la última versión de pgAdmin en un servidor de Ubuntu 18.04, acceso a pgAdmin a través de un navegador web y conexión de este a una base de datos de PostgreSQL en su servidor.

      Requisitos previos

      Para completar este tutorial, necesitará lo siguiente:

      Paso 1: Instalar pgAdmin y sus dependencias

      A la fecha de la publicación de este artículo, la versión más reciente de pgAdmin es pgAdmin 4, mientras que la versión más reciente disponible a través de los repositorios oficiales de Ubuntu es pgAdmin 3. Ya no se ofrece asistencia para pgAdmin 3 y los responsables del proyecto recomiendan instalar pgAdmin 4. En este paso, repasaremos el proceso de instalación de la versión más reciente de pgAdmin 4 dentro de un entorno virtual (según lo recomendado por el equipo de desarrollo del proyecto) e instalaremos sus dependencias utilizando apt.

      Para comenzar, actualice el índice de paquetes de su servidor si no lo hizo recientemente:

      Luego, instale las dependencias que se detallan a continuación. Entre estas se incluyen libgmp3-dev, una biblioteca aritmética de multiprecisión, libpq-dev, que incluye archivos de encabezado y una biblioteca estática que hace posible la comunicación con un backend de PostgreSQL, y libapache2-mod-wsgi-py3, un módulo de Apache que le permite alojar aplicaciones web basadas en Python dentro de Apache:

      • sudo apt install libgmp3-dev libpq-dev libapache2-mod-wsgi-py3

      A continuación, cree algunos directorios en los cuales pgAdmin almacenará los datos de sus sesiones, datos de almacenamiento y registros:

      • sudo mkdir -p /var/lib/pgadmin4/sessions
      • sudo mkdir /var/lib/pgadmin4/storage
      • sudo mkdir /var/log/pgadmin4

      Luego, cambie la propiedad de estos directorios a su usuario y grupo no root. Esto es necesario porque actualmente pertenecen a su usuario root, pero instalaremos pgAdmin desde un entorno virtual propiedad de su usuario no root y el proceso de instalación implica la creación de algunos archivos dentro de estos directorios. Sin embargo, después de la instalación, cambiaremos la propiedad al usuario y grupo www-data para que se pueda proporcionar a la Web:

      • sudo chown -R sammy:sammy /var/lib/pgadmin4
      • sudo chown -R sammy:sammy /var/log/pgadmin4

      A continuación, abra su entorno virtual. Diríjase al directorio en el que se encuentra su entorno de programación y actívelo. Siguiendo las convenciones de nomenclatura del tutorial de requisitos previos de Python 3, accederemos al directorio environments y activaremos el entorno my_env:

      • cd environments/
      • source my_env/bin/activate

      A continuación, descargue el código fuente de pgAdmin 4 a su máquina. Para encontrar la versión más reciente del código fuente, diríjase a la página de descarga de pgAdmin 4 (Python Wheel) y haga clic en el enlace de la versión más reciente (3.4, al momento de la redacción) Esto lo dirigirá a una página de descargas en el sitio web de PostgreSQL. Una vez que esté en ella, copie el enlace del archivo que termina con .whl, el formato de paquete integrado estándar utilizado para las distribuciones de Python. Luego, regrese a su terminal, ejecute el siguiente comando wget y asegúrese de sustituir el enlace por el que copió en el sitio de PostgreSQL. Con esto, se descargará el archivo .whl a su servidor:

      • wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.4/pip/pgadmin4-3.4-py2.py3-none-any.whl

      A continuación, instale el paquete de wheel, la implementación de referencia del estándar de empaquetado de wheel. Este paquete es una biblioteca de Python que sirve como extensión para crear wheels e incluye una herramienta de línea de comandos para trabajar con archivos .whl:

      • python -m pip install wheel

      A continuación instale el paquete pgAdmin 4 con el siguiente comando:

      • python -m pip install pgadmin4-3.4-py2.py3-none-any.whl

      Esto se encarga de instalar pgAdmin y sus dependencias. No obstante, antes de conectarlo a su base de datos, hay algunos cambios que deberá realizar en la configuración del programa.

      Paso 2: Configurar pgAdmin 4

      Aunque pgAdmin se instaló en su servidor, aún quedan algunos pasos que debe seguir a fin de asegurarse de contar con los permisos y las configuraciones necesarias para proporcionar de manera correcta la interfaz web.

      El archivo de configuración principal de pgAdmin, config.py, se lee antes que cualquier otro archivo de configuración. Su contenido puede usarse como punto de referencia para ajustes de configuración adicionales que pueden especificarse en otros archivos de configuración de pgAdmin, pero para evitar errores imprevistos no debe editar el archivo config.py. Añadiremos algunos cambios de configuración a un nuevo archivo, llamado config_local.py, que se leerá después del principal.

      Cree este archivo ahora utilizando su editor de texto preferido. En este caso, utilizaremos nano:

      • nano my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

      En su editor, agregue el siguiente contenido:

      environments/my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

      LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
      SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
      SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
      STORAGE_DIR = '/var/lib/pgadmin4/storage'
      SERVER_MODE = True
      

      A continuación, se muestra lo que hacen estas cinco directivas:

      • LOG_FILE: define el archivo en el que se almacenarán los registros de pgAdmin.
      • SQLITE_PATH: pgAdmin almacena datos relacionados con el usuario en una base de datos de SQLite y esta directiva orienta el software de pgAdmin a esta base de datos de configuración. Debido a que este archivo se encuentra en el directorio persistente /var/lib/pgadmin4/, los datos de su usuario no se perderán después de la actualización.
      • SESSION_DB_PATH: especifica el directorio que se utilizará para almacenar datos de sesión.
      • STORAGE_DIR: define la ubicación en la que pgAdmin almacenará otros datos, como respaldos y certificados de seguridad.
      • SERVER_MODE: cuando esta directiva se fija en True, se indica a pgAdmin que se ejecute en el modo de servidor en lugar del modo de escritorio.

      Tenga en cuenta que cada una de estas rutas de archivo apunta a los directorios que creó en el paso 1.

      Después de añadir estas líneas, guarde y cierre el archivo (presione CTRL + X, seguido de Y y luego ENTER). Una vez implementadas estas configuraciones, ejecute la secuencia de comandos de configuración de pgAdmin para configurar sus credenciales de inicio de sesión:

      • python my_env/lib/python3.6/site-packages/pgadmin4/setup.py

      Después de ejecutar este comando, verá un mensaje en el que se solicitará su dirección de correo electrónico y una contraseña. Estas le servirán como credenciales de inicio de sesión al acceder a pgAdmin posteriormente. Por ello, asegúrese de recordar o anotar lo que ingrese aquí:

      Output

      . . . Enter the email address and password to use for the initial pgAdmin user account: Email address: [email protected] Password: Retype password:

      A continuación, desactive su entorno virtual:

      Recupere las rutas de archivo que especificó en el archivo config_local.py. Estos archivos se almacenan dentro de los directorios que creó en el paso 1, que actualmente son propiedad de su usuario no root. Sin embargo, el usuario y el grupo que ejecutan su servidor web deben poder acceder a ellos. De forma predeterminada, en Ubuntu 18.04 estos son el usuario y el grupo www-data. Por ello, debe actualizar los permisos en los siguientes directorios para otorgar la propiedad de www-data a ambos:

      • sudo chown -R www-data:www-data /var/lib/pgadmin4/
      • sudo chown -R www-data:www-data /var/log/pgadmin4/

      Con esto, la configuración de pgAdmin quedará completa. Sin embargo, el programa aún no se proporciona desde su servidor. Esto hace que el acceso a él siga siendo imposible. Para resolver esto, configuraremos Apache de modo que proporcione pgAdmin y usted pueda acceder a la interfaz de usuario de este a través de un navegador web.

      Paso 3: Configurar Apache

      El servidor web de Apache utiliza hosts virtuales para encapsular detalles de configuración y alojar más de un dominio desde un único servidor. Si siguió el tutorial de Apache de los requisitos previos, es posible que haya configurado un archivo de ejemplo de host virtual con el nombre your_domain.conf, pero en este paso crearemos uno nuevo desde el cual podremos proporcionar la interfaz web de pgAdmin.

      Para comenzar, asegúrese de estar posicionado en su directorio root:

      Luego, cree un nuevo archivo llamado pgadmin4.conf en su directorio /sites-available/. Este será el host virtual de su servidor:

      • sudo nano /etc/apache2/sites-available/pgadmin4.conf

      Agregue el siguiente contenido a este archivo y asegúrese de actualizar las partes resaltadas para adecuarlas a su propia configuración:

      /etc/apache2/sites-available/pgadmin4.conf

      <VirtualHost *>
          ServerName your_server_ip
      
          WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/sammy/environments/my_env
          WSGIScriptAlias / /home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi
      
          <Directory "/home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/">
              WSGIProcessGroup pgadmin
              WSGIApplicationGroup %{GLOBAL}
              Require all granted
          </Directory>
      </VirtualHost>
      

      Guarde y cierre el archivo del host virtual. A continuación, utilice la secuencia de comandos a2dissite para desactivar el archivo de host virtual predeterminado 000-default.conf:

      • sudo a2dissite 000-default.conf

      Nota: Si siguió el tutorial de Apache de los requisitos previos, es posible que ya haya desactivado 000-default.conf y creado un ejemplo de archivo de configuración de host virtual (llamado your_domain.conf en los requisitos previos). Si este es el caso, deberá desactivar el archivo del host virtual your_domain.conf con el siguiente comando:

      • sudo a2dissite your_domain.conf

      Luego utilice la secuencia de comandos a2ensite para habilitar su archivo de host virtual pgadmin4.conf. Con esto, se creará un enlace simbólico del archivo de host virtual del directorio /sites-available/ al directorio /sites-enabled/:

      • sudo a2ensite pgadmin4.conf

      A continuación, compruebe que la sintaxis de su archivo de configuración sea correcta:

      Si su archivo de configuración está en orden, visualizará Syntax OK. Si ve un error en el resultado, vuelva a abrir el archivo pgadmin4.conf y vuelva a verificar que su dirección IP y sus rutas de archivo sean correctas. Luego, vuelva a ejecutar configtest.

      Una vez que vea Syntax OK en su salida, reinicie el servicio de Apache para que lea su nuevo archivo de host virtual:

      • sudo systemctl restart apache2

      Con esto, pgAdmin quedará completamente instalado y configurado. A continuación, repasaremos la forma de acceder a pgAdmin desde un navegador antes de conectarlo a su base de datos de PostgreSQL.

      Paso 4: Acceder a pgAdmin

      En su computadora local, abra su navegador web preferido y visite la dirección IP de su servidor:

      http://your_server_ip
      

      Una vez que se cargue, se le presentará una pantalla de inicio de sesión similar a la siguiente:

      Pantalla de inicio de sesión de pgAdmin

      Introduzca las credenciales de inicio de sesión que definió en el paso 2. Accederá a la pantalla de bienvenida de pgAdmin:

      Pantalla de bienvenida de pgAdmin

      Ahora que confirmó que puede acceder a la interfaz de pgAdmin, solo queda conectar pgAdmin a su base de datos de PostgreSQL. Sin embargo, antes de hacerlo, deberá realizar un pequeño cambio en la configuración de su superusuario de PostgreSQL.

      Paso 5: Configurar su usuario de PostgreSQL

      Si siguió el tutorial de PostgreSQL de los requisitos previos, debería tener instalado PostgreSQL en su servidor con un nuevo rol de superusuario y base de datos configurada.

      De manera predeterminada, en PostgreSQL realiza la autenticación como usuario de bases de datos utilizando el método de autenticación “Protocolo de identificación” o “ident”. Esto implica que PostgreSQL tome el nombre de usuario de Ubuntu del cliente y lo utilice como nombre de usuario de bases de datos permitido. Esto puede brindar una mayor seguridad en muchos casos, pero también causar problemas cuando desee que un programa externo, como pgAdmin, se conecte a una de sus bases de datos. Para resolver esto, configuraremos para este rol de PostgreSQL una contraseña que permitirá la conexión de pgAdmin a su base de datos.

      Desde su terminal, abra la línea de comandos de PostgreSQL bajo su rol de superusuario:

      Desde la línea de comandos de PostgreSQL, actualice el perfil de usuario para contar con una contraseña segura que elija:

      • ALTER USER sammy PASSWORD 'password';

      Luego, cierre la línea de comandos de PostgreSQL:

      A continuación, vuelva a la interfaz de pgAdmin 4 en su navegador y localice el menú Browser ubicado en el lado izquierdo. Haga clic con el botón secundario en Servers para abrir un menú contextual, sitúe el cursor sobre Create y haga clic en Server

      Menú contextual Create - Server

      Esto hará que en su navegador aparezca una ventana en la que ingresará información sobre su servidor, su rol y su base de datos.

      En la pestaña General, introduzca el nombre para este servidor. Puede ser cualquier cosa que desee, pero puede resultarle útil un nombre descriptivo. En nuestro ejemplo, el servidor se llama Sammy-server-1.

      Pestaña General de Create - Server

      A continuación, haga clic en la pestaña Connection. En el campo de Host name/address, ingrese localhost. El valor preestablecido de Port debería ser 5432, que funcionará para esta configuración, ya que es el puerto que PostgreSQL utiliza de forma predeterminada.

      En el campo Maintenance database, ingrese el nombre de la base de datos a la que desee conectarse. Tenga en cuenta que esta base de datos ya debe estar creada en su servidor. Luego, ingrese el nombre de usuario y la contraseña de PostgreSQL que configuró previamente en los campos Username y Password, respectivamente.

      Pestaña Connection de Create - Server

      Los campos vacíos de las demás pestañas son opcionales y solo es necesario completarlos si tiene en mente una configuración específica en la que se necesiten. Haga clic en el botón Save. La base de datos aparecerá en Servers, en el menú Browser.

      Con esto, habrá establecido de forma correcta la conexión entre pgAdmin4 y su base de datos de PostgreSQL. Desde el panel de pgAdmin puede realizar prácticamente cualquier acción que ejecutaría desde la línea de comandos de PostgreSQL . Para demostrar esto, crearemos una tabla de ejemplo y la completaremos con algunos datos de muestra a través de la interfaz web.

      Paso 6: Crear una tabla en el panel de pgAdmin

      En el panel de pgAdmin, localice el menú Browser ubicado en la parte izquierda de la ventana. Haga clic en el signo más (+) junto a Servers (1) para expandir el menú en forma árbol que se encuentra dentro. A continuación, haga clic en el signo más ubicado en el lado izquierdo del servidor que agregó en el paso anterior (Sammy-server-1 en nuestro ejemplo), luego expanda Databases, el nombre de la base de datos que agregó (sammy, en nuestro ejemplo), y después Schemas (1). Debería ver un menú en forma de árbol como el siguiente:

      Menú en forma de árbol expandido de Browser

      Haga clic con el botón secundario sobre el elemento de la lista Tables, luego sitúe el cursor sobre Create y haga clic en Table

      Menú contextual de Create - Table

      Con esto se abrirá una ventana Create-Table. En la pestaña General de esta ventana, ingrese un nombre para la tabla. Puede ser el que desee, pero por comodidad la citaremos como table-01.

      Pestaña General de Create - Table

      A continuación diríjase a la pestaña** Columns y haga clic en el signo **+ ubicado en la esquina superior derecha de la ventana para añadir algunas columnas. Al añadir una columna, deberá asignarle valores** Name** y Data type, y quizá deba elegir Length si lo exige el tipo de datos que seleccionó.

      Además, la documentación oficial de PostgreSQL nos indica que añadir una clave primaria a una tabla suele ser la práctica recomendada. Una clave principal es una restricción que indica una columna o un conjunto de columnas específicas que puede utilizarse como identificador especial para filas de la tabla. Esto no es un requisito, pero si desea establecer una o más de sus columnas como la clave principal, cambie el ajuste del conmutador en el extremo derecho de No a Yes.

      Haga clic en el botón Save para crear la tabla.

      Create - Table: Pestaña Columns con clave primaria activada

      A esta altura, ha creado una tabla y le agregó algunas columnas. Sin embargo, las columnas aún no contienen datos. Para agregar datos a su nueva tabla, haga clic con el botón secundario sobre el nombre de esta en el menú Browser, sitúe el cursor sobre Scripts y haga clic en INSERT Script.

      Menú contextual de INSERT script

      Esto abrirá una nueva sección en el panel. En la parte superior, verá una instrucción INSERT parcialmente completada, con los nombres de tabla y columna correspondientes. Sustituya los signos de interrogación (?) por algunos datos ficticios y asegúrese de que los datos que agregue coincidan con los tipos de datos que seleccionó para cada columna. Tenga en cuenta que también puede añadir varias filas de datos al agregar cada fila en un nuevo conjunto de paréntesis, con cada conjunto de paréntesis separado por una coma como se muestra en el ejemplo siguiente.

      Si lo desea, puede sustituir la secuencia de comandos parcialmente completada de INSERT por este ejemplo de instrucción de INSERT:

      INSERT INTO public."table-01"(
          col1, col2, col3)
          VALUES ('Juneau', 14, 337), ('Bismark', 90, 2334), ('Lansing', 51, 556);
      

      Ejemplo de instrucción INSERT

      Haga clic en el icono del rayo () para ejecutar la instrucción INSERT. Para ver la tabla y todos los datos dentro de ella, haga clic de nuevo con el botón secundario sobre el nombre de su tabla en el menú Browser, sitúe el cursor sobre View/Edit Data y seleccione All Rows.

      Menú contextual de View/Edit Data, All Rows

      Con esto se abrirá otro panel nuevo, debajo del cual, en la pestaña Data Output del panel inferior, podrá visualizar todos los datos que se encuentran en esa tabla.

      View Data: Ejemplo de resultado de datos

      De esta manera, habrá creado una tabla con éxito y la habrá completado con algunos datos a través de la interfaz web de pgAdmin. Este, por supuesto, es sólo uno de los métodos que puede utilizar para crear una tabla a través de pgAdmin. Por ejemplo, es posible crear y completar una tabla utilizando SQL en lugar del método basado en la GUI que se muestra en este paso.

      Conclusión

      A través de esta guía, aprendió a instalar pgAdmin 4 desde un entorno virtual de Python, a configurarlo, a proporcionarlo en la Web con Apache y a conectarlo a una base de datos de PostgreSQL. Además, en esta guía se explicó un método que puede utilizarse para crear y completar una tabla, pero pgAdmin puede utilizarse para muchas más funciones que las de crear y editar tablas.

      Para obtener más información sobre cómo aprovechar al máximo todas las características de pgAdmin, lo alentamos a revisar la documentación del proyecto. También puede obtener más información sobre PostgreSQL a través de nuestros tutoriales realizados por la comunidad sobre el tema.



      Source link

      Como Instalar e Configurar o pgAdmin 4 no Modo Servidor


      Introdução

      O pgAdmin é uma plataforma opensource de administração e desenvolvimento para PostgreSQL e seus sistemas de gerenciamento de banco de dados relacionados. Escrito em Python e jQuery, ele suporta todos os recursos encontrados no PostgreSQL. Você pode utilizar o pgAdmin para fazer tudo, desde escrever consultas SQL básicas a monitorar seus bancos de dados e configurar arquiteturas de banco de dados avançadas.

      Neste tutorial, vamos passar pelo processo de instalação e configuração da versão mais recente do pgAdmin em um servidor Ubuntu 18.04, acessando o pgAdmin através de um navegador web, e conectando-o a um banco de dados PostgreSQL em seu servidor.

      Pré-requisitos

      Para completar este tutorial, você vai precisar de:

      Passo 1 — Instalando o pgAdmin e suas Dependências

      No momento da escrita desse tutorial, a versão mais recente do pgAdmin é a pgAdmin 4, enquanto a versão mais recente disponível através dos repositórios oficiais do Ubuntu é a pgAdmin 3. O pgAdmin 3 já não é suportado, e os mantenedores do projeto recomendam a instalação do pgAdmin 4. Neste passo, vamos passar pelo processo de instalação da versão mais recente do pgAdmin 4 dentro de um ambiente virtual (conforme recomendado pelo time de desenvolvimento do projeto) e pela instalação de suas dependências usando o apt.

      Para começar, atualize o índice de pacotes do seu servidor, se você não tiver feito isso recentemente:

      Em seguida, instale as seguintes dependências. Elas incluem a libgmp3-dev, uma biblioteca aritmética multiprecisão; libpq-dev,que inclui arquivos de cabeçalho e uma biblioteca estática que ajuda na comunicação com o backend do PostgreSQL; e libapache2-mod-wsgi-py3, um módulo do Apache que lhe permite hospedar aplicações web baseadas em Python dentro do Apache:

      • sudo apt install libgmp3-dev libpq-dev libapache2-mod-wsgi-py3

      Em seguida, crie alguns diretórios nos quais o pgAdmin armazenará seus dados de sessões, dados de armazenamento e logs:

      • sudo mkdir -p /var/lib/pgadmin4/sessions
      • sudo mkdir /var/lib/pgadmin4/storage
      • sudo mkdir /var/log/pgadmin4

      Depois, altere a propriedade desses diretórios para seu usuário e grupo não-root. Isto é necessário porque eles são de propriedade do usuário root, mas vamos instalar o pgAdmin em um ambiente virtual que pertence ao seu usuário não-root, e o processo de instalação envolve a criação de alguns arquivos dentro desses diretórios. Após a instalação, contudo, vamos alterar a propriedade para o usuário e grupo www-data para que ele possa ser servido via web:

      • sudo chown -R sammy:sammy /var/lib/pgadmin4
      • sudo chown -R sammy:sammy /var/log/pgadmin4

      A seguir, abra o seu ambiente virtual. Navegue até o diretório onde está o seu ambiente virtual e ative-o. Seguindo a convenção de nomes do prerequisite Python 3 tutorial, vamos até o diretório environments e ativamos o ambiente my_env.

      • cd environments/
      • source my_env/bin/activate

      Depois disso, faça o download do código-fonte do pgAdmin4 em sua máquina. Para encontrar a última versão do código-fonte, navegue até a página de download do pgAdmin 4 (Python Wheel) e clique no link da última versão (3.4, no momento da escrita desse texto). Isso o levará para uma página de Downloads no website do PostgreSQL. Estando lá, copie o link de arquivo que termina com .whl — o formato de pacote padrão de construção utilizado para as distribuições Python. Volte então ao seu terminal e execute o seguinte comando wget, certificando-se de substituir o link por aquele que você copiou do website do PostgreSQL, que fará o download do arquivo .whl para seu servidor:

      • wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.4/pip/pgadmin4-3.4-py2.py3-none-any.whl

      Após isso, instale o pacote wheel, a implementação de referência do padrão de empacotamento wheel. Uma biblioteca Python, este pacote serve como uma extensão para a construção de wheels e inclui uma ferramenta de linha de comando para trabalhar com arquivos .whl:

      • python -m pip install wheel

      Então, instale o pacote pgAdmin com o seguinte comando:

      • python -m pip install pgadmin4-3.4-py2.py3-none-any.whl

      Isso cuida da instalação do pgAdmin e suas dependências. Antes de conectá-lo ao seu banco de dados, no entanto, você precisará fazer algumas alterações na configuração do programa.

      Passo 2 — Configurando o pgAdmin 4

      Embora o pgAdmin tenha sido instalado em seu servidor, existem ainda algumas etapas que você deve seguir para garantir que ele tenha as permissões e as configurações necessárias para permiti-lo servir corretamente a interface web.

      O arquivo principal de configuração do pgAdmin, config.py, é lido antes de qualquer outro arquivo de configuração. Seu conteúdo pode ser utilizado como um ponto de referência para outras configurações que podem ser especificadas nos outros arquivos de configuração do pgAdmin, mas para evitar erros imprevistos, você não deve editar o próprio arquivo config.py. Iremos adicionar algumas alterações de configuração em um novo arquivo, chamado config_local.py, que será lido depois do primeiro.

      Crie este arquivo agora utilizando seu editor de textos preferido. Aqui, vamos utilizar o nano:

      • nano my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

      Em seu editor de textos, adicione o seguinte conteúdo:

      environments/my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

      
      LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
      SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
      SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
      STORAGE_DIR = '/var/lib/pgadmin4/storage'
      SERVER_MODE = True
      

      Aqui está o que estas cinco diretivas fazem:

      • LOG_FILE: isso define o arquivo no qual os logs do pgAdmin serão armazenados.

      • SQLITE_PATH: o pgAdmin armazena dados relacionados ao usuário em um banco de dados SQLite, e essa diretiva aponta o software pgAdmin para esse banco de dados de configuração. Como este arquivo está sob o diretório persistente /var/lib/pgadmin4/, seus dados de usuário não serão perdidos após a atualização.

      • SESSION_DB_PATH: especifica qual diretório será usado para armazenar dados da sessão.

      • STORAGE_DIR: define onde o pgAdmin armazenará outros dados, como backups e certificados de segurança.

      • SERVER_MODE: definir esta diretiva como True diz ao pgAdmin para rodar no modo Servidor, ao contrário do modo Desktop.

      Observe que cada um desses caminhos de arquivo aponta para os diretórios que você criou na Etapa 1.

      Depois de adicionar essas linhas, salve e feche o arquivo (pressione CTRL + X, seguido de Y e depois ENTER). Com essas configurações, execute o script de configuração do pgAdmin para definir suas credenciais de login:

      • python my_env/lib/python3.6/site-packages/pgadmin4/setup.py

      Depois de executar este comando, você verá um prompt solicitando seu endereço de e-mail e uma senha. Estas serão as suas credenciais de login quando você acessar o pgAdmin mais tarde, então lembre-se ou anote o que você digitar aqui:

      Output

      . . . Enter the email address and password to use for the initial pgAdmin user account: Email address: [email protected] Password: Retype password:

      Em seguida, desative seu ambiente virtual:

      Lembre-se dos caminhos de arquivos que você especificou no arquivo config_local.py. Esses arquivos são mantidos nos diretórios criados na Etapa 1, que atualmente são de propriedade do seu usuário não-root. Eles devem, no entanto, ser acessíveis pelo usuário e pelo grupo que está executando o seu servidor web. Por padrão, no Ubuntu 18.04, estes são o usuário e grupo www-data, portanto, atualize as permissões nos seguintes diretórios para dar ao www-data a propriedade sobre os dois:

      • sudo chown -R www-data:www-data /var/lib/pgadmin4/
      • sudo chown -R www-data:www-data /var/log/pgadmin4/

      Com isso, o pgAdmin está totalmente configurado. Contudo, o programa ainda não está sendo servido pelo seu servidor, então ele permanece inacessível. Para resolver isso, vamos configurar o Apache para servir o pgAdmin para que você possa acessar sua interface de usuário através de um navegador web.

      Passo 3 — Configurando o Apache

      O servidor web Apache utiliza virtual hosts para encpsular os detalhes de configuração e hospedar mais de um domínio a partir de um único servidor. Se você seguiu o tutorial de pré-requisitos do Apache, você pode ter configurado um exemplo de arquivo virtual host sob o nome example.com.conf, mas nesta etapa vamos criar um novo a partir do qual poderemos servir a interface web do pgAdmin.

      Para começar, certifique-se de que você está no seu diretório raiz:

      Em seguida, crie um novo arquivo em seu diretório /sites-available/ chamado pgadmin4.conf. Este será o arquivo de virtual host do seu servidor:

      • sudo nano /etc/apache2/sites-available/pgadmin4.conf

      Adicione o seguinte conteúdo a este arquivo, certificando-se de atualizar as partes destacadas para alinhar com sua própria configuração:

      /etc/apache2/sites-available/pgadmin4.conf

      
      <VirtualHost *>
          ServerName ip_do_seu_servidor
      
          WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/sammy/environments/my_env
          WSGIScriptAlias / /home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi
      
          <Directory "/home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/">
              WSGIProcessGroup pgadmin
              WSGIApplicationGroup %{GLOBAL}
              Require all granted
          </Directory>
      </VirtualHost>
      

      Salve e feche o arquivo de virtual host. Depois, utilize o script a2dissite para desativar o arquivo de virtual host padrão, 000-default.conf:

      • sudo a2dissite 000-default.conf

      Nota: Se você seguiu o tutorial de pré-requisitos do Apache, você já pode ter desabilitado o 000-default.conf e configurado um exemplo de arquivo de configuração do virtual host (chamado example.com.conf no pré-requisito). Se este for o caso, você precisará desabilitar o arquivo de virtual host example.com.conf com o seguinte comando:

      • sudo a2dissite example.com.conf

      Depois, use o script a2ensite para ativar seu arquivo de virtual host pgadmin4.conf. Isso irá criar um link simbólico do arquivo de virtual host no diretório /sites-available/ para o diretório /sites-enabled/:

      • sudo a2ensite pgadmin4.conf

      Após isso, teste para ver se a sintaxe do seu arquivo de configuração está correta:

      Se seu arquivo de configuração estiver em ordem, você verá Syntax OK. Se você vir um erro na saída, reabra o arquivo pgadmin4.conf e verifique novamente se o seu endereço IP e os caminhos de arquivo estão corretos, em seguida execute novamente o configtest.

      Quando você vir Sintax OK na sua saída, reinicie o serviço Apache para que ele leia o novo arquivo de virtual host:

      • sudo systemctl restart apache2

      Agora, o pgAdmin está totalmente instalado e configurado. A seguir, veremos como acessar o pgAdmin a partir de um navegador antes de conectá-lo ao seu banco de dados PostgreSQL.

      Passo 4 — Acessando o pgAdmin

      Em sua máquina local, abra o seu navegador preferido e navegue até o endereço IP do seu servidor:

      http://ip_do_seu_servidor
      

      Uma vez lá, você verá uma tela de login semelhante à seguinte:

      Insira as credenciais de login que você definiu no Passo 2, e você será levado para a Tela de Boas-vindas do pgAdmin:

      Agora que você confirmou que pode acessar a interface do pgAdmin, tudo o que resta a fazer é conectar o pgAdmin ao seu banco de dados PostgreSQL. Antes de fazer isso, porém, você precisará fazer uma pequena alteração na configuração do superusuário do PostgreSQL.

      Passo 5 — Configurando seu usuário do PostgreSQL

      Se você seguiu o tutorial de pré-requisitos do PostgreSQL, você já deve ter o PostgreSQL instalado em seu servidor com uma nova função de superusuário e uma configuração de banco de dados.

      Por padrão no PostgreSQL, você autentica como usuário do banco de dados usando o método de autenticação "Protocolo de Identificação", ou "ident". Isso envolve o PostgreSQL utilizar o nome de usuário do Ubuntu do cliente e usá-lo como o nome de usuário permitido do banco de dados. Isso pode permitir maior segurança em muitos casos, mas também pode causar problemas nos casos em que você deseja que um programa externo, como o pgAdmin, se conecte a um dos seus bancos de dados. Para resolver isso, vamos definir uma senha para esta função do PostgreSQL que permitirá ao pgAdmin se conectar ao seu banco de dados.

      A partir do seu terminal, abra o prompt do PostgreSQL sob sua função de superusuário:

      A partir do prompt do PostgreSQL, atualize o perfil do usuário para ter uma senha forte de sua escolha:

      • ALTER USER sammy PASSWORD 'senha';

      Agora, saia do prompt do PostgreSQL:

      Em seguida, volte para a interface do pgAdmin 4 em seu navegador e localize o menu Browser no lado esquerdo. Clique com o botão direito do mouse em Servers para abrir um menu de contexto, passe o mouse sobre Create e clique em Server….

      Isso fará com que uma janela apareça no seu navegador, na qual você inserirá informações sobre seu servidor, função e banco de dados.

      Na guia General, digite o nome para esse servidor. Isso pode ser qualquer coisa que você queira, mas talvez seja útil fazer algo descritivo. Em nosso exemplo, o servidor é chamado Sammy-server-1.

      A seguir, clique na aba Connection. No campo Host name/address, insira localhost. Port deve ser definida para 5432 por padrão, o que irá funcionar para essa configuração, pois é a porta padrão utilizada pelo PostgreSQL. Observe que esse banco de dados já deve estar criado em seu servidor.

      No campo Maintenance database, insira o nome do banco de dados ao qual você gostaria de se conectar. Em seguida, insira o nome de usuário e a senha do PostgreSQL que você configurou anteriormente nos campos Username e Password, respectivamente.

      Os campos vazios nas outras guias são opcionais, e é necessário preenchê-los apenas se você tiver uma configuração específica em mente na qual eles sejam necessários. Clique no botão Save e o banco de dados aparecerá sob Servers no menu Browser.

      Você conectou com sucesso o pgAdmin4 ao seu banco de dados PostgreSQL. Você pode fazer praticamente qualquer coisa no painel do pgAdmin que você faria no prompt do PostgreSQL. Para ilustrar isso, vamos criar uma tabela de exemplo e preenchê-la com alguns dados de amostra através da interface web.

      Passo 6 — Criando uma Tabela no Painel do pgAdmin

      No painel do pgAdmin, localize o menu Browser no lado esquerdo da janela. Clique no sinal de mais (+) próximo de Servers (1) para expandir o menu em árvore dentro dele. Em seguida, clique no sinal de mais à esquerda do servidor que você adicionou na etapa anterior (Sammy-server-1 em nosso exemplo), depois expanda Databases, o nome do banco de dados que você adicionou (sammy, em nosso exemplo), e então Schemas (1). Você deve ver um menu em árvore como o seguinte:

      Clique com o botão direito do mouse no item Tables da lista , depois passe o cursor sobre Create e clique em Table….

      Isso abrirá uma janela Create-Table. Sob a guia General dessa janela, insira um nome para a tabela. Isso pode ser qualquer coisa que você quiser, mas para manter as coisas simples, vamos nos referir a ela como table-01.

      Em seguida, navegue até a guia Columns e clique no sinal de + no canto superior direito da janela para adicionar algumas colunas. Ao adicionar uma coluna, você deve fornecer um Name ou nome e um Data type ou tipo de dados, e você pode precisar escolher um Length ou comprimento se for exigido pelo tipo de dados que você selecionou.

      Além disso, a documentação oficial do PostgreSQL afirma que adicionar uma chave primária ou primary key a uma tabela geralmente é a melhor prática. Uma chave primária é uma restrição que indica uma coluna específica ou conjunto de colunas que podem ser usadas como um identificador especial para linhas na tabela. Isso não é um requisito, mas se você quiser definir uma ou mais de suas colunas como a chave primária, alterne o botão mais à direita de No para Yes.

      Clique no botão Save para criar a tabela.

      Nesse ponto, você criou uma tabela e adicionou algumas colunas a ela. No entanto, as colunas ainda não contêm dados. Para adicionar dados à sua nova tabela, clique com o botão direito do mouse no nome da tabela no menu Browser, passe o cursor sobre Scripts e clique em INSERT Script.

      Isso abrirá uma nova tela no painel. No topo, você verá uma instrução INSERT parcialmente completa, com os nomes de tabela e coluna apropriados. Vá em frente e substitua os pontos de interrogação (?) por alguns dados fictícios, certificando-se de que os dados adicionados se alinham aos tipos de dados selecionados para cada coluna. Observe que você também pode adicionar várias linhas de dados através da adição de cada linha em um novo conjunto de parênteses, com cada conjunto de parênteses separados por uma vírgula, conforme mostrado no exemplo a seguir.

      Se desejar, sinta-se à vontade para substituir o script INSERT parcialmente concluído com este exemplo de comando INSERT:

      INSERT INTO public."table-01"(
          col1, col2, col3)
          VALUES ('Juneau', 14, 337), ('Bismark', 90, 2334), ('Lansing', 51, 556);
      

      Clique no ícone do raio (⚡) para executar o comando INSERT. Para visualizar a tabela e todos os dados nela, clique mais uma vez com o botão direito do mouse no nome da sua tabela no menu Browser, passe o cursor sobre View/Edit Data e selecione All Rows.

      Isso abrirá outro novo painel, abaixo do qual, na guia Data Output do painel inferior, você pode ver todos os dados contidos nessa tabela.

      Com isso, você criou com sucesso uma tabela e a preencheu com alguns dados por meio da interface web do pgAdmin. Claro, este é apenas um método que você pode usar para criar uma tabela através do pgAdmin. Por exemplo, é possível criar e preencher uma tabela usando SQL em vez do método baseado em GUI descrito nesta etapa.

      Conclusão

      Neste guia, você aprendeu como instalar o pgAdmin 4 a partir de um ambiente virtual Python, configurá-lo, servi-lo via web com o Apache e como conectá-lo a um banco de dados PostgreSQL. Além disso, este guia abordou um método que pode ser usado para criar e preencher uma tabela, mas o pgAdmin pode ser usado para muito mais do que apenas criar e editar tabelas.

      Para obter mais informações sobre como aproveitar ao máximo todos os recursos do pgAdmin, recomendamos que você veja a documentação do projeto. Você também pode aprender mais sobre o PostgreSQL através dos nossos Tutoriais da comunidade que abordam o assunto.

      Por Mark Drake



      Source link