我正在尝试从备份恢复数据库,但无法连接到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
文件(peer to md5)。
在控制台中,我和超级用户postgres
尝试了同样的事情,但它仍然失败。
编辑: 我重新启动了postgresql服务器并通过了身份验证。但是,没有恢复数据库。我还原了文件中的更改,只是将-h localhost添加到psql命令中。数据库现在恢复。我现在唯一的错误是:
must be owner of extension plpgsql //and
no privileges could be revoked for "public"
答案 0 :(得分:1)
或者您可以使用pg_dump backup和pg_restore restore。或复制命令备份和还原。 喜欢:
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
OR
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