def init_db():
"""Initialize the database."""
config_data = get_config_data()
db_path = os.path.join(os.environ['SNAP_COMMON'], 'db')
if os.path.exists(db_path):
shutil.rmtree(db_path)
os.mkdir(db_path)
shutil.chown(db_path, user='nobody', group='nogroup')
log_path = os.path.join(os.environ['SNAP_COMMON'], 'log', 'postgresql.log')
if not os.path.exists(log_path):
open(log_path, 'a').close()
shutil.chown(log_path, user='nobody', group='nogroup')
def _init_db():
subprocess.check_output([
os.path.join(os.environ['SNAP'], 'bin', 'initdb'),
'-D', os.path.join(os.environ['SNAP_COMMON'], 'db'),
'-U', 'postgres', '-E', 'UTF8', '--locale=C'],
stderr=subprocess.STDOUT)
with with_postgresql():
create_db(config_data)
run_with_drop_privileges(_init_db)
评论列表
文章目录