Thread: Connecting without specifying a database
Can PQconnectdb(), or something else, be used without specifying the dbname in the connection string? I want to connect just so that I can create a database that does not exist yet. When I don't specify the dbname, PQconnectdb() tries to connect to a database with the same name as the user, and then complains that it does not exist. Is it really necessary for each user to have an empty database like this? -- Murray Cumming murrayc@murrayc.com www.murrayc.com www.openismus.com
On Thursday 10 February 2005 06:50, Murray Cumming wrote: > Can PQconnectdb(), or something else, be used without specifying the > dbname in the connection string? I want to connect just so that I can > create a database that does not exist yet. > > When I don't specify the dbname, PQconnectdb() tries to connect to a > database with the same name as the user, and then complains that it does > not exist. Is it really necessary for each user to have an empty > database like this? Most applications choose to connect to template1 in these scenarios. -- Robert Treat Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
On Thu, Feb 10, 2005 at 12:50:23PM +0100, Murray Cumming wrote: > > Can PQconnectdb(), or something else, be used without specifying the > dbname in the connection string? I want to connect just so that I can > create a database that does not exist yet. See "Environment Variables" in the libpq chapter of the documentation: http://www.postgresql.org/docs/8.0/static/libpq-envars.html > When I don't specify the dbname, PQconnectdb() tries to connect to a > database with the same name as the user, and then complains that it does > not exist. Is it really necessary for each user to have an empty > database like this? No, but you have to connect to *some* database. As Robert Treat mentioned, you could connect to template1 if you just need to issue a CREATE DATABASE statement. -- Michael Fuhr http://www.fuhr.org/~mfuhr/