小编483*_*347的帖子

PostgreSQL 抱怨共享内存,但共享内存似乎没问题

我一直在执行一种密集的模式删除和通过 PostgreSQL 服务器创建,但现在抱怨..:

WARNING:  out of shared memory
ERROR:  out of shared memory
HINT:  You might need to increase max_locks_per_transaction.
Run Code Online (Sandbox Code Playgroud)

但是如果 PostgreSQL 只是用 重新启动,问题仍然存在service postgresql restart,我怀疑 max_locks_per_transaction 不会调整任何内容。

我有点疏远,因为此错误的故障排除列表对我不起作用。

更多信息 1409291350:缺少一些细节,但我保留了核心 SQL 结果。

postgres=# SELECT version();
PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2,
 64-bit
Run Code Online (Sandbox Code Playgroud)

和:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty
Run Code Online (Sandbox Code Playgroud)

schema postgresql memory

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

为什么 RDS PostgreSQL 的“MaximumUsedTransactionIDs”即使在数据库看起来正确“VACUUM FREEZE”之后也不会减少?

我的MaximumUsedTransactionIDs似乎无限期地继续增长,但我有这些证据暗示我它可能不应该以这种方式发生:

$ PGPASSWORD=$MY_USER_LAND_RDS_SUPER_USER_PASSWORD psql -h $MY_RDS_INSTANCE -d
my_main_data_base -U $MY_USER_LAND_RDS_SUPER_USER
psql (9.5.8, server 9.5.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 
256, compression: off)
Type "help" for help.

my_main_data_base=> SELECT datname FROM pg_database;
     datname
-------------------
 template0
 rdsadmin
 template1
 postgres
 my_main_data_base
 another_data_base
(6 rows)

my_main_data_base=> VACUUM FREEZE; SELECT relname, age(relfrozenxid) AS xid_ag
e FROM pg_class JOIN pg_stat_all_tables USING (relname) ORDER BY xid_age DESC 
LIMIT 5;
VACUUM
       relname        | xid_age
----------------------+---------
 pg_toast_1150794     |   63707
 a_user_table         |   63707
 another_user_table …
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-rds

6
推荐指数
1
解决办法
2192
查看次数

如何显示大对象 (LOB) 内容?

我如何才能查看 LOB 内容?

\d ticketgrantingticket

              Table "public.ticketgrantingticket"
          Column           |          Type          | Modifiers 
---------------------------+------------------------+-----------
id                         | character varying(765) | not null
number_of_times_used       | numeric(10,0)          | 
creation_time              | numeric(19,0)          | 
last_time_used             | numeric(19,0)          | 
previous_last_time_used    | numeric(19,0)          | 
ticketgrantingticket_id    | character varying(765) | 
expiration_policy          | oid                    | 
authentication             | oid                    | 
services_granted_access_to | oid                    | 
expired                    | boolean                | 
proxied_by                 | character varying(1)   | 
Indexes:
    "ticketgrantingticket_pkey" PRIMARY KEY, btree (id)

SELECT expiration_policy, 
       authentication, 
       services_granted_access_to 
FROM ticketgrantingticket LIMIT 2;

 expiration_policy | authentication | …
Run Code Online (Sandbox Code Playgroud)

postgresql psql blob

4
推荐指数
2
解决办法
2万
查看次数

如何`vacuumlo` RDS PostgreSQL 数据库?

您可能已经注意到,作为一种完全托管的数据库即服务产品,AWS 关系数据库服务 (RDS) 限制用户空间命令的执行。

我暂存了一个生产数据库,结果我的pg_largeobject表膨胀到了整个持久性虚拟设备容量的 40%。

如何vacuumlo在运行 PostgreSQL 数据库的 RDS 实例上运行(在此处的其他 DBA.SE 问题中得到很好的解释)?

postgresql vacuum blob amazon-rds

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

Oracle 对应于 `pg_cancel_backend`

将 Oracle 语句ALTER SYSTEM KILL SESSION ...视为...在某种程度上可与 PostgreSQL 语句相媲美SELECT pg_terminate_backend()

您知道ALTER SYSTEM KILL SESSIONPostgreSQL的任何 Oracle 类比(比 更好)SELECT pg_cancel_backend()吗?


参考:9.26。系统管理功能(PostgreSQL 文档)

pg_terminate_backend

终止一个后端。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。

pg_cancel_backend

取消后端的当前查询。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。

oracle

2
推荐指数
1
解决办法
89
查看次数

标签 统计

postgresql ×4

amazon-rds ×2

blob ×2

memory ×1

oracle ×1

psql ×1

schema ×1

vacuum ×1