BJ
Não consigo conectar o pgsql 12 no Ubuntu 20.04
Olá!
Já tentei configurar n .ini o ip da máquina e 120.0.0.1, com e sem a porta.
o PDO no php está habilitado
Este é o erro, ele diz que o banco não existe.
Os bancos estão criados e as tabelas populadas, conforme imagem em anexo.
Tenho tanto o phpPgAdmin, quanto o pgAdmin4 instalados e funcionando no ambiente.
Com o MariaDB o sistema roda normal.
Alguém pode me dar uma luz?
O cliente especificou que quer o projeto rodando com o postgresql.
Grato.
Já tentei configurar n .ini o ip da máquina e 120.0.0.1, com e sem a porta.
- <?php
- host = "localhost"
- port = "5432"
- name = "netsul_suitlog"
- user = "netsul_webmin"
- pass = "teste"
- type = "pgsql"
- prep = "1"
- ?>
o PDO no php está habilitado
pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 12.2 (Ubuntu 12.2-4)
************************************************************
pgsql
PostgreSQL Support enabled
PostgreSQL(libpq) Version 12.2 (Ubuntu 12.2-4)
PostgreSQL(libpq) PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0
Fatal error: Uncaught PDOException: SQLSTATE[08006] [7] FATAL: database "netsul_suitlog" does not exist in /var/www/webapps/suiterp/lib/adianti/database/TConnection.php:85
Stack trace:
#0 /var/www/webapps/suiterp/lib/adianti/database/TConnection.php(85): PDO->__construct()
#1 /var/www/webapps/suiterp/lib/adianti/database/TConnection.php(47): Adianti\Database\TConnection::openArray()
#2 /var/www/webapps/suiterp/lib/adianti/database/TTransaction.php(59): Adianti\Database\TConnection::open()
#3 /var/www/webapps/suiterp/app/service/log/SysRequestLogService.php(16): Adianti\Database\TTransaction::open()
#4 /var/www/webapps/suiterp/lib/adianti/core/AdiantiCoreApplication.php(49): SysRequestLogService::register()
#5 /var/www/webapps/suiterp/engine.php(35): Adianti\Core\AdiantiCoreApplication::run()
#6 /var/www/webapps/suiterp/engine.php(59): TApplication::run()
#7 {main}
thrown in /var/www/webapps/suiterp/lib/adianti/database/TConnection.php on line 85
Este é o erro, ele diz que o banco não existe.
Os bancos estão criados e as tabelas populadas, conforme imagem em anexo.
Tenho tanto o phpPgAdmin, quanto o pgAdmin4 instalados e funcionando no ambiente.
Com o MariaDB o sistema roda normal.
Alguém pode me dar uma luz?
O cliente especificou que quer o projeto rodando com o postgresql.
Grato.
Só pra esclarecer, quanto ao nome das tabelas do banco de log, eu alterei os prefixos de "system_" para "sys_", e obviamente fiz as devidas alterações em cascata em todo o sistema, uma vez que precisei fazer inúmeras alterações no sistema de segurança do projeto, está tudo funcionando perfeitamente no MySql.
Lembro que esta alteração certamente não é a coisa do problema, pois ele acusa que o banco não existe, sem fazer referencia ao nome de tabelas, o provavelmente problema está na conexão.
Obs. Estou criando um projeto com dupla finalidade, atender a um cliente especificamente e construir um sistema multi-empresa pra atender vários registros no mesmo banco separados pela chave do registros, e pelas pesquisas que fiz o PostgreSQL é muito mas rápido e seguro para este tipo de aplicação com relação ao MySQL que é um excelente banco também para outras finalidades, daí a minha necessidade de migra de banco.
Posso estar enganado, mas pelo que vi no print, "netsul_suitlog" é um schema e não um banco de dados. O banco de dados é "postgres".
O post abaixo demonstra como trabalhar com schemas no postgres:
https://www.adianti.com.br/forum/pt/view_1970?conexao-postgresql-com-varios-sche
Muito interessante, realmente não tenho experiência com o PgSQL, de fato não sabia que havia essa separação, vou ler o post e pesquisar a diferença entre banco de dados e schemas.
Assim que eu conseguir fazer tudo funcionar posto o que fiz.
Grato pelo rápido retorno.
Resolvido, apaguei os esquemas e criei os dois bancos conforme a imagem em anexo.
Grato pelo apoio Nataniel.