Skip to content

Commit fb57977

Browse files
committed
support citus parameters.
rm invalid postgresql log.
1 parent a7b0fe5 commit fb57977

File tree

4 files changed

+13
-5
lines changed

4 files changed

+13
-5
lines changed

image/postgresql/Dockerfile.template

-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ ENV XDG_CONFIG_HOME /var/lib/postgresql/data/auto_failover
121121
ENV XDG_DATA_HOME /var/lib/postgresql/data/auto_failover
122122
ENV ASSIST /var/lib/postgresql/data/assist
123123
ENV PGPASSFILE /var/lib/postgresql/data/assist/pgpassfile
124-
ENV LD_LIBRARY_PATH /var/lib/postgresql/lib/
125124
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/postgresql/bin
126125
ENV PGHOME /var/lib/postgresql
127126
VOLUME /var/lib/postgresql/data

image/postgresql/pgtools

+2-1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ do
6565
;;
6666
e)
6767
env_name=${OPTARG%%=*}
68+
env_name=`echo $env_name | sed 's/\./______/'`
6869
env_value=${OPTARG#*=}
6970
export "$env_name"="$env_value"
7071
;;
@@ -174,7 +175,7 @@ if [ "${do_config}" = 1 ]; then
174175
#conf_name=${conf%%=*}
175176
#conf_value=${conf#*=}
176177
#name_context=$(eval echo '$'$conf_name)
177-
echo "$conf" >> $PGDATA/postgresql.conf
178+
echo "$conf" | sed 's/______/\./' >> $PGDATA/postgresql.conf
178179
done
179180

180181
reload_postgresql

platforms/kubernetes/postgres-operator/postgres/constants.py

+1
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@
110110
# other
111111
MACHINE_MODE = "machine"
112112
K8S_MODE = "k8s"
113+
PGHOME = "/var/lib/postgresql"
113114

114115
# antiaffinity
115116
SPEC_ANTIAFFINITY = "antiaffinity"

platforms/kubernetes/postgres-operator/postgres/handle.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
LABEL_STATEFULSET_NAME,
9090
MACHINE_MODE,
9191
K8S_MODE,
92+
PGHOME,
9293
DOCKER_COMPOSE_FILE,
9394
DOCKER_COMPOSE_FILE_DATA,
9495
DOCKER_COMPOSE_ENV,
@@ -139,6 +140,7 @@
139140
DAYS,
140141
)
141142

143+
PGLOG_DIR = "log"
142144
PRIMARY_FORMATION = " --formation primary "
143145
FIELD_DELIMITER = "-"
144146
WAITING_POSTGRESQL_READY_COMMAND = ["pgtools", "-a"]
@@ -931,7 +933,7 @@ def create_postgresql(
931933
machine_env += PG_CONFIG_PREFIX + "shared_preload_libraries='citus,pgautofailover,pg_stat_statements'" + "\n"
932934
machine_env += PG_CONFIG_PREFIX + 'log_truncate_on_rotation=true' + "\n"
933935
machine_env += PG_CONFIG_PREFIX + 'logging_collector=on' + "\n"
934-
machine_env += PG_CONFIG_PREFIX + "log_directory='log'" + "\n"
936+
machine_env += PG_CONFIG_PREFIX + "log_directory='" + PGLOG_DIR + "'" + "\n"
935937
machine_env += PG_CONFIG_PREFIX + "log_filename='postgresql_%d'" + "\n"
936938
machine_env += PG_CONFIG_PREFIX + "log_line_prefix='[%m][%r][%a][%u][%d][%x][%p]'" + "\n"
937939
machine_env += PG_CONFIG_PREFIX + "log_destination='csvlog'" + "\n"
@@ -957,7 +959,7 @@ def create_postgresql(
957959
})
958960
k8s_env.append({
959961
CONTAINER_ENV_NAME: PG_CONFIG_PREFIX + "log_directory",
960-
CONTAINER_ENV_VALUE: "'log'"
962+
CONTAINER_ENV_VALUE: "'" + PGLOG_DIR + "'"
961963
})
962964
k8s_env.append({
963965
CONTAINER_ENV_NAME: PG_CONFIG_PREFIX + "log_filename",
@@ -1311,6 +1313,9 @@ def restore_postgresql(
13111313
def create_log_table(logger: logging.Logger, conn: InstanceConnection,
13121314
postgresql_major_version: int) -> None:
13131315
logger.info("create postgresql log table")
1316+
cmd = ["truncate", "--size", "0", "%s/%s/*" % (PG_DATABASE_DIR, PGLOG_DIR)]
1317+
output = exec_command(conn, cmd, logger, interrupt=False)
1318+
13141319
cmd = ["pgtools", "-q", '"create extension file_fdw"']
13151320
output = exec_command(conn, cmd, logger, interrupt=False)
13161321
if output.find("CREATE EXTENSION") == -1:
@@ -1327,7 +1332,7 @@ def create_log_table(logger: logging.Logger, conn: InstanceConnection,
13271332

13281333
for day in range(1, 32):
13291334
table_name = 'log_postgresql_' + "%02d" % day
1330-
log_filepath = "log/postgresql_" + "%02d" % day + '.csv'
1335+
log_filepath = PGLOG_DIR + "/postgresql_" + "%02d" % day + '.csv'
13311336
if postgresql_major_version == 12:
13321337
query = """ CREATE foreign TABLE %s
13331338
(
@@ -3515,6 +3520,8 @@ def update_pgpassfile(
35153520
output = exec_command(conn, cmd, logger, interrupt=False)
35163521
cmd = ["chmod", "0600", PGPASSFILE_PATH]
35173522
output = exec_command(conn, cmd, logger, interrupt=False)
3523+
cmd = ["chown", "postgres:postgres", PGPASSFILE_PATH]
3524+
output = exec_command(conn, cmd, logger, interrupt=False)
35183525
conns.free_conns()
35193526
readonly_conns.free_conns()
35203527

0 commit comments

Comments
 (0)