我一直在执行一种密集的模式删除和通过 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) 我的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) 我如何才能查看 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) 将 Oracle 语句ALTER SYSTEM KILL SESSION ...
视为...在某种程度上可与 PostgreSQL 语句相媲美SELECT pg_terminate_backend()
:
您知道ALTER SYSTEM KILL SESSION
PostgreSQL的任何 Oracle 类比(比 更好)SELECT pg_cancel_backend()
吗?
pg_terminate_backend
终止一个后端。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。
pg_cancel_backend
取消后端的当前查询。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。