当前位置: 首页>>代码示例>>Python>>正文


Python psycopg2.Error方法代码示例

本文整理汇总了Python中psycopg2.Error方法的典型用法代码示例。如果您正苦于以下问题:Python psycopg2.Error方法的具体用法?Python psycopg2.Error怎么用?Python psycopg2.Error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在psycopg2的用法示例。


在下文中一共展示了psycopg2.Error方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create_user

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def create_user(conn, username, password):
    try:
        cur = conn.cursor()
        cur.execute("SELECT passwd FROM pg_shadow WHERE usename = %s", [username])
        row = cur.fetchone()
        if row:
            m = hashlib.md5()
            m.update(password + username)
            encrypted_password = "md5" + m.hexdigest()
            if encrypted_password != row[0]:
                cur.execute("ALTER USER " + username + " ENCRYPTED PASSWORD %s SUPERUSER REPLICATION", [password])
        else:
            cur.execute("CREATE USER " + username + " WITH ENCRYPTED PASSWORD %s SUPERUSER REPLICATION", [password])
        conn.commit()
        return True
    except psycopg2.Error as e:
        print(e)
        conn.rollback()
        return False 
开发者ID:rtshome,项目名称:pgrepup,代码行数:21,代码来源:database.py

示例2: stop_subscription

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def stop_subscription(db):
    """Stop subscription in given database. Return True if success"""
    db_conn = connect('Destination', db_name=db)
    db_conn.autocommit = True
    cur = db_conn.cursor()
    try:
        while True:
            cur.execute(
                "SELECT * FROM pglogical.drop_subscription(subscription_name := %s, ifexists := true)",
                ['subscription']
            )
            if cur.fetchone()[0] == 0:
                break
            sleep(1)
    except Error:
        return False
    return True 
开发者ID:rtshome,项目名称:pgrepup,代码行数:19,代码来源:replication.py

示例3: start_subscription

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def start_subscription(db):
    db_conn = connect('Destination', db)
    db_conn.autocommit = True
    try:
        c = db_conn.cursor()
        c.execute(
            """
            SELECT pglogical.create_subscription(
                                    subscription_name := 'subscription',
                                    synchronize_structure := false,
                                    synchronize_data := true,
                                    provider_dsn := %s
            );
            """,
            [get_dsn_for_pglogical('Source', db)]
        )
        return True
    except Error:
        return False 
开发者ID:rtshome,项目名称:pgrepup,代码行数:21,代码来源:replication.py

示例4: store_setup_result

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def store_setup_result(target, db, result):
    db_conn = connect(target, db)
    if not db_conn:
        return False

    try:
        c = db_conn.cursor()
        c.execute("CREATE TABLE IF NOT EXISTS pglogical.pgrepup_setup(result BOOL NOT NULL PRIMARY KEY)")
        c.execute("TRUNCATE pglogical.pgrepup_setup")
        c.execute("INSERT INTO pglogical.pgrepup_setup VALUES (%s)", [result])
        db_conn.commit()
    except Error:
        db_conn.rollback()
        return False

    return True 
开发者ID:rtshome,项目名称:pgrepup,代码行数:18,代码来源:replication.py

示例5: get_pg_hba_contents

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def get_pg_hba_contents(conn):
    pg_hba_path = get_setting_value(conn, "hba_file")
    if not pg_hba_path:
        return None

    try:
        temp_table = "pghba_" + uuid.uuid4().hex
        cur = conn.cursor()
        cur.execute("CREATE TEMP TABLE " + temp_table + " (content text)")
        cur.execute("COPY " + temp_table + " FROM %s", [pg_hba_path])
        cur.execute("SELECT * FROM " + temp_table + ";")
        rows = cur.fetchall()
        conn.rollback()
        return rows
    except psycopg2.Error as e:
        print(e)
        return None 
开发者ID:rtshome,项目名称:pgrepup,代码行数:19,代码来源:database.py

