在 Postgresql 版本 10 中创建扩展时出现错误
无法加载库“C:/Program Files/PostgreSQL/10/lib/plpython3.dll”:找不到指定的模块
CREATE EXTENSION plpython3u;
Run Code Online (Sandbox Code Playgroud)
注意:在 Window 10 上使用 Postgresql 10
我有一个大小约为 4.5GB(未压缩)的 PostgreSQL 文本转储文件,我试图恢复它,但由于内存不足而总是失败。
有趣的是,无论我尝试什么,它总是在转储文件的完全相同的行号处失败,这让我相信我尝试的更改没有效果。(我确实查看了文件中的这个行号,它只是另一行数据,文件中的那个点没有发生任何重要的事情。)
我正在使用带有 -f 选项的 psql,因为我读到它比标准输入更好。然而,这两种方法都失败了。
我尝试了以下方法:
使用 Top 和 PG_Top 我可以看到(我相信显示)当 psql 失败时,操作系统和数据库仍然有可用的内存。我并不怀疑某个地方的内存不足,我只是希望我有一种更好的方式来说明那到底是什么。
其他可能有用的信息:
如何设置将( docs ) 数据类型lc_monetary显示为 EUR?money
我试过:
postgresql.conf并设置lc_monetary="de_DE.UTF-8@euro。PG 不会因此更改而启动(当前设置为en_US.UTF-8)set我得到ERROR: invalid value for parameter "lc_monetary"我当前的整理是en_US.UTF-8.
我尝试在 PostgreSQL 10 中运行此查询:
select e.errordescription,
CASE
WHEN e.reworkempid is not null THEN get_empname(e.reworkempid)
else null
end
from error_log_gs e
where e.qcworkpackageid=3012175 and e.logno=1
Run Code Online (Sandbox Code Playgroud)
得到错误:
CASE 中不允许设置返回函数
我是Postgresql的初学者。在使用pgadmin安装和连接数据库时,我遇到了许多困难,我从所做的错误中学到了很多东西。现在我的疑问是,为什么\ l应该显示template0和template1,我在网上搜索了,但是不幸的是我没有找到合适的资源,但是我发现在删除两个DB(template0&template1)之后,我们无法创建数据库。
我有一个大小约为 100GB 的 PostgreSQL v10 数据库。
重建统计信息的最有效(最快)方法是什么,例如在主要版本升级之后?
ANALYZE默认情况下,没有参数会更新整个数据库的统计信息——这太慢了!这似乎是一个单一的过程。
有没有办法并行化它以加快速度?
我编辑了pg_hba.conf:
sudo su postgres
nano /etc/postgresql/10/main/pg_hba.conf
Run Code Online (Sandbox Code Playgroud)
并添加以下行:
local all username scram-sha-256
Run Code Online (Sandbox Code Playgroud)
并且改变了这一切md5,以scram-sha-256在该文件中。
作为postgres用户,我创建了一个具有超级用户权限的新用户:
sudo su postgres
psql
CREATE USER username WITH SUPERUSER PASSWORD 'password';
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了Postgres:
/etc/init.d/postgresql restart
Run Code Online (Sandbox Code Playgroud)
并尝试使用pgAdmin4登录,我在其中更改了数据库的Connection属性下的用户名。但是,无论如何,这都psql -U username testdb < ./testdb.sql不起作用:
严重:用户“用户名”的密码身份验证失败
那么如何在我的Debian9 / KDE机器上让Postgres使用scram-sha-256?早前工作时,我离开了所有md5在pg_hba.conf原样。
我知道这个问题可能会被标记为重复,但请记住,我已经搜索了许多发布的解决方案,但我的错误尚未得到修复。
启动 postgres 时,出现以下错误:
无法联系 postgresql 应用程序服务器。
当以管理员身份运行时,错误已“解决”,但应用程序在另一个端口中打开 - 有时它在 50142、51120 中打开,而其他端口则在 50859 中打开 -。当它在另一个端口上打开时(如前面所说的),它会要求输入密码才能连接到服务器,我收到此错误:
无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(127.0.0.1) 上运行并接受端口 5432 上的 TCP/IP 连接?
信息:
已经尝试过的解决方案:
我想知道在启动应用程序并始终在特定端口上打开时如何避免此错误。
我每周在Postgres上遇到这个查询,它以字节为单位显示表、它们的大小、toast 大小和索引大小:
SELECT
relname AS table_name,
pg_size_pretty(pg_total_relation_size(relid)) AS total,
pg_size_pretty(pg_relation_size(relid)) AS internal,
pg_size_pretty(pg_table_size(relid) - pg_relation_size(relid)) AS external,
pg_size_pretty(pg_indexes_size(relid)) AS indexes
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
Run Code Online (Sandbox Code Playgroud)
我知道 Postgres 正在为每个分区创建一个表,所以我分别为每个分区获取条目,但是有没有办法为每个表获取一行,无论该表是否分区?
使用 PostgreSQL 10.10,来自超级用户postgres:
CREATE EXTENSION postgres_fdw;
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO my_user;
Run Code Online (Sandbox Code Playgroud)
然后在执行以下操作时my_user:
CREATE SERVER my_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (...);
Run Code Online (Sandbox Code Playgroud)
显示此错误消息:
Query 1 ERROR: ERROR: foreign-data wrapper "postgres_fdw" does not exist
Run Code Online (Sandbox Code Playgroud)
以下是当前活动的外部数据包装器的列表(来自 psql):
postgres=# \dew
List of foreign-data wrappers
Name | Owner | Handler | Validator
--------------+----------+----------------------+------------------------
postgres_fdw | postgres | postgres_fdw_handler | postgres_fdw_validator
(1 row)
Run Code Online (Sandbox Code Playgroud)
为什么即使在被授予之后USAGE,用户my_user仍然无法看到/使用 postgres_fdw 外部数据包装器,就好像后者不存在一样?还需要采取更多步骤吗?
postgresql-10 ×10
postgresql ×9
sql ×2
collation ×1
pgadmin ×1
pgadmin-4 ×1
plpython ×1
sasl-scram ×1