如何在Bash脚本中设置PostgreSQL用户密码 -- bash 领域 和 postgresql 领域 和 password 领域 和 users 领域 和 shell-scripting 领域 服务器管理 相关 的问题

How to set postgresql user password in bash script


简体版||繁體版
12
vote

问题

中文

我想为默认PostgreSQL服务器用户设置密码 postgres 。我通过使用:

  sudo -u postgres psql # password postgres   

我想在很多机器中执行此步骤,所以我想创建一个 bash 脚本来做同样的事情。如何在bash中完成这一点?

英文原文

I want to set a password for the default Postgresql server user, postgres. I did it by using:

sudo -u postgres psql # \password postgres 

I want to do this step in many machines, so I would like to create a bash script to do the same. How to accomplish this in bash?

              

回答列表

9
 
vote
vote
最佳答案
 

为文档您可以通过介绍Meta-命令 --command 选项。

  sudo -u postgres psql --command 'password postgres'   

单引号确保shell不会将反斜杠视为转义字符。

 

As documented you can run meta-commands via the --command option.

sudo -u postgres psql --command '\password postgres' 

The single quotes ensure that the shell doesn't treat the backslash as an escape-character.

 
 
25
 
vote

而不是使用psql password 命令,它可以使用:

  ALTER USER postgres WITH PASSWORD 'newpassword';   

说,通过 psql -c 命令:

  sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"   
 

Instead of using the psql \password command, which expects an interactive terminal, you can use:

ALTER USER postgres WITH PASSWORD 'newpassword'; 

Say, via a psql -c command:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';" 
 
 

相关问题

0  从shell脚本调用mysql后无法登录mysql  ( Cannot log into mysql after invoking mysql from shell script ) 
(我的第一个问题在这里,所以如果我在藐视任何约定,我提前道歉!) 这是我第一次尝试创建shell脚本。我正在尝试通过在命令行中指定它们以及shell脚本来创建新的数据库和用户和密码。我的root用户名和密码在shell脚本中指定。 这是我的shell脚本,这是: #! / bin / sh #创建表 Maste...

6  识别网络上的多个服务器之间的SSH信任  ( Identifying ssh trusts between multiple servers on a network ) 
问题: 我们有许多DEV / QA / PROSH / SOLARIS服务器,其中许多帐户具有SSH信任,包括不同环境中的服务器(PROD-和GT; PROD,还有QA-> PROD)。我知道这是一个糟糕的做法,我想要解决的第一步是了解哪一步是要了解哪个框的帐户可以在没有密码的情况下划分的其他帐户。 我的方法将...

0  即使它已断开为毫秒shell脚本,检测网络状态  ( Detect network status even if it is disconnected for a millisecond shell script ) 
我有这个shell脚本,它不断地运行。 #!/bin/sh while true; do ping -c1 www.google.com > /dev/null; done 当我断开我的LAN电缆时,此脚本会在终端中抛出错误 ping: unknown host www.google.com 但...

0  shell脚本杀死长期运行的pids  ( Shell script to kill long running pids ) 
我希望有人可以回答有关这个shell脚本的问题,即在接管以前由其他人拥有的网站上刚刚获得的壳牌脚本。这是他们的备份修复,以捕获任何长期运行的Apache工人,他们的应用程序没有正确杀死(Web服务器只是运行这个应用程序,没有其他网站)。 如果此脚本与每分钟运行以运行,我认为它杀死 /usr/sbin/httpd p...

0  rsync shell脚本无法作为cron运行,手动运行很好  ( Rsync shell script failing to run as cron runs fine manually ) 
我有一个运行rsync的简单shell脚本。如果我从命令行手动调用它,则运行正常,但当我将其设置为Cron作业时,我会收到以下错误: rsync: failed to open exclude file exclude.txt: No such file or directory (2) rsync error:...