示例6: filler_run_shim

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def filler_run_shim(self, mode):


		try:
			self.queue_filler_proc(mode)

		except KeyboardInterrupt:
			print("Saw keyboard interrupt. Breaking!")
			return

		except Exception:
			print("Error!")
			print("Error!")
			print("Error!")
			print("Error!")
			traceback.print_exc()
			with open("error %s - %s.txt" % ("rawjobdispatcher", time.time()), "w") as fp:
				fp.write("Manager crashed?\n")
				fp.write(traceback.format_exc())
			raise 
开发者ID:fake-name,项目名称:ReadableWebProxy,代码行数:22,代码来源:RawJobDispatcher.py

示例7: get_status

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def get_status(self):
		if any([tmp.is_alive() for tmp in self.fetch_procs.values()]):

			with self.count_lock:
				return "Worker: %s, alive: %s, control: %s, last_rx: %s, active_jobs: %s, jobs_out: %s, jobs_in: %s." % (
						[tmp.ident for tmp in self.fetch_procs.values()],
						[tmp.is_alive() for tmp in self.fetch_procs.values()],
						self.run_flag.value,
						self.last_rx,
						self.active_jobs,
						self.jobs_out,
						self.jobs_in,
					)



		return "Worker is none! Error!" 
开发者ID:fake-name,项目名称:ReadableWebProxy,代码行数:19,代码来源:RawJobDispatcher.py

示例8: run_shim

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def run_shim(cls, job_queue, run_flag, test_mode):

		try:
			instance = cls(job_queue, run_flag, test_mode=test_mode)
			instance.run()

		except KeyboardInterrupt:
			print("Saw keyboard interrupt. Breaking!")
			run_flag.value = 0

		except Exception:
			print("Error!")
			print("Error!")
			print("Error!")
			print("Error!")
			traceback.print_exc()
			with open("error %s - %s.txt" % ("multijobmanager", time.time()), "w") as fp:
				fp.write("Manager crashed?\n")
				fp.write(traceback.format_exc())
			raise 
开发者ID:fake-name,项目名称:ReadableWebProxy,代码行数:22,代码来源:JobDispatcher.py

示例9: populate_cache

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def populate_cache(conn):
    try:
        cursor = conn.cursor()
        cursor.execute("SELECT * FROM measurement_types")
        for row in cursor.fetchall():
            measurements_dict[row[1]] = [row[0], row[2]]
        cursor.execute("SELECT * FROM locations")
        for row in cursor.fetchall():
            locations_dict[row[1]+' '+row[3]] = row[0]
        cursor.close()
    except (Exception, psycopg2.Error) as error:
        print("Error thrown while trying to populate cache")
        print(error)
    print("Finished populating cache")

# Iterate through paginated API responses 
开发者ID:timescale,项目名称:examples,代码行数:18,代码来源:airquality_ingest.py

示例10: moveTableToSchema

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def moveTableToSchema(table, schemaName, dbConnectionParam):
    try:
        with pg.connect(dbConnectionParam) as conn:
            with conn.cursor() as cur:
                # create the schema
                cur.execute('CREATE SCHEMA IF NOT EXISTS ' + schemaName + ';')
                conn.commit()
                # move the table to the right schema
                cur.execute('ALTER TABLE ' + table + ' SET SCHEMA ' + schemaName + ';')
                conn.commit()
    except pg.Error as e:
        six.print_("Error in dealing with the database.", file=sys.stderr)
        six.print_("pg.Error ({0}): {1}".format(e.pgcode, e.pgerror), file=sys.stderr)
        six.print_(str(e), file=sys.stderr)
    except pg.Warning as w:
        six.print_("Warning from the database.", file=sys.stderr)
        six.print_("pg.Warning: {0}".format(str(w)), file=sys.stderr)

############################################################# 
开发者ID:Networks-Learning,项目名称:stackexchange-dump-to-postgres,代码行数:21,代码来源:load_into_pg.py

