从PostgreSQL导出所有内容

从PostgreSQL导出所有内容,postgresql,pgadmin,Postgresql,Pgadmin,我想从PostgreSQL中导出所有内容(用户、角色、对象定义、数据),并将其恢复到另一台服务器中。我该怎么做 我试着用 pg_dumpall -U postgres -g > out.sql 但是文件out.sql是空的。有人能解释一下为什么会这样吗 当我尝试时: pg_dumpall -U postgres > out.sql PostgreSQL只是不想接受“postgres”的密码 我更喜欢从(windows)命令行完成这项工作(这不是问题,使用linux命令,我可以翻译

我想从PostgreSQL中导出所有内容(用户、角色、对象定义、数据),并将其恢复到另一台服务器中。我该怎么做

我试着用

pg_dumpall -U postgres -g > out.sql
但是文件out.sql是空的。有人能解释一下为什么会这样吗

当我尝试时:

pg_dumpall -U postgres > out.sql
PostgreSQL只是不想接受“postgres”的密码

我更喜欢从(windows)命令行完成这项工作(这不是问题,使用linux命令,我可以翻译它们)。如果有很好的方法,我也很乐意学习

注:我的“postgres”密码是正确的(我尝试用“psql-U postgres”登录,没有问题) 更新:我尝试使用不同于“postgres”的用户(在本例中为rsmn):

我有以下错误:

pg_dumpall:查询失败:错误:为关系指定了权限 pg_authid pg_dumpall:query was:SELECT oid、rolname、rolsuper、, rolinherit、rolcreaterole、rolcreatedb、rolcanlogin、rolconnlimit、, rolpassword,rolvalidunil,rolreplication,RolBypass, pg_catalog.shobj_描述(oid,'pg_authid')作为rolcomment,rolname =当前用户,即pg\U authid中的当前用户,其中rolname!~'^第2页的订单

用户权限(此用户仅为“postgres”旁边的用户):

如果您试图在*nix下执行此操作,并且您的服务器安装在本地,您可能不需要使用
ident
模式而不是
password

sudo su postgres
pg_dumpall > out.sql

如果您试图在*nix下执行此操作,并且您的服务器安装在本地,则您可能无法使用
ident
模式而不是
password

sudo su postgres
pg_dumpall > out.sql

尝试使用user
rsmn
失败,因为它不是超级用户,无法导出用户密码

还有待弄清楚为什么
pg_dumpall-U postgres
对你来说失败了

为此,首先要检查PostgreSQL server日志。我不确定它在您的系统上的什么位置,您应该检查
postgresql.conf
logging\u collector
log\u destination
log\u directory
log\u filename
)中的设置。它可能在Windows事件日志中

日志消息将告诉您出了什么问题

pg_hba.conf
文件很可能有问题——如果是这样,现代PostgreSQL版本会告诉您使用了哪一行


出于调试目的,您可以尝试将相关行更改为
trust
authentication,以便不请求密码(但不要这样做,否则每个人都可以作为用户
postgres
进行连接,而无需密码!).

尝试使用用户
rsmn
失败,因为它不是超级用户,无法导出用户密码

还有待弄清楚为什么
pg_dumpall-U postgres
对你来说失败了

为此,首先要检查PostgreSQL server日志。我不确定它在您的系统上的什么位置,您应该检查
postgresql.conf
logging\u collector
log\u destination
log\u directory
log\u filename
)中的设置。它可能在Windows事件日志中

日志消息将告诉您出了什么问题

pg_hba.conf
文件很可能有问题——如果是这样,现代PostgreSQL版本会告诉您使用了哪一行


出于调试目的,您可以尝试将相关行更改为
trust
authentication,以便不请求密码(但不要这样做,否则每个人都可以以用户身份连接
postgres
而不需要密码!)。

如果输出为空,则可能会出错。找到错误消息,它将帮助您!对不起,我错过了-g标志,没有他的,它只是不想接受我的密码。在命令提示中没有错误信息!在哪里可以找到“日志”文件?如果出现错误,将显示错误消息。也许
pg_dumpall
在等待您输入密码?是的,它在等待我输入密码并:-如果“pg_dumpall-U postgres-g>out.sql”输入密码后,我的文件为空-如果“pg_dumpall-U postgres>out.sql”它不接受我的密码并再次提示我,并且再次尝试其他用户,我有错误!我用这个错误更新我的帖子!如果输出为空,则可能出现错误。找到错误消息,它将帮助您!对不起,我错过了-g标志,没有他的,它只是不想接受我的密码。在命令提示中没有错误信息!在哪里可以找到“日志”文件?如果出现错误,将显示错误消息。也许
pg_dumpall
在等待您输入密码?是的,它在等待我输入密码并:-如果“pg_dumpall-U postgres-g>out.sql”输入密码后,我的文件为空-如果“pg_dumpall-U postgres>out.sql”它不接受我的密码并再次提示我,并且再次尝试其他用户,我有错误!我用这个错误更新我的帖子!什么是缩进模式?查看文档(auth方法)。哦,你的意思是
ident
。什么是
indent
模式?看看文档(auth方法)。哦,你是说
ident