在 pgAdmin 4 中创建只读用户有点棘手。这是我如何做到这一点的指南。
首先简单介绍一下这个过程。整个过程基于为您的数据库编辑模式(非常简单且安全),因此这对您拥有的所有数据库使用该方法造成了限制,除非您为每个数据库编辑模式(同样,这很容易)。
首先,我们必须打开一个主对话框,选择您需要只读用户的目标数据库->模式-> 右键单击“公共”模式 ->属性。
在打开的窗口中,转到“默认权限”,然后单击右上角的“ + ”。
pg_read_all_data
”,Select
”。在其余选项卡(序列、函数、类型)上,您可以执行相同的操作(选择或用法)。点击“保存”。
在左侧边栏中向下滚动并找到“登录/组角色”。点击右键->创建->登录/组角色。或者,如果您想要将现有用户角色设为只读,请单击其右键并选择“属性”。
在打开的窗口中输入用户名,在“定义”选项卡上输入密码,在“特权”选项卡上选择“ Can login
”和“ Inherit rights from the parent roles?
”
在“成员资格”选项卡中,点击“成员”表中的“ + ”,然后在“用户/角色”列中输入“ ” 。pg_read_all_data
在“参数”选项卡中点击“ + ”。role
在“名称 …
我有一个表("table1")有3列,名为col1,col2和col3(每个都是VARCHAR),有4个值,如下所示:
col1 col2 col3
datA1 datB1 datC1
datA2
Run Code Online (Sandbox Code Playgroud)
我需要能够随时将数据添加到任何不影响其他列的列中.互联网上非常流行的代码是(例如,我们只需要将数据添加到列col2和col3):
INSERT INTO table1 (col2, col3)
VALUES ('datB2', 'datC2');
Run Code Online (Sandbox Code Playgroud)
但它添加了新行,如下所示:
col1 col2 col3
datA1 datB1 datC1
datA2
NULL datB2 datC2
Run Code Online (Sandbox Code Playgroud)
我真正需要的是用新值填充从"col1"列开始的值"datA2"的行,并得到如下表格:
col1 col2 col3
datA1 datB1 datC1
datA2 datB2 datC2
Run Code Online (Sandbox Code Playgroud)
如果有人能帮助我,我将非常感激!谢谢.Arsenii.
更新:该表有3列,每列响应特定类型的值(例如:名称,颜色,大小).我需要的是可以在特定列中随时添加新值,如果之前有一个空闲单元格,则可以不使用Null和新行.
我有一个带有函数的Module.pm模块getHash()
,正如您所猜测的那样,返回数据的散列)).我们都知道如何使用标准模型获取哈希的元素形式:
use Module;
my $m = new Module;
my %hash = $m->getHash();
print $hash{needed_element's_key};
Run Code Online (Sandbox Code Playgroud)
一切都好.但是,如果你需要在单个字符串中写两个最后的字符串而没有初始化一个新的HASH(并且只使用一个元素占用整个哈希的内存)呢?
有可能以某种方式这样做吗?比方说,$m->getHash()->{needed_element's_key};
当然,给定的例子不起作用.有什么建议?谢谢!
我有两个变量的比较操作来选择一个有一个值(包括0)的变量.该脚本必须找到两个变量中的哪一个具有任何值,哪个不具有任何值.
以下是一个例子:
my @ara = (0,1,,3,4,5);
my @arb = (1,,3,4,,);
my $output;
my $i = 0;
for (0..@ara) {
$output .= $ara[$i] || $arb[$i]; # a non-empty value has to be added to the $output.
$i++;
}
print $output;
Run Code Online (Sandbox Code Playgroud)
输出必须是: 013345
但是,Perl中认为从第一元件@ara
(这是0
),为Nill(无).并认为该元素根本没有任何价值.而我的实际输出是:113345
.
问题是:如何" 在运行中 "我可以将那些0
s从布尔值转换为字符串?
我知道,我可以提出@ara
如下:
@ara = ('0', '1', '2'..);
Run Code Online (Sandbox Code Playgroud)
但由于整个剧本中的某些条件,我不能这样做.我唯一能做的就是将确切的单独元素转换为所需的格式(如:)doSomething($ara[$i])
.我也尝试过:$ara[$i]."";
但它不起作用.
谢谢!
我正在玩 Mojolicious 并看到会话 cookie 看起来很奇怪:
mojolicious=---8ec2dbb1e9eeb295f610826487a011f3516106cb8a814530e73212a1e6a10d8f
你知道这些“WlpaWlpaWlpaWlpaWlpaWlpa...”是什么意思吗?我看到签名没问题,数据没问题,但是WlpaWlpaWlpaWlpaWlpaWlpa...在base64中这是ZZZZZZ...它们来自哪里?我只有这个代码来设置会话:
$self->session(user => 'sebastian');
Run Code Online (Sandbox Code Playgroud)
我正在 clean 项目上玩它。协议:HTTP(无 SSL)
莫欢乐 9.28。
perl ×3
postgresql ×2
arrays ×1
boolean ×1
database ×1
function ×1
hash ×1
insert ×1
module ×1
mojolicious ×1
object ×1
pgadmin ×1
pgadmin-4 ×1
phppgadmin ×1
sql ×1