小编Val*_*lva的帖子

RDS 交叉表:错误:语言 c 的权限被拒绝

我们目前在生产数据库中使用 PostgreSQL 9.2,我们希望迁移到使用 PostgreSQL 9.4 的新 RDS 实例。但是,我们需要拥有创建函数的权限,但只有超级用户才能在 RDS 上创建函数,而我的用户无法被授予超级用户权限。

CREATE FUNCTION crosstab50(text, OUT rownumber integer, OUT c1 text,...) 
    RETURNS SETOF record 
    LANGUAGE c 
    STABLE STRICT 
    AS '$libdir/tablefunc', 'crosstab';
Run Code Online (Sandbox Code Playgroud)

但我们在恢复操作期间遇到此错误:

ERROR:  permission denied for language c
Run Code Online (Sandbox Code Playgroud)

postgresql pivot aws postgresql-9.4 amazon-rds

5
推荐指数
1
解决办法
6450
查看次数

如何阅读 postgres.log 输出?

我需要提高我的数据库性能,为了实现这一点,我启用了log我的postgresql.conf

log_statement = 'all'
log_connections = on
log_disconnections = on
Run Code Online (Sandbox Code Playgroud)

为什么我有 3 个duration输出SELECT

2016-02-29 15:35:07 CET [3492-349] postgres@uat LOG:  execute <unnamed>: SELECT ID FROM public.document WHERE documentID is NULL AND StatusID = (SELECT ID FROM public.status WHERE status = 'New') ORDER BY PriorityID DESC, ModTime ASC FOR UPDATE LIMIT 1
2016-02-29 15:35:07 CET [3492-350] postgres@uat LOG:  duration: 31.096 ms
2016-02-29 15:35:08 CET [3494-223] postgres@uat LOG:  duration: 0.090 ms
2016-02-29 15:35:08 CET [3494-224] …
Run Code Online (Sandbox Code Playgroud)

postgresql performance postgresql-performance

5
推荐指数
1
解决办法
4251
查看次数

如何在 Postgres 上设置具有正确权限的角色和用户?

我当前的数据库uat作为 owner postgres。但现在我想设置具有正确权限的角色和用户。一些简单的东西,比如:

角色dbadeveloperapplication

用户: dba1, dev1, dev2,app1

哪里dba可以在数据库上做任何事情以进行管理;developer可以进行SELECT,UPDATEINSERT, 通常的开发人员操作;app1developer角色相同的操作,暂时。

我怎样才能正确地做到这一点?production在这个新设置中,谁应该是我表的所有者?

更新:

------------------------
-- INITIAL SETUP
------------------------

-- create uat database
create database uat;

-- dba role
create role dba with superuser createdb createrole nologin replication bypassrls;

-- dev role
create role dev with nosuperuser nocreatedb nocreaterole nologin noreplication nobypassrls; …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.4

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

如何使用 Postgres 在服务器和客户端之间使用 SSL/TLS?

我对安全性了解不多。我正在云服务中使用我的数据库部署虚拟机。我想加密此服务器与任何客户端之间的所有通信。我怎样才能做到这一点 ?

更多信息: 我已经从 postgres 文档 [ 1 , 2 ] 中阅读了很多材料,但我对其中的内容了解不多。我遵循了本教程,现在我有了这些文件:

valter@eniac:test$ ll
total 28
drwxr-xr-x 2 valter valter 4096 Jan 25 12:54 ./
drwxr-xr-x 3 root   root   4096 Jan 25 12:50 ../
-rw-rw-r-- 1 valter valter 1834 Jan 25 12:53 privkey.pem
-rw-rw-r-- 1 valter valter 4783 Jan 25 12:54 server.crt
-rw------- 1 valter valter 1675 Jan 25 12:53 server.key
-rw-rw-r-- 1 valter valter 3672 Jan 25 12:53 server.req
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么处理他们。root.crtroot.crt文件在哪里?我怎样才能生成它们?我把这些生成的文件放在哪里?我应该在客户端做什么?

postgresql ubuntu

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