示例11: connect_to_master

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def connect_to_master():
    citus_host    = environ.get('CITUS_HOST', 'master')
    postgres_pass = environ.get('POSTGRES_PASSWORD', '')
    postgres_user = environ.get('POSTGRES_USER', 'postgres')
    postgres_db   = environ.get('POSTGRES_DB', postgres_user)

    conn = None
    while conn is None:
        try:
            conn = psycopg2.connect("dbname=%s user=%s host=%s password=%s" %
                                    (postgres_db, postgres_user, citus_host, postgres_pass))
        except psycopg2.OperationalError as error:
            print("Could not connect to %s, trying again in 1 second" % citus_host)
            sleep(1)
        except (Exception, psycopg2.Error) as error:
            raise error
        
    conn.autocommit = True

    print("connected to %s" % citus_host, file=stderr)

    return conn

# main logic loop for the manager 
开发者ID:citusdata,项目名称:membership-manager,代码行数:26,代码来源:manager.py

示例12: close

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def close(self):
        self.validate_thread_sharing()
        if self.connection is None:
            return

        try:
            self.connection.close()
            self.connection = None
        except Database.Error:
            # In some cases (database restart, network connection lost etc...)
            # the connection to the database is lost without giving Django a
            # notification. If we don't set self.connection to None, the error
            # will occur a every request.
            self.connection = None
            logger.warning('psycopg2 error while closing the connection.',
                exc_info=sys.exc_info()
            )
            raise 
开发者ID:blackye,项目名称:luscan-devel,代码行数:20,代码来源:base.py

示例13: server_txt_version

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def server_txt_version(self):
        """
        Human readable version of PostgreSQL (calculated from server_version)

        :rtype: str|None
        """
        try:
            conn = self.connect()
            major = int(conn.server_version / 10000)
            minor = int(conn.server_version / 100 % 100)
            patch = int(conn.server_version % 100)
            if major < 10:
                return "%d.%d.%d" % (major, minor, patch)
            if minor != 0:
                _logger.warning(
                    "Unexpected non zero minor version %s in %s",
                    minor, conn.server_version)
            return "%d.%d" % (major, patch)
        except PostgresConnectionError as e:
            _logger.debug("Error retrieving PostgreSQL version: %s",
                          force_str(e).strip())
            return None 
开发者ID:2ndquadrant-it,项目名称:barman,代码行数:24,代码来源:postgres.py

示例14: has_pgespresso

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def has_pgespresso(self):
        """
        Returns true if the `pgespresso` extension is available
        """
        try:
            # pg_extension is only available from Postgres 9.1+
            if self.server_version < 90100:
                return False
            cur = self._cursor()
            cur.execute("SELECT count(*) FROM pg_extension "
                        "WHERE extname = 'pgespresso'")
            q_result = cur.fetchone()[0]
            return q_result > 0
        except (PostgresConnectionError, psycopg2.Error) as e:
            _logger.debug("Error retrieving pgespresso information: %s",
                          force_str(e).strip())
            return None 
开发者ID:2ndquadrant-it,项目名称:barman,代码行数:19,代码来源:postgres.py

示例15: current_size

# 需要导入模块: import psycopg2 [as 别名]
# 或者: from psycopg2 import Error [as 别名]
def current_size(self):
        """
        Returns the total size of the PostgreSQL server
        (requires superuser or pg_read_all_stats)
        """
        if not self.has_backup_privileges:
            return None

        try:
            cur = self._cursor()
            cur.execute(
                "SELECT sum(pg_tablespace_size(oid)) "
                "FROM pg_tablespace")
            return cur.fetchone()[0]
        except (PostgresConnectionError, psycopg2.Error) as e:
            _logger.debug("Error retrieving PostgreSQL total size: %s",
                          force_str(e).strip())
            return None 
开发者ID:2ndquadrant-it,项目名称:barman,代码行数:20,代码来源:postgres.py


注:本文中的psycopg2.Error方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。