Cha*_*d M 5 database postgresql
我在多个环境中安装了postgres.在每个环境中,我都有2个以上的数据库.
如果我拥有超级用户数据库权限,是否有办法在给定的postgres安装上为所有数据库安装CITEXT扩展?
截至目前,一旦登录到环境和postgres控制台,我必须CREATE EXTENSION IF NOT EXISTS citext;为每个数据库运行.
Nic*_*nes 15
该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
Run Code Online (Sandbox Code Playgroud)
如果您希望citext在创建新数据库时默认包含,则还可以在其中安装扩展template1.