我支持一家拥有远程托管网站的公司。他们使用 PostgreSQL 数据库。
我无法在远程服务器上编写脚本,并且不想在远程服务器上存储任何备份文件,但我可以运行 cron 作业,并且可以访问远程服务器的 SSH 公钥。我设置了本地 Linux 主机来接受远程主机的私钥进行身份验证。
我需要制作一个一行脚本来同步备份、压缩和 scp 备份文件到我的本地 Linux 机器。
如果我的本地 Linux 机器可以通过 SSH 在端口 122 上访问mylinuxbox.foo.com,并且我的数据库名称是mydatabase,那么这个单行 cron 作业命令会是什么样子?
运行 Ubuntu 14.04 64 位。我从项目网站下载了 68MB .sh 文件。当我使用 sudo 运行文件时,我得到以下输出:
ben@tardis:~$ sudo ./teampostgresql_ubuntu.sh
Unpacking JRE ...
Preparing JRE ...
./teampostgresql_ubuntu.sh: 256: ./teampostgresql_ubuntu.sh: bin/unpack200: not found
Error unpacking jar files. Aborting.
You might need administrative priviledges for this operation.
Run Code Online (Sandbox Code Playgroud)
我试过安装,openjdk-7-jre-headless但这没有帮助。项目页面没有列出任何依赖项,所以我不确定从这里开始做什么。我也试过在 root shell 中运行,没有区别。
我不确定我的 Postfix 安装是否支持 MySQL 或 PostgreSQL。我怎么知道?
(Debian 8)
我的 .pgpass 文件在我的主文件夹(管理员)
我并使用文档中指示的正确格式
hostname:port:database:username:password
Run Code Online (Sandbox Code Playgroud)
当明确地放入psql命令行时,我放在那里的相同字段工作得很好。(当然我必须手动输入密码)。
但是,单独运行 psql 会给我们一个错误:
psql: FATAL: role "admin" does not exist
Run Code Online (Sandbox Code Playgroud)
请注意,我的 postgres 用户名不是“admin”,这是我的 debian 用户名。
我究竟做错了什么?我的目标是psql无需使用复杂的命令行(包括主机/端口/用户名/数据库)即可访问
我最近一直在尝试制定一个有效的数据库备份加密方案。
我有一个 Postgres 9.4 服务器,我认为我已经充实了大部分备份方案。备份将存储在标准的 .sql 文件中,gzipped 然后通过 AES-CBC 和 OpenSSL 运行。
我唯一遇到麻烦的部分是钥匙。我不想使用单个主密钥,我想要某种密钥轮换或生成。所有备份(或至少大多数)都有不同的密钥,但也有我可以在需要时轻松找到/生成和使用的密钥。我在谷歌上看过,但找不到任何明确的解决方案。
我也愿意评估完全不同的加密解决方案,我与 AES-CBC/OpenSSL 无关。
任何解决方案将不胜感激。
谢谢。
我们使用实例类型为 db.m4.2xlarge 的 rds(postgres)。
通常大多数时候连接数是8-10。但在某些情况下随着连接数增加到100-200。DB 变得无响应。在数量或读取连接突然激增的情况下,我们多次看到数据库无响应(因此即使连接从 10 增加到 100)。
正在执行的查询最多需要 2 秒才能执行。
我的应用程序服务器在 django/python 堆栈上运行(使用 Gunicorn)。当数据库服务器响应时间增加时,这些服务器的延迟会变高。
为了提高性能,我们应该对 postgres rds 的配置进行任何更改(目前大多数设置都是默认的)?
如果我使用 pg_restore 恢复整个数据库,我将获得表的所有索引。但是当我尝试导入单个表时,从来没有任何索引。
备份我运行
pg_dump -Fc -w database > my_database.dump
Run Code Online (Sandbox Code Playgroud)
恢复我运行的单个表
pg_restore -t table_name -s my_database.dump
Run Code Online (Sandbox Code Playgroud)
它只返回创建表语句并缺少索引,我哪里出错了?
我各有一个 PostgreSQL 9.6 主服务器和备用服务器。这两行在他们各自的postgresql.conf:
max_connections = 100
Run Code Online (Sandbox Code Playgroud)
备用的recovery.conf外观如下(统计数据host,user以及cluster隐藏的):
standby_mode = on
recovery_target_timeline = latest
primary_conninfo = 'host=<host> port=5433 user=<user>'
Run Code Online (Sandbox Code Playgroud)
当我pg_ctlcluster 9.6 <cluster> start报告以下错误时:
FATAL: hot standby is not possible because max_connections = 100
is a lower setting than on the master server (its value was 2000)
Run Code Online (Sandbox Code Playgroud)
我想知道:价值2000从何而来。两个集群都应该看到100,即相等的值。并且确实SHOW max_connections对高手产生了影响100。
这是怎么回事,我怎样才能使待机成功启动?
我在使用 Postgres 启动 Kong 时遇到了麻烦。我检查了\n我的桌面的日志
\n\nroot@miki:/var/log/postgresql#\n2019-04-22 07:35:28.040 CEST [1181] LOG: listening on IPv4 address "127.0.0.1", port 5432\n2019-04-22 07:35:28.070 CEST [1181] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"\n2019-04-22 07:35:28.438 CEST [1426] LOG: database system was shut down at 2019-04-21 20:13:57 CEST\n2019-04-22 07:35:28.546 CEST [1181] LOG: database system is ready to accept connections\n2019-04-22 07:35:29.175 CEST [1690] [unknown]@[unknown] LOG: incomplete startup packet\nRun Code Online (Sandbox Code Playgroud)\n\n这是什么意思?
\n\n我的 postgresql 正在运行
\n\n/etc/init.d/postgresql status\n\xe2\x97\x8f postgresql.service - PostgreSQL RDBMS\n Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)\n Active: …Run Code Online (Sandbox Code Playgroud) I've got a brand new Postgres 11 RDS instance that I can connect to with or without an SSL cert. However, I would like to ensure that we never connect to this database without SSL. So I have taken the following steps to attempt to enforce this:
rds.force_ssl to 1.postgresql ×10
backup ×2
linux ×2
amazon-rds ×1
cron ×1
database ×1
debian ×1
django ×1
encryption ×1
mysql ×1
postfix ×1
python ×1
replication ×1
ssh ×1
ubuntu ×1
var ×1