在OSX10.11.1上,由于服务器版本不匹配,我遇到了Postgres pg_dump的问题。
$ pg_dump
pg_dump: server version: 9.5.1; pg_dump version: 9.4.1
pg_dump: aborting because of server version mismatch
$ which pg_dump
/usr/local/bin/pg_dump
$ echo $PATH
/Users/jade/.rvm/gems/ruby-2.2.1/bin:/Users/jade/.rvm/gems/ruby-2.2.1@global/bin:
我正在尝试编写一个bash脚本,允许我:
1)登录ssh根帐户
2)如果已登录,则以postgres的身份登录
3)如果以postgres的身份登录,那么我的db的pg_dumb就会转到本地db
我的代码看起来:
ssh root@myhost
user = `root`
if [ "$user" == "root" ]; then
su - postgres
fi
user = `postgres`
if [ "$user" == "postgres" ]; then
pg_dump my_user_name m
我正在从Docker容器中的PostgreSQL数据库中生成一个转储文件,我希望将该文件放在/tmp文件夹中。
在Docker容器中打开一个shell之后,我运行以下命令:
sh-4.2# su - postgres
Last login: Wed Apr 18 05:22:26 UTC 2018 on pts/1
-bash-4.2$ psql
psql (9.3.15)
Type "help" for help.
然后执行这个命令在/tmp文件夹中生成一个转储文件:
postgres=# \! pg_dump -U user hidb -f /tmp/my_db_dumpa
当我试图使用shell脚本备份关键的HAWQ数据库时。
获取错误:
/home/gpadmin/backup_db.sh: line 12: pg_dump: command not found
输入shell脚本:backup_db.sh
#!/bin/bash
# Location to place backup.
backup_dir="/home/backup/"
#String to append at the name of the backup files
backup_date=`date +%d-%m-%Y`
#Numbers of days we want
当我在railsApp容器中运行命令psql --version时,我得到的是9.4.12;当我在postgres容器中运行同样的命令时,我得到的是9.6.2。如何才能使版本匹配?
当我尝试在Rails应用程序上进行迁移时,我得到了以下错误,该应用程序执行pg_dump sql导入。
pg_dump: server version: 9.6.2; pg_dump version: 9.4.12
pg_dump: aborting because of server version mismatch
rails aborted!
这是我的Docker-compose.yml文件:
version
我使用了来自Automated_Backup_on_Linux的公共Postgresql备份脚本:
#!/bin/bash
if [ ! $HOSTNAME ]; then HOSTNAME="localhost"; fi
if [ ! $USERNAME ]; then USERNAME="postgres"; fi
BACKUP_DIRECTORY="/Users/xeranta/Documents/AW/"
CURRENT_DATE=$(date "+%Y%m%d")
if [ -z "$1" ]; then
我有一个现有的应用程序,我正在尝试移植到,其中一部分是复制现有的数据存储。我正在使用,但在将数据库移植到上面时遇到了困难。
在我现有的应用程序中,我正在创建数据库的转储:
// Create dump file
pg_dump app_database > db.dump
// Copy over to server hosting Dokku app
scp db.dump sshdetails
// SSH into new server, then attempt to import dump file
dokku postgres:import db < db.dump
我不确定它是否是权限问题,还是我做错了什么,任何帮助都会受到极大的感谢。我有一个专门的Ubuntu服务器,其上安装了Postgres。我想备份数据库,但是当我使用pg_dump时,我的权限被拒绝了。有人能帮我吗?这里有一些关于我的设置的细节。
关于postgres:我有以下数据库。
postgres,
template0,
template1,
mydb,
mydb1
我有两个PostgreSQL用户
postgres,
mydb (There are no postgresql groups defined yet)
postgres的所有其他设置都是默认值。
在我的ubuntu本
我在我的计算机上安装了两个PostgreSQL服务器。一个是9.1,另一个是9.3。我需要安装这两台服务器。
但是,当我运行pg_dump时,会出现一个版本错配错误:
server version: 9.3.6; pg_dump version: 9.1.15
pg_dump: aborting because of server version mismatch
我该怎么解决呢?(无法卸载这两种版本-我首先安装了9.1版本,多个月后安装了9.3版本-我需要安装这两个数据库服务器)。