2013/4/26 Rogério D'Andréa <[email protected]>

>
>
>
> Em 26 de abril de 2013 09:39, Matheus de Oliveira <
> [email protected]> escreveu:
>
>
>>
>>
>> 2013/4/25 Danilo Silva <[email protected]>
>>
>>> Em 25 de abril de 2013 11:16, Rogério D'Andréa 
>>> <[email protected]>escreveu:
>>>
>>>  Mas ai teria que ligar os micros em rede( ou poderia fazer esta
>>>> conexão pela internet?), Estou usando o postgreSQL como banco de dados
>>>> externo ao libreoffice para gerenciar cerca de 10 mil clientes e toda a
>>>> funcionalidade do programa está no libreoffice e estou aproveitando da
>>>> segurança e robustez do postgreSQL.
>>>>
>>>
>>> Rogerio, não utilize TOP-POSTING isso atrapalha a leitura e obviamente o
>>> raciocinio de quem está lendo e tentando te ajudar.
>>>
>>>
>> Realmente, já virou bagunça esse post... =/
>>
>>
>>
>>> Respondendo as suas perguntas: Antes de começar a migração, avalie
>>> primeiro o tamanho do cluster e hardware, se o postgresql será migrado
>>> dentro do mesmo servidor ou em outro, se será, primeiro, migrado para um
>>> servidor de testes, janela de tempo, etc. Depois dessas perguntas
>>> respondidas, vc poderá planejar a migração, conforme já te responderam
>>> anteriormente, existem algumas opções de migração. eu particularmente, após
>>> avaliar os tamanhos etc, utilizo o pg_dump + pg_restore, para se ter uma
>>> idéia, recentemente eu fiz uma migração do 8.2 para 9.1 (o cluster tinha em
>>> torno de 15 GiB), em um servidor Ubuntu (não lembro a versão) com 8 GiB de
>>> RAM, o processo de dump + restore levou em torno de 1 hora e 30 minutos.
>>>
>>>
>> 1h30min para 15GB ainda me parece muito, mas depende de outros fatores
>> além dos informados... Uma dica para agilizar é, ao invés de usar o
>> pg_dumpall, usar o pg_dump em formato binário e ao importar com o
>> pg_restore utilizar a opção "-j <numero cores>" para paralelizar a operação
>> (o ganho é muito grande). O passo-a-passo seria +/- o seguinte (sempre
>> usando os binários da versão mais nova):
>>
>> 1. pg_dumpall *<versão antiga>* -g -f /path/to/global.sql   # recupera
>> objetos globais (roles, tablespaces, etc.)
>> 2. para cada banco B:
>>          pg_dump *<versão antiga> <banco B>* -Fc -f /path/to/*<B>*.dump
>> 3. psql *<versão nova>* -f /path/to/global.sql
>> 3. para cada banco B:
>>          pg_restore *<versão nova>* -d template1 -C -j *<numero de cores
>> da máquina>* -f /path/to/*<B>*.dump
>>
>>
>>
>>> Lembre-se sempre, antes de executar, analise primeiro, estude todo o
>>> processo, marque o tempo das execuções, e documente tudo.
>>>
>>>
>> Ótima dica!
>>
>>
>>
>>>
>>>> Em 25 de abril de 2013 10:41, Matheus de Oliveira <
>>>> [email protected]> escreveu:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2013/4/24 Rogério D'Andréa <[email protected]>
>>>>>
>>>>>> Sim Matheus é muito...rs Especialmente quando fazemos pela primeira
>>>>>> vez e não dá certo de primeira...rs  Então vou seguir as sua dicas vou
>>>>>> instalar o 9.2 com o ubuntu 12.4
>>>>>>
>>>>>>
>>>>> Particularmente não sou muito fã do Ubuntu para servidor, mas se for
>>>>> usá-lo, use a versão Server. Ok?
>>>>>
>>>>>
>>>>>
>>>>>> tenho então que instalar a versão 9.2 na mesma maquina que já esta
>>>>>> rodando a 8.4 para fazer o dump já com a versão 9.2 é isto? e depois
>>>>>> restore na outra maquina que tambem vai estar com a versão 9.2. Estava
>>>>>> fazendo o dump com a 8.4 e tentado o restore com a 9.1 deve ser por isto
>>>>>> que não estava dando certo
>>>>>>
>>>>>>
>>>>>>
>>>>> O ideal é usar sempre os binários da mais nova para realizar o dump,
>>>>> assim você evita problemas (eles são solúveis, mas é trabalhoso).
>>>>>
>>>>> Se você está migrando entre servidores diferentes, não há necessidade
>>>>> de instalar a 8.4 no mais novo. Assumindo que ambos estejam executando,
>>>>> basta você instalar a 9.2 no mais novo e executar o dump de lá (isso pode
>>>>> ser mais lento, mas se sua base não for grande é traquilo):
>>>>>
>>>>> /usr/lib/postgresql/9.2/bin/pg_dumpall -h <hostname/ip do servidor
>>>>> antigo> | psql
>>>>>
>>>>>  Quanto ao pgAdmin, eu não sei te dizer se dá pra fazer por ele, mas
>>>>> ele usa o pg_dump internamente, só tem que conferir qual a versão do
>>>>> mesmo ele está usando, se não for da 9.2 pode apresentar erros. Aliás,
>>>>> quais foram os erros?
>>>>>
>>>>> Atenciosamente,
>>>>> --
>>>>> Matheus de Oliveira
>>>>> Analista de Banco de Dados
>>>>> Dextra Sistemas - MPS.Br nível F!
>>>>> www.dextra.com.br/postgres
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> pgbr-geral mailing list
>>>>> [email protected]
>>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> pgbr-geral mailing list
>>>> [email protected]
>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>
>>>>
>>>
>>> _______________________________________________
>>> pgbr-geral mailing list
>>> [email protected]
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>> At.
>> --
>> Matheus de Oliveira
>> Analista de Banco de Dados
>> Dextra Sistemas - MPS.Br nível F!
>> www.dextra.com.br/postgres
>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>> bom instalei o 9.2 na mesma maquina que esta o 8.4,
> iniciei o servidor pelo terminal
>
> ro@VBR:~$ sudo /etc/init.d/postgresql restart
> [sudo] password for ro:
>  * Restarting PostgreSQL 8.4 database server                             [
> OK ]
>  * Restarting PostgreSQL 9.2 database server                             [
> OK ]
>
> parei o servidor 8.4
>
> ro@VBR:~$ sudo /etc/init.d/postgresql stop 8.4
>  * Stopping PostgreSQL 8.4 database server                               [
> OK ]
>
>
>
O 8.4 deve estar no ar para poder usar o pg_dumpall.


> ro@VBR:~$ /usr/lib/postgresql/9.2/bin/pg_dumpall -p 5432 |
> /usr/lib/postgresql/9.2/bin/psql -p 5433
> psql: não pôde conectar ao servidor: Arquivo ou diretório não encontrado
>     O servidor está executando localmente e aceitando
>     conexões no soquete de domínio Unix
> "/var/run/postgresql/.s.PGSQL.5433"?
> pg_dumpall: não pôde conectar ao banco de dados "template1": FATAL:  role
> "ro" n?o existe
>
>
>
>
Parece que 5433 é a versão 8.4 (pelo erro diz que é essa que não está
rodando), execute o pg_lsclusters para verificar a porta correta de cada
versão:

$ pg_lsclusters


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a