1  Linux shell脚本 - 是否可以捕获命令的输出并在另一个命令中使用它  ( Linux shell script is it possible to capture the output of a command and use i ) 
所以我想自动将文件上载到Rackspace的过程。这是我需要做的: 首先,我键入: curl -D - -H "X-Auth-Key: 123456789abcdefghijk" -H "X-Auth-User: MyUsername" https://au...

5  如何在Bash脚本中的文本文件中替换第6行?  ( How can i replace line 6 in a text file in a bash script ) 
我有一个由第三方软件生成的文本文件,作为构建过程的一部分。我想替换一个特定的行 - 在我的情况下,第6行。我如何在我的bash脚本中做到这一点? 我怀疑sed是我的朋友,但我现在已经陷入了困难。 我正在使用Mac OS x 10.6如果这是重要的。 ...

2  pam_exec.so PAM模块不会如文档中所述导出变量PAM_USER  ( Pam exec so pam module does not export variable pam user as stated in the docume ) 
我正在尝试使用 pam_exec.so pam模块来执行一个脚本,需要知道来自应用程序的用户名/密码(在这种情况下OpenVPN)。 我有一个脚本,它执行 printenv >>afile ,但我没有看到男性页面的所有环境变量,即pam_exec.so导出(即pam_user我认为),我只看到以下内容: PAM...

1  检查远程MySQL是否正在运行  ( Check if remote mysql is running ) 
我想要一个bash shell脚本,我可以使用cron作业运行,检查远程服务器上的mysql是否正在运行。如果是,那么,没有任何操作,其他启动服务器。 cronjob将每分钟检查远程服务器以获取实时(或不)mysql。我可以自己编写Cron作业,但我需要帮助Shell脚本检查远程MySQL是否上下或向下检查。检查...

