小编use*_*691的帖子

为什么我的查询处于空闲状态?

我是 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 amazon-rds postgresql-11 postgresql-performance

4
推荐指数
1
解决办法
5402
查看次数

如何恢复大型 postgresql 数据库?

我正在努力将备份从本地 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

有人可以建议我如何恢复这个大型数据库吗?

postgresql postgresql-9.3 postgresql-10

3
推荐指数
1
解决办法
3万
查看次数