All we need is an easy explanation of the problem, so here it is.
\c <database_name> in PostgreSQL will connect to the named database.
How can the name of the current database be determined?
ERROR: syntax error at or near "current_database" LINE 1: current_database();
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
current_database() returns the name of the current database:
It’s an SQL function, so you must call it as part of an SQL statement. PostgreSQL doesn’t support running functions as standalone queries, and has no
CALL statement like some other SQL engines, so you just use
SELECT to call a function.
you can use “\conninfo” in psql
prints something like
You are now connected to database "foobar" as user "squanderer".
Use this if you don’t mind creating a new connection, because this is what happens. The \connect (shortened as \c) without all parameters will create a new connection identical to your current one. The current connection is closed.
See the \connect command spec on http://www.postgresql.org/docs/9.3/static/app-psql.html :
If any of dbname, username, host or port are omitted (…)
, the value of that parameter from the previous connection is used.
SELECT * FROM current_catalog; -- and SELECT current_catalog;
…both work as well (
catalog is standard SQL for database)
PostgreSQL List Databases – To list all the databases created within PostgreSQL Server.
postgres=# \l postgres=# \list
To Check Current database you are connected to.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