|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 25 → Como criar instâncias diferentes no PostgreSQL para usar com o driver nativo em portas diferentes |
Como criar instâncias diferentes no PostgreSQL para usar com o driver nativo em portas diferentes |
Débuté par Boller, 30 mai 2023 05:03 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 30 mai 2023 - 05:03 |
No PostgreSQL tem como ter instâncias diferentes no mesmo servidor com portas diferentes ?
Para instalar várias instâncias do PostgreSQL no Windows, você pode seguir os passos abaixo. Cada instância precisará de sua própria porta e diretório de dados:
Instale o PostgreSQL: Se ainda não tiver o PostgreSQL instalado, você pode baixar a versão mais recente do site oficial do PostgreSQL e seguir as instruções de instalação.
Inicialize uma nova instância do banco de dados: Para inicializar uma nova instância do banco de dados, você pode usar o comando initdb com a opção -D para especificar um novo diretório de dados. Por exemplo, para criar uma nova instância em C:\pgsql\data2, você pode usar:
"C:\Program Files\PostgreSQL\12\bin\initdb.exe" -D "C:\pgsql\data2"
Certifique-se de substituir C:\Program Files\PostgreSQL\12\bin\initdb.exe pelo caminho correto para o initdb no seu sistema. Configure a nova instância para usar uma porta diferente: Você precisa editar o arquivo postgresql.conf na nova instância do banco de dados para que ele use uma porta diferente. Por exemplo, para alterar a porta para 5433, você pode adicionar a seguinte linha ao arquivo postgresql.conf:
port = 5433
O arquivo postgresql.conf está localizado no diretório de dados da nova instância do banco de datos. Registre a nova instância como um serviço do Windows: Use o comando pg_ctl para registrar a nova instância como um serviço do Windows. Por exemplo:
"C:\Program Files\PostgreSQL\12\bin\pg_ctl.exe" register -D "C:\pgsql\data2" -N "postgresql2" -U "NT AUTHORITY\NetworkService"
Onde postgresql2 é o nome do novo serviço, e NT AUTHORITY\NetworkService é a conta do sistema que será usada para executar o serviço.
Certifique-se de substituir C:\Program Files\PostgreSQL\12\bin\pg_ctl.exe pelo caminho correto para o pg_ctl no seu sistema.
Inicie o novo serviço do Windows: Você pode iniciar o novo serviço do Windows usando o Gerenciador de Serviços do Windows ou usando o comando net start no prompt de comando:
net start postgresql2
Repita esses passos para cada nova instância do banco de dados que você deseja criar.
Por favor, note que esses comandos são específicos para Windows. Você deve ajustar os caminhos e as portas de acordo com sua configuração específica.
Lembre-se de que executar várias instâncias do PostgreSQL no mesmo servidor pode consumir uma quantidade significativa de recursos, então você deve monitorar o uso de recursos do seu servidor para garantir que ele não fique sobrecarregado.
Em resumo
Em resumo, deu certo:
1-dobrar a pasta data para outros nomes
2-no arquivo PostgreSQL.conf de cada pasta Data nova mudar a porta 5432 para outro número
3-executar no cmd administrador
"C:\Program Files\PostgreSQL\12\bin\initdb.exe" -D "C:\pgsql\data2"
E
"C:\Program Files\PostgreSQL\12\bin\pg_ctl.exe" register -D "C:\pgsql\data2" -N "postgresql2" -U "NT AUTHORITY\NetworkService"
4-iniciar o serviço:
net start postgresql2
Então você pode fazer um .bat
Arquivo Start_instancias.bat:
echo @off echo . cls
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5430"
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5431"
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5432"
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5433"
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5434"
D:\PostgreSQL\15\bin\initdb.exe -D "D:\Postgresql\Databases\5435"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5430" -N "Postgresql_15_5430" -U "NT AUTHORITY\NetworkService"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5431" -N "Postgresql_15_5431" -U "NT AUTHORITY\NetworkService"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5432" -N "Postgresql_15_5432" -U "NT AUTHORITY\NetworkService"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5433" -N "Postgresql_15_5433" -U "NT AUTHORITY\NetworkService"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5434" -N "Postgresql_15_5434" -U "NT AUTHORITY\NetworkService"
D:\PostgreSQL\15\bin\pg_ctl.exe register -D "D:\PostgreSql\Databases\5435" -N "Postgresql_15_5435" -U "NT AUTHORITY\NetworkService"
Pause
Assim cada usuário fica com uma instância
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 30 mai 2023 - 05:10 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 06 juin 2023 - 23:34 |
A VERSAO 28 DO DRIVER NATIVO DO POSTGRESQL TEVE UMA MUDANÇA
AGORA É
Server Port = xxxxx;
Mudou na 28 para Server Port = 15432
Para o Hopenconnection / HchangeConnection em Extend Info deve informar:
connPostgresql is connection connPostgresql..user = "postgres" connPostgresql..password = "123456" connPostgresql..provider = hNativeAccessPostgreSQL connPostgresql..server = "myserver.com.br" connPostgresql..database = "myerp" connPostgresql..extendInfo = "Server Port=154321"
if Hopenconnection(connPostgresql) = true
HChangeConnection("*",connPostgresql)
else
error(Herrorinfo())
end
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 26 juin 2023 - 21:40 |
E se der o erro 52
Ocorreu num cliente esse erro num Webservice rest
Detalhes do erro
{"fault" : {"faultcode" : "server", "faultstring" : "The HFSQL security mechanism was triggered while looping through the 'sfvcomod' file on the '' item.\nnative PostgreSQL access error.\nError Number = 52 \n \nThe Native PostgreSQL Connector requires the <LIBPQ.DLL> DLL (32 bits) and its dependencies (PostgreSQL client layer).\nThese DLLs must be in the same directory as the DLL of the Native Connector, or in a directory of PATH.\nFor more details, see the Native Connector documentation.", "detail" : "WL call:\nProcess of 'Method ReadAll' (Msfvcomod.ReadAll), line 14\n\nWhat happened?\nThe HFSQL security mechanism was triggered while looping through the 'sfvcomod' file on the '' item.\nnative PostgreSQL access error.\nError Number = 52 \n \nThe Native PostgreSQL Connector requires the <LIBPQ.DLL> DLL (32 bits) and its dependencies (PostgreSQL client layer).\nThese DLLs must be in the same directory as the DLL of the Native Connector, or in a directory of PATH.\nFor more details, see the Native Connector documentation.\n\nError code: 73001\nLevel: fatal error\nWD55 error code: 3001\n\nSystem error code: 126\nSystem error message:\nNão foi possível encontrar o módulo especificado.\n\nModule: wd280hf.dll (01F280085n - 28.0.444.4)\n\nDebugging information:\nIEWDPSQL=9.1\nModule=<WDPSQL>\nVersion=<28.0.38.0>\nAdditional information:\nEIT_NATIVECODE : <52>\nEIT_LOGICALTABLENAME : <sfvcomod>\nEIT_PILEWL :\nMethod ReadAll (Msfvcomod.ReadAll), line 14\nEIT_DATEHEURE : 26/06/2023 15:37:29\nEIT_TYPE_WDFILE : <4>\nEIT_IDCODE : <458752>\nEIT_CODEHTTP : <500>"}}
Solução
Mudar a opção em GO para Debug 64
Resultado
Como era uma tabela vazia deu certo
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 26 juin 2023 - 21:44 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 26 juin 2023 - 21:45 |
Erro 22 do PostgreSQL
Solução muitas vezes
Instale o PostgreSQL 15 que resolve
Ou na Analysis colocar em
Extende Info:
Server Port=5432;
- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 26 juin 2023 - 21:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 26 juin 2023 - 21:52 |
Outro erro estranho no PostgreSQL mas que também foi resolvido:
Motivo:
Tamanho do campo ultrapassou 30 carácteres
Dropou e rodou o script novamente e deu certo
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|