Re: psql on Mac
От | Andrej |
---|---|
Тема | Re: psql on Mac |
Дата | |
Msg-id | CACMx3pMD5E+aW+4Vc-4cHOJUy8AwJh==hGUrZVAAmFkSWs9BQw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: psql on Mac (Ozan Kahramanogullari <ozan.kah@gmail.com>) |
Список | pgsql-novice |
This is just a sneaky suspicion of mine, but have you actually created the user ozan? http://postgresguide.com/setup/users.html On Wed, 24 Oct 2018 at 04:58, Ozan Kahramanogullari <ozan.kah@gmail.com> wrote: > > Thanks, Jeff, for the explanation below. As you have pointed, I am moving the discussion to the novice list. > > Logging in as "postgres" works by using "-U". However, few other things are not clear; I apologise for the long message... > > If I want to run the "psql" for any user, for example, to create a database for the default user "ozan", this does notwork. > > Now, I have added another line to my file "ph_hba.conf". The first three lines of this file look as follows (although Iam not completely sure about the semantics this creates... My intuition is that everything should be accessible to everyonelocally, but almost nothing actually is). > > local all all trust > > local postgres postgres trust > > local all postgres trust > > XXX:src3 ozan$ psql -U ozan > > Password for user ozan: > > psql: FATAL: password authentication failed for user "ozan" > > > XXX:src3 ozan$ psql lecture > > Password: > > psql: FATAL: password authentication failed for user "ozan" > > > > XXX:src3 ozan$ psql -U postgres lecture > > psql: FATAL: database "lecture" does not exist > > > This is on a Mac. The only thing that works is the following, which is fine for messing around with sql commands: > > psql -U postgres > > Now, to combine my exercise with python, I am setting an environment variable as follows: > > export DATABASE_URL="postgres://localhost:5432/lecture" > > > I am aware that I have NOT created a database called lecture, but this was not possible as well. However, I have createdsome database, and if I list it using the "-l" switch, I get the following. > > XXX:src3 ozan$ psql -U postgres -l > > List of databases > > Name | Owner | Encoding | Collate | Ctype | Access privileges > > -----------+----------+----------+---------+-------+----------------------- > > postgres | postgres | UTF8 | C | C | > > template0 | postgres | UTF8 | C | C | =c/postgres + > > | | | | | postgres=CTc/postgres > > template1 | postgres | UTF8 | C | C | =c/postgres + > > | | | | | postgres=CTc/postgres > > (3 rows) > > > > If I run the simple python code below, I get the messy error message at the bottom with no simple explanation. > > I was convinced that I followed the instructions available out there, though there must be some setup stuff that I musthave missed. > > Can you please let me know what is missing? To be more concrete, my questions are the following: > > 1) What should I do to run the following command smoothly. > > XXX:src3 ozan$ psql lecture > > 2) How can I make my python code run without any errors? > > 3) What is the semantics of the "ph_hba.conf" lines I have inserted? > > 4) Is there any documentation that explains all this for a novice who wants to have a gentle introduction? (I have collectedbits and pieces of information from stackoverflow and other places, but it would be nice to have everything providedin a compact manner, so that one can have a smooth start.) > > Best regards, > Ozan > > ############# > import os > > from sqlalchemy import create_engine > from sqlalchemy.orm import scoped_session, sessionmaker > > engine = create_engine(os.getenv("DATABASE_URL")) > db = scoped_session(sessionmaker(bind=engine)) > > def main(): > flights = db.execute("SELECT origin, destination, duration FROM flights").fetchall() > for flight in flights: > print(f"{flight.origin} to {flight.destination}, {flight.duration} minutes.") > > if __name__ == "__main__": > main() > ############ > > > > > XXX:src3 ozan$ python list.py > > Traceback (most recent call last): > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect > > return fn() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 403, in connect > > return _ConnectionFairy._checkout(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 791, in _checkout > > fairy = _ConnectionRecord.checkout(pool) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 532, in checkout > > rec = pool._do_get() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 1196, in _do_get > > self._dec_overflow() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ > > compat.reraise(exc_type, exc_value, exc_tb) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 249, in reraise > > raise value > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get > > return self._create_connection() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection > > return _ConnectionRecord(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 477, in __init__ > > self.__connect(first_connect_check=True) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 674, in __connect > > connection = pool._invoke_creator(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect > > return dialect.connect(*cargs, **cparams) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 412, in connect > > return self.dbapi.connect(*cargs, **cparams) > > File "/anaconda3/lib/python3.7/site-packages/psycopg2/__init__.py", line 130, in connect > > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) > > psycopg2.OperationalError: fe_sendauth: no password supplied > > > > The above exception was the direct cause of the following exception: > > > Traceback (most recent call last): > > File "list.py", line 17, in <module> > > main() > > File "list.py", line 12, in main > > flights = db.execute("SELECT origin, destination, duration FROM flights").fetchall() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/scoping.py", line 153, in do > > return getattr(self.registry(), name)(*args, **kwargs) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1176, in execute > > bind, close_with_result=True).execute(clause, params or {}) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1040, in _connection_for_bind > > engine, execution_options) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 409, in _connection_for_bind > > conn = bind.contextual_connect() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2123, in contextual_connect > > self._wrap_pool_connect(self.pool.connect, None), > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect > > e, dialect, self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1476, in _handle_dbapi_exception_noconnection > > exc_info > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause > > reraise(type(exception), exception, tb=exc_tb, cause=cause) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 248, in reraise > > raise value.with_traceback(tb) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect > > return fn() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 403, in connect > > return _ConnectionFairy._checkout(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 791, in _checkout > > fairy = _ConnectionRecord.checkout(pool) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 532, in checkout > > rec = pool._do_get() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 1196, in _do_get > > self._dec_overflow() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ > > compat.reraise(exc_type, exc_value, exc_tb) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 249, in reraise > > raise value > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get > > return self._create_connection() > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection > > return _ConnectionRecord(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 477, in __init__ > > self.__connect(first_connect_check=True) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/pool.py", line 674, in __connect > > connection = pool._invoke_creator(self) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect > > return dialect.connect(*cargs, **cparams) > > File "/anaconda3/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 412, in connect > > return self.dbapi.connect(*cargs, **cparams) > > File "/anaconda3/lib/python3.7/site-packages/psycopg2/__init__.py", line 130, in connect > > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) > > sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied > > (Background on this error at: http://sqlalche.me/e/e3q8) > > > > > > On Sun, 21 Oct 2018 at 17:48, Jeff Frost <jeff.frost@gmail.com> wrote: >> >> Please don't remove the list from the Cc field. >> >> Since you set it to trust in the pg_hba.conf file, it should work for any local OS user. >> >> If you want other DB users, you need to create them. >> >> BTW, this is definitely not a bug and would have been better suited for the pgsql-novice list. >> >> On Sun, Oct 21, 2018 at 12:45 AM Ozan Kahramanogullari <ozan.kah@gmail.com> wrote: >>> >>> Thank you, this works! >>> >>> Can I make it work also for any user? >>> >>> Cheers, >>> Ozan >>> >>> >>> ========================================= >>> Ozan Kahramanoğulları, PhD >>> http://sites.google.com/site/ozankahramanogullari/ >>> ----------------------------------------------------------------------- >>> University of Trento, Department of Mathematics >>> ========================================= >>> >>> >>> On Sat, 20 Oct 2018 at 22:46, Jeff Frost <jeff.frost@gmail.com> wrote: >>>> >>>> psql -U postgres >>>> >>>> is probably what you want. >>>> >>>> On Fri, Oct 19, 2018 at 7:58 AM Ozan Kahramanogullari <ozan.kah@gmail.com> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I am behind a Mac, and I have been trying to get a local server running by following an internet tutorial (which alsouses Mac, this one<https://video.cs50.net/web/2018/spring/lectures/>). >>>>> >>>>> I simply try to run psql on the terminal, and I get various error messages, depending on how I mess up the file "pg_hba.conf",for example by adding the following lines to it, among others: >>>>> >>>>> local postgres postgres trust >>>>> local all postgres trust >>>>> >>>>> I have spent the whole morning browsing the internet to find a solution to my problem, and I also tried backtrackingfrom version 11 of PostgreSQL to version 10. I am pasting below some of the error messages that I get. The version10 warns for no support for Mac; is that the problem? >>>>> >>>>> Perhaps, it is me who hasn't been able to dig out the right information from the internet. However, I must say thatI am quite surprised that things get so tedious immediately. I will thus be glad if you could help me with getting thisrunning, perhaps by providing some up-to-date documentation. >>>>> >>>>> Thanks, >>>>> Ozan >>>>> >>>>> >>>>> XX:src3 ozan$ psql >>>>> >>>>> Password: >>>>> >>>>> sql: FATAL: password authentication failed for user "ozan" >>>>> >>>>> XX:src3 ozan$ psql >>>>> >>>>> Password: >>>>> >>>>> psql: FATAL: password authentication failed for user "ozan" >>>>> >>>>> XX:src3 ozan$ sudo -u postgres psql >>>>> >>>>> Password: >>>>> >>>>> Sorry, try again. >>>>> >>>>> Password: >>>>> >>>>> sudo: 1 incorrect password attempt >>>>> >>>>> XX:src3 ozan$ sudo -u postgres psql >>>>> >>>>> Password: >>>>> >>>>> Sorry, try again. >>>>> >>>>> Password: >>>>> >>>>> could not identify current directory: Permission denied >>>>> >>>>> Password: >>>>> >>>>> could not identify current directory: Permission denied >>>>> >>>>> psql: could not find own program executable >>>>> >>>>> XX:src3 ozan$ sudo -u postgres psql >>>>> >>>>> could not identify current directory: Permission denied >>>>> >>>>> Password: >>>>> >>>>> could not identify current directory: Permission denied >>>>> >>>>> psql: could not find own program executable >>>>> >>>>> XX:src3 ozan$ psql >>>>> >>>>> Password: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ========================================= >>>>> Ozan Kahramanoğulları, PhD >>>>> http://sites.google.com/site/ozankahramanogullari/ >>>>> ----------------------------------------------------------------------- >>>>> University of Trento, Department of Mathematics >>>>> ========================================= -- Please don't top post, and don't use HTML e-Mail :} Make your quotes concise. http://www.georgedillon.com/web/html_email_is_evil.shtml http://www.catb.org/jargon/html/email-style.html
В списке pgsql-novice по дате отправления: