Thread: Creating users from shell or perl script
I have written a program that will install some software, create a database, and create a couple of postgres users. Most everything is working, but I cannot see how to create postgres users with set passwords. If the script calls createuser the prompts do not come to the user, and anyway I do not want them to. I want to be able to create the user with a password and not have the person running the script see it. Right now I am trying in perl: $output = `/usr/local/pgsql/bin/createuser $New_User ` ; I have tried attaching using DBI but don't know what DB to attach to. Any hints or tips appreciated. -- Danny Aldham Providing Certified Internetworking Solutions to Business www.postino.com E-Mail, Web Servers, Web Databases, SQL PHP & Perl
On Fri, 2001-11-23 at 03:29, Danny Aldham wrote: > > I have written a program that will install some software, > create a database, and create a couple of postgres users. Most > everything is working, but I cannot see how to create postgres > users with set passwords. If the script calls createuser the > prompts do not come to the user, and anyway I do not want them to. > I want to be able to create the user with a password and not have > the person running the script see it. Right now I am trying in perl: > $output = `/usr/local/pgsql/bin/createuser $New_User ` ; You don't have to do this through the shell scripts; you can use SQL directly: CREATE USER username WITH PASSWORD 'password' > I have tried attaching using DBI but don't know what DB to attach to. You can attach to any database to do this, but template1 should always exist and should be your default choice. -- Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C "The LORD is nigh unto all them that call upon him, to all that call upon him in truth." Psalms 145:18
Attachment
At 06:59 23/11/01, you wrote: >On Fri, 2001-11-23 at 03:29, Danny Aldham wrote: > >=20 > > I have written a program that will install some software, > > create a database, and create a couple of postgres users. Most > > everything is working, but I cannot see how to create postgres > > users with set passwords. If the script calls createuser the=20 > > prompts do not come to the user, and anyway I do not want them to. > > I want to be able to create the user with a password and not have > > the person running the script see it. Right now I am trying in perl: > > $output =3D `/usr/local/pgsql/bin/createuser $New_User ` ; > >You don't have to do this through the shell scripts; you can use SQL >directly: > >CREATE USER username WITH PASSWORD 'password' If your situation is that you _have_to_ run it from the shell, you can run this single query with something like: $ psql -c "CREATE USER username WITH PASSWORD 'password'" or if you have a load of them to add and don't want to run a separate psql each time, you can read a set of queries in from a file using psql --file filename' See the section of the docs on command-line options for psql, there's loads of useful things you can do with it. best, Mo Mo Holkar Digital Mind Games -- log on to take over mo.holkar@digitalmindgames.com http://www.digitalmindgames.com