Thread: Re-nameing a database?
Hi all, is there an easy way to re-name a database? Best regards, Chris -- Chris Ruprecht Network grunt and bit pusher extraordinaíre _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
Can I restrict a user to a single database? It seems like any user can connect to any database. . . -Jon --- Voice: (973) 560-9095 | Internection - Electronic Commerce, Internet Cell : (973) 801-6071 | Consulting and Grade A Web Hosting Since 1995.
Chris Ruprecht <chrup999@yahoo.com> writes: > is there an easy way to re-name a database? Officially, no. Unofficially, since 7.1 it should work to UPDATE the appropriate row in pg_database. I think. Better try it on a test database... regards, tom lane
Jon, the only way I can think of doing this is by revoking the user's rights to the tables of the databases they have no business in. I know this is not exactly the answer you're looking for ... Best regards, Chris At 17:54 -0500 02/10/2002, Jon August wrote: >Can I restrict a user to a single database? It seems like any user can >connect to any database. . . > > -Jon > >--- >Voice: (973) 560-9095 | Internection - Electronic Commerce, Internet >Cell : (973) 801-6071 | Consulting and Grade A Web Hosting Since 1995. > > >---------------------------(end of broadcast)--------------------------- >TIP 5: Have you checked our extensive FAQ? > >http://www.postgresql.org/users-lounge/docs/faq.html -- Chris Ruprecht Network grunt and bit pusher extraordinaíre _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
Thanks, Tom, I will play around with it a bit. Best regards, Chris At 19:07 -0500 02/10/2002, Tom Lane wrote: >Chris Ruprecht <chrup999@yahoo.com> writes: >> is there an easy way to re-name a database? > >Officially, no. Unofficially, since 7.1 it should work to UPDATE the >appropriate row in pg_database. I think. Better try it on a test >database... > > regards, tom lane -- Chris Ruprecht Network grunt and bit pusher extraordinaíre _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
That seems like a lot of work. . . and could become easily outdated. No? How about in pg_hba.conf? There's no way to say only user xyz can connect to database abc? I tried something like this in my pg_hba.conf, but now nobody can connect to it. local all password postgres host all xxx.xxx.xxx.xxx 255.255.255.255 password postgres local shopdb password mark host shopdb xxx.xxx.xxx.xxx 255.255.255.255 password mark I was hoping this config would permit user "postgres" to connect to any database, but limit user "mark" to shopdb. Maybe I'm missing something, but isn't this a serious security problem for postgres installations used by many people - like in an ISP environment? -Jon On Sun, 10 Feb 2002, Chris Ruprecht wrote: > Jon, > > the only way I can think of doing this is by revoking the user's > rights to the tables of the databases they have no business in. > > I know this is not exactly the answer you're looking for ... > > Best regards, > Chris > > At 17:54 -0500 02/10/2002, Jon August wrote: > >Can I restrict a user to a single database? It seems like any user can > >connect to any database. . . > > > > -Jon > >
On Sun, 10 Feb 2002, Jon August wrote: > > That seems like a lot of work. . . and could become easily outdated. No? > > How about in pg_hba.conf? There's no way to say only user xyz can connect > to database abc? > > I tried something like this in my pg_hba.conf, but now nobody can connect > to it. > > local all password postgres > host all xxx.xxx.xxx.xxx 255.255.255.255 password postgres > local shopdb password mark > host shopdb xxx.xxx.xxx.xxx 255.255.255.255 password mark > > I was hoping this config would permit user "postgres" to connect to any > database, but limit user "mark" to shopdb. The final argument goes to an external file in $PGDATA that lists users (and optionally passwords) for the users that are allowed into the db.
Not in postgres, unfortunately. I'd love to be wrong. At 04:26 PM 2/10/02 -0600, Chris Ruprecht wrote: >Hi all, > >is there an easy way to re-name a database? > >Best regards, >Chris > >-- >Chris Ruprecht >Network grunt and bit pusher extraordinaíre > >_________________________________________________________ >Do You Yahoo!? >Get your free @yahoo.com address at http://mail.yahoo.com > > >---------------------------(end of broadcast)--------------------------- >TIP 6: Have you searched our list archives? > >http://archives.postgresql.org -- Naomi Walker Chief Information Officer Eldorado Computing, Inc. 602-604-3100 ext 242
On Mon, 2002-02-11 at 15:50, Naomi Walker wrote: > Not in postgres, unfortunately. I'd love to be wrong. > > At 04:26 PM 2/10/02 -0600, Chris Ruprecht wrote: > > >Hi all, > > > >is there an easy way to re-name a database? In 7.1.3, you can do it by updating the row in pg_database and then restarting the postmaster: $ psql template1 ... template1=# \l List of databases Database | Owner | Encoding -----------+----------+----------- junk | olly | SQL_ASCII ... template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII (8 rows) template1=# update pg_database set datname = 'rubbish' where datname = 'junk'; UPDATE 1 template1=# \l List of databases Database | Owner | Encoding -----------+----------+----------- rubbish | olly | SQL_ASCII ... template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII (8 rows) template1=# \c rubbish FATAL 1: Database "rubbish" does not exist in the system catalog. Previous connection kept template1=# \c junk FATAL 1: Database "junk", OID 44062648, has disappeared from pg_database Previous connection kept template1=# \q $ sudo /etc/init.d/postgresql restart Password: Restarting PostgreSQL database: postmaster Stopped /usr/lib/postgresql/bin/postmaster (pid 15397). Starting PostgreSQL postmaster. postmaster successfully started $ psql template1 ... template1=# \c rubbish You are now connected to database rubbish. rubbish=# \c junk FATAL 1: Database "junk" does not exist in the system catalog. Previous connection kept rubbish=# An alternative method would be to dump everything with pg_dumpall and then edit the dump to change the database name. -- 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
Oliver Elphick <olly@lfix.co.uk> writes: >> is there an easy way to re-name a database? > In 7.1.3, you can do it by updating the row in pg_database and then > restarting the postmaster: I don't believe a postmaster restart is required. It might be a good idea to vacuum pg_database and then force a checkpoint, however, just to make sure the updated row is out on disk and not still hanging about in a shared-memory buffer. regards, tom lane
What about through pg_hba.conf? We've set it up so to connect to a database, you must be in pg_pwd (through pg_passwd), and know the passwd. I will mention, that pg_pwd should not be clear text. Any plan to encrypt it? At 06:12 PM 2/10/02 -0600, Chris Ruprecht wrote: >Jon, > >the only way I can think of doing this is by revoking the user's rights to >the tables of the databases they have no business in. > >I know this is not exactly the answer you're looking for ... > >Best regards, >Chris > >At 17:54 -0500 02/10/2002, Jon August wrote: >>Can I restrict a user to a single database? It seems like any user can >>connect to any database. . . >> >> -Jon >> >>--- >>Voice: (973) 560-9095 | Internection - Electronic Commerce, Internet >>Cell : (973) 801-6071 | Consulting and Grade A Web Hosting Since 1995. >> >> >>---------------------------(end of broadcast)--------------------------- >>TIP 5: Have you checked our extensive FAQ? >> >>http://www.postgresql.org/users-lounge/docs/faq.html > > >-- >Chris Ruprecht >Network grunt and bit pusher extraordinaíre > >_________________________________________________________ >Do You Yahoo!? >Get your free @yahoo.com address at http://mail.yahoo.com > > >---------------------------(end of broadcast)--------------------------- >TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- Naomi Walker Chief Information Officer Eldorado Computing, Inc. 602-604-3100 ext 242