Aviso: Este artigo ainda é um rascunho!
Roteiro para alterar o locale
Logar com usuário root
Ir para o diretório bin cd /usr/local/pgsql/bin/
Fazer o dump completo do banco ./pg_dumpall -U TOTALI > totali.dmp
Entrar no PostgreSQL ./psql -U TOTALI totali
Executar os comandos abaixo: \o search_path.sql select 'ALTER USER "'||usename||'" set '||useconfig[1]||';' from pg_user usu where useconfig[1] like 'search_path%'; \o
Desconectar \q
Parar o banco ./pg_ctl stop -D ../data
Voltar para pgsql cd ..
Renomear a pasta data mv data data_antiga
Criar nova pasta data mkdir data
Dar permissões chown postgres:postgres data
Alterar para postgres su - postgres
Voltar para bin cd /usr/local/pgsql/bin/
Criar novo database ./initdb -D ../data --locale=C -E LATIN1
Iniciar o banco ./pg_ctl start -D ../data -l ../data/log.txt
Criar Linguagem ./createlang plpgsql template1
Criar funções básicas ./psql template1 -f /instala/pgsql_functions.sql
Criar database ./createdb -E LATIN1 totali
logar no banco ./psql totali
Criar usuario CREATE USER "TOTALI" PASSWORD '2000' CREATEDB CREATEUSER;
Criar schema CREATE SCHEMA "TOTALI" AUTHORIZATION "TOTALI";
Desconectar \q
passar para usuário root exit
Ir para o diretório bin cd /usr/local/pgsql/bin/
Usar o replace totali sh replace_totali template0 template1 totali.dmp
importar o dump ./psql -U postgres totali < totali.dmp
Obs: a mensagem de erro abaixo é aceitável na importação do dump. ERROR: group "nnn" does not exist Obs: onde "nnn" pode ser um número qualquer. Ex.: "148"
recriar search_paths ./psql -U postgres totali < search_path.sql
Parar o banco ./pg_ctl stop -D ../data
copiar configurações antigas cp ../data_antiga/pg_hba.conf ../data/ cp ../data_antiga/postgresql.conf ../data/
Alterar para postgres su - postgres
Voltar para bin cd /usr/local/pgsql/bin/
iniciar o banco ./postmaster -i -D ../data &
obs: a tela ficara parada após a mensagem "LOG: database system is ready" e será necessário pressionar novamente o ENTER
./vacuumdb -f -z -U TOTALI totali
exit
logout
fim