0  Bash脚本:比较路径问题  ( Bash script compare paths issue ) 
我正在研究迭代文件列表的bash脚本。 我需要使用包含受限制路径的数组将路径与此文件进行比较。 在for循环中,我得到一个像这样的文件的路径: dname="$(dirname "$i")"; 这将返回一个相对路径,如路径/到/文件 限制路径列表存储在数组中: restricted=( path/...

1  在自己的线上与每个参数回声  ( Echo with each parameter on its own line ) 
我想要一个类似于 ls -1d 的输出,但我不想检查每个文件是否存在。我宁愿只列出文件。我可以使用回声,但Echo只会在文件之间放置一个空格。 如何在文件/参数之间返回返回? ...

2  检查如何创建$ PATH  ( Inspecting how path gets created ) 
是否可以在新壳的开始期间"侦听" 变量的值? 我有一个脚本检查典型位置中的$ path变量,但我想尝试不同的东西。这是我在想的: 而不是猜测设置$ path的位置,我想通过运行称为"路径检查器" 的命令来为背景中的用户生成一个新的shell。 Path-Inspector为当前用户产生一个新的shell,并侦听$ ...

0  无法访问upstart脚本stanzas内的源变量  ( Cant access sourced variables inside upstart script stanzas ) 
我正在尝试在upstart脚本中使用/ etc /环境中定义的变量。 我能够将变量导出到子进程,但由于某种原因我无法在Upstart脚本Stanza本身中使用它们。 此工作: script . /etc/environment export NODE_ENV # node is able ...

1  PAM:如何创建将用户名/密码传递给脚本的服务?  ( Pam how can i create a service which passes username password to a script ) 
我正在为OpenVPN设置PAM服务,使得OpenVPN PAM模块可以将用户名/密码验证到我将使用shell脚本实现的外部服务。 openVPN PAM模块状态大约是以下文档: 插件openvpn-auth-pam.so"OpenVPN 名称用户名密码密码" 虽然"用户名" 和"密码" 是 替代的特殊字...

12  通过命令行连接到MySQL而不使用root密码?  ( Connect to mysql through command line without using root password ) 
我正在为一些任务构建Bash脚本。其中一个任务是在同一Bash脚本中创建MySQL DB。我现在正在做的是创建两个var:一个用于商店用户名,另一个用于商店密码。这是我脚本的相关部分: MYSQL_USER=root MYSQL_PASS=mypass_goes_here touch /tmp/$PROY.sq...

0  如何将Postgres插入生命格导致shell变量  ( How to insert postgres result to a shell variable ) 
我想在变量中设置所有这些语法 su -l postgres -c "psql -c "CREATE DATABASE graphite WITH OWNER graphite"" CREATE DATABASE 所以我写了这个 res=$( su -l postgres -c "psql -...

0  在Solaris上监控和报告磁盘使用的最佳方法是什么?  ( What are the best ways to monitor and report disk usage on solaris ) 
df 和 du 提供了一系列的使用视图,但这些问题是它们每个用户没有分解。 有没有这样做的工具?我找到了 quot ,但仅适用于UFS。是否有相当于ZFS或NFS? 要分解使用情况,可以编写脚本。是唯一的替代方案? zfs userspace filesystem $ zfs userspace ...

1  需要脚本将stdin&stdout重定向到命名的管道  ( Need script to redirect stdin stdout to named pipes ) 
我有一个应用程序,它启动身份验证辅助程序(我的脚本),并使用stdin / stdout进行通信。 我想从这个脚本重新直接stdin和stdout到两个命名管道,用于与另一个程序交互。 e.g。: script_stdin>管道1 script_stdout<管道2 这是我试图完成的流程: [...

2  如何在不创建文件的情况下执行shell扫描  ( How to execute shell scrips without creating files ) 
如何在不创建文件的情况下执行shell脚本?例如,假设我有以下脚本( root1 ): root2 我当然可以执行以下操作: root3 我想要ovoid创建一个文件。我尝试了: root4 哪个不起作用。任何想法? ...

0  Jibri服务器与AWS AutoScaling  ( Jibri server with aws autoscaling ) 
我们配置了Jibri服务器以通过JITSI相遇录制会议。我们应该并行处理更多录制,因此我们在自动缩放模式下配置了Jibri服务器。根据CPU阈值自动缩放策略能够启动其他实例,但我们无法录制会议。我们来知道所有录制服务器(Jibri)都应该在Config.json文件中具有唯一的"昵称" ,以便可以记录会议。 在"启动...

-1  Shell脚本输出和C程序输入[已关闭]  ( Shell script output and input from c programs ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 关闭 9年前。 锁定。这个问题及其答案是锁定,因为问题是off-top,但具有历史意义。它目前没有接受新的答案或互动。 ...

1  提供网络驱动器访问Windows服务  ( Providing network drive access to a windows service ) 
我有一个Windows服务,需要访问网络驱动器。 由于Windows服务不执行交互式登录,因此无法从Active Directory用户登录脚本使用映射驱动器。 这将是为这种Windows服务提供网络驱动器的最佳安全和优雅的方式吗?帮手脚本?或者,是否有其他解决方案? / windows 2008 更新: 不幸的...

0  运行shell脚本时出错,请检查下面生成的错误  ( Error while running shell script please check the error generated below ) 
有人可以帮助我下面的脚本有什么问题。 START=$(date +%s) Sta="2 4 8 10 20 40 60 80 100 150 200 250 300 300 400 450 500" for staNodes in $Sta do ./waf --run "scratch/freeze-count...

4  简单的挖掘输出?  ( Simple dig output ) 
在脚本中,我希望能够轻松地将IP地址写入IP地址,因此我想使用挖掘(或类似的命令)与后滴答。 但是,我能够升到WRT DIG参数的最简单输出是 > dig -t A +noall +answer www.google.com www.google.com. 300 IN A 173.194.66.1...

1  #!/ usr / bin /期望不工作  ( Usr bin expect not working ) 
这可能是一个简单的问题,但是有一个简单的期望脚本,我将可执行位添加到似乎忽略#!/ usr / bin /期望解释器线。更重要的是,它似乎也是没有设置的变量,因为当我回应它们时,它们是空白的... #!/usr/bin/expect -f set device "1.1.1.1" set user "tes...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有