try:
from gluon import DAL
except ImportError as err:
print('gluon path not found')
c:\web2py> set path=%path%;c:\web2py\gluon
c:\web2py> c:\python27\python scripts\cpdb.py -d gluon -f application\app\databases -y 'sqlite://storage.sqlite' -Y 'postgres://postgres:password@localhost:5432/db_target'
db = DAL('sqlite://storage.sqlite', lazy_tables=True, migrate=True, fake_migrate=False, check_reserved=['all','mysql', 'postgres', 'postgres_nonreserved'])
db = DAL('postgres://postgres:xx@localhost:5433/yyy', lazy_tables=True, migrate=True, fake_migrate=False, check_reserved=['all','mysql', 'postgres', 'postgres_nonreserved'])
db = DAL('mysql://root:xx@localhost:3306/zzz', lazy_tables=True, migrate=True, fake_migrate=False, check_reserved=['all','mysql', 'postgres', 'postgres_nonreserved'])Thanks Mart,
--
Traceback (most recent call last):
File "/users/www-data/web2py/gluon/restricted.py", line 212, in restricted
exec ccode in environment
File "/users/www-data/web2py/applications/crm2_04_PSQL/controllers/data.py", line 13, in <module>
File "/users/www-data/web2py/gluon/globals.py", line 193, in <lambda>
self._caller = lambda f: f()
File "/users/www-data/web2py/applications/crm2_04_PSQL/controllers/data.py", line 5, in import_data
db.import_from_csv_file(open('crm0721.csv', 'rb'))
File "/users/www-data/web2py/gluon/dal.py", line 7423, in import_from_csv_file
ifile, id_map, null, unique, id_offset, *args, **kwargs)
File "/users/www-data/web2py/gluon/dal.py", line 8076, in import_from_csv_file
curr_id = self.insert(**dict(items))
File "/users/www-data/web2py/gluon/dal.py", line 7918, in insert
ret = self._db._adapter.insert(self,self._listify(fields))
File "/users/www-data/web2py/gluon/dal.py", line 1176, in insert
raise e
InternalError: Unexpected response msg <ReadyForQuery Idle in Failed Transaction>Exception during snapshot rendering: Traceback (most recent call last):
File "/users/www-data/web2py/applications/admin/views/default/ticket.html", line 160, in <module>
File "/users/www-data/web2py/gluon/globals.py", line 202, in write
self.body.write(xmlescape(data))
File "/users/www-data/web2py/gluon/html.py", line 120, in xmlescape
return data.xml()
File "/users/www-data/web2py/gluon/html.py", line 914, in xml
(fa, co) = self._xml()
File "/users/www-data/web2py/gluon/html.py", line 905, in _xml
self.components])
File "/users/www-data/web2py/gluon/html.py", line 120, in xmlescape
return data.xml()
File "/users/www-data/web2py/gluon/html.py", line 914, in xml
(fa, co) = self._xml()
File "/users/www-data/web2py/gluon/html.py", line 905, in _xml
self.components])
File "/users/www-data/web2py/gluon/html.py", line 120, in xmlescape
return data.xml()
File "/users/www-data/web2py/gluon/html.py", line 914, in xml
(fa, co) = self._xml()
File "/users/www-data/web2py/gluon/html.py", line 905, in _xml
self.components])
MemoryError
Traceback (most recent call last):
File "/users/www-data/web2py/gluon/main.py", line 632, in wsgibase
BaseAdapter.close_all_instances('rollback')
File "/users/www-data/web2py/gluon/dal.py", line 543, in close_all_instances
db._adapter.close(action)
File "/users/www-data/web2py/gluon/dal.py", line 523, in close
getattr(self, action)()
File "/users/www-data/web2py/gluon/dal.py", line 1670, in rollback
if self.connection: return self.connection.rollback()
File "/users/www-data/web2py/gluon/contrib/pg8000/dbapi.py", line 455, in _fn
return fn(self, *args, **kwargs)
File "/users/www-data/web2py/gluon/contrib/pg8000/dbapi.py", line 551, in rollback
self.conn.rollback()
File "/users/www-data/web2py/gluon/contrib/pg8000/interface.py", line 622, in rollback
self._rollback.execute()
File "/users/www-data/web2py/gluon/contrib/pg8000/interface.py", line 166, in execute
self.c.close_portal(self._portal_name)
File "/users/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 1326, in close_portal
reader.handle_messages()
File "/users/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 937, in handle_messages
raise InternalError("Unexpected response msg %r" % (msg))
InternalError: Unexpected response msg <gluon.contrib.pg8000.protocol.BindComplete object at 0xaf241a2c>
Final conclusion: memory leak confined to pg8000.
psycopg2 works fine in Windows and Linux.