3
我已经在多个环境中安装了postgres。在每一种环境中,我都有2+数据库。Postgres创建扩展所有数据库
如果我有超级用户数据库权限,有没有办法在给定的postgres安装上为所有数据库安装CITEXT扩展?
截至目前,一旦登录到环境和postgres控制台中,我必须为每个数据库运行CREATE EXTENSION IF NOT EXISTS citext;
。
我已经在多个环境中安装了postgres。在每一种环境中,我都有2+数据库。Postgres创建扩展所有数据库
如果我有超级用户数据库权限,有没有办法在给定的postgres安装上为所有数据库安装CITEXT扩展?
截至目前,一旦登录到环境和postgres控制台中,我必须为每个数据库运行CREATE EXTENSION IF NOT EXISTS citext;
。
的CREATE
命令确实需要每个数据库单独运行,但你可以很容易地与一个shell脚本自动执行此,如:
for DB in $(psql -t -c "SELECT datname FROM pg_database WHERE datname NOT IN ('postgres', 'template0', 'template1')"); do
psql -d $DB -c "CREATE EXTENSION IF NOT EXISTS citext"
done
如果你想,只要你创建citext
在默认情况下被列入新的数据库,你也可以在template1
安装扩展。
好你包括真正的示例脚本示例。 –
你必须分别运行它agaist每个数据库。你可以做什么就是写一个bash循环来运行它反对所有dbs –