我是 postgres 新手,我有 aws rds 实例运行 postgresql 引擎版本 11.5。
我所有的查询都是 clientRead 有 wait_event。为什么我的所有查询都处于空闲状态。这是否意味着它们在事务中处于空闲状态?
我应该采取哪些步骤来解决这个问题?
例如,如果我将idle_in_transaction_session_timeout更改为10分钟,它会解决这个问题吗?
select count(*),state FROM pg_stat_activity group by 2;
count | state
-------+--------
5 |
1 | active
451 | idle
Select pid, datname, usename, wait_event_type, wait_event, backend_type FROM pg_stat_activity where state='idle';
pid | datname | usename | wait_event_type | wait_event | backend_type
-------+----------+--------------------------+-----------------+------------+----------------
14797 | xxxxx | user | Client | ClientRead | client backend
SELECT current_setting('idle_in_transaction_session_timeout');
current_setting
-----------------
1d
(1 row)
Run Code Online (Sandbox Code Playgroud) 我正在努力将备份从本地 postgresql 恢复到 AWS 中托管的另一个 postgresql 数据库(rds-aurora postgresql,无服务器)。数据大小为170GB的压缩数据。
我之前想过使用 pg_restore 因为我可以传递该-j选项,但提取文件需要花费大量的时间和空间。
我的文件格式为= tar.gz (20200204_data_tar.gz)
我尝试使用管道提取并将其传递给 pg_restore 以节省时间,但出现以下错误。注意:备份是使用 pg_start_backup 生成的。
tar -xzOf 20200204_data_tar.gz | pg_restore
--host=my-test.us-east-1.rds.amazonaws.com --port=5432 --username=postgresql--dbname=mytest -j 16 --password --verbose --exit-on-error --data-only
pg_restore: [archiver] input file does not appear to be a valid archive
Run Code Online (Sandbox Code Playgroud)
本地版本 9.3.4 新集群版本使用 10.7
有人可以建议我如何恢复这个大型数据库吗?