Postgresql psql:致命:用户的对等身份验证失败;expman“;

Postgresql psql:致命:用户的对等身份验证失败;expman“;,postgresql,backup,restore,rake-task,Postgresql,Backup,Restore,Rake Task,我正在尝试从备份还原数据库,但无法连接到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_c

我正在尝试从备份还原数据库,但无法连接到
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
  • 更改pg_hba.conf后,应重新加载或向邮局主管发送SIGHUP信号。因此,这一变化得到了应用
  • 为什么不使用psql-f来执行备份sql文件呢
  • 或者您可以使用pg_转储备份和pg_还原。或复制命令备份和还原。 比如:


  • 谢谢,但我需要备用宝石。这是我现在得到的。更改pg_conf文件后,我忘记重新启动postgresql进程。但是,我现在甚至恢复了所有的更改,我得到了一些东西:psql--username={database_-config['username']}-h localhost{database_-config['database']}<{import_-path}/{sql_-file}现在,当我运行任务时,它可以处理所有的事情了。数据库已恢复。但是,我仍然在屏幕上看到一些错误:“必须是扩展plpgsql的所有者”和“没有为“public”授予任何权限”
    must be owner of extension plpgsql //and
    no privileges could be revoked for "public"
    
    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
    
    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