Pergunta

Estou tentando restaurar um banco de dados do backup, mas não consigo me conectar postgresql.

namespace :db do
  task import: :environment do
  import_path = "~/backups"
  sql_file = "PostgreSQL.sql"
  database_config = Rails.configuration.database_configuration[Rails.env]

  system "psql --username=#{database_config['username']} -no-password # {database_config['database']} < #{import_path}/#{sql_file}"
  end
end

Eu tentei mudar o pg_hba.conf arquivo (ponto para md5).No console tentei a mesma coisa com o superusuário postgres, mas ainda falha.

Aliás, alguém conhece uma maneira melhor de restaurar um banco de dados?Eu usei a gema de backup.

EDITAR:Reiniciei o servidor postgresql e passei na autenticação.Mas não restaurou o banco de dados.Reverti as alterações no arquivo e adicionei -h localhost ao comando psql.O banco de dados é restaurado agora.Os únicos erros que recebo agora são:

must be owner of extension plpgsql //and
no privileges could be revoked for "public"
Foi útil?

Solução

  1. após alterar o pg_hba.conf, você deve recarregar ou enviar um sinal SIGHUP para o postmaster pid.então essa mudança foi aplicada.
  2. por que não usar psql -f para executar o arquivo sql de backup?
  3. ou você pode usar backup pg_dump e restauração pg_restore.ou copie o comando backup e restauração.COMO :

    digoal=# copy tbl_join_1 to '/home/pg93/tbl_join_1.dmp';
    COPY 10
    digoal=# delete from tbl_join_1;
    DELETE 10
    digoal=# copy tbl_join_1 from '/home/pg93/tbl_join_1.dmp';
    COPY 10
    

    OU

    pg93@db-172-16-3-150-> pg_dump -f ./tbl_join_1.dmp -t tbl_join_1
    pg93@db-172-16-3-150-> psql
    psql (9.3.3)
    Type "help" for help.
    
    digoal=# drop table tbl_join_1;
    DROP TABLE
    digoal=# \q
    pg93@db-172-16-3-150-> psql -f ./tbl_join_1.dmp 
    SET
    SET
    SET
    SET
    SET
    SET
    SET
    SET
    SET
    CREATE TABLE
    ALTER TABLE
    ALTER TABLE
    
